Mercurial > hg > octave-nkf
annotate libgui/src/octave-adapter/octave-main-thread.cc @ 15224:a44e4a08fc55
perform fewer actions before starting GUI
* octave.cc (forced_line_editing, read_history_file,
command_line_path, echo_executing_commands, doc_cache_file, exec_path,
image_path, info_file, info_program, no_window_system,
texi_macros_file): New file-scope static variables.
(octave_process_command_line): New function.
Process command line and set octave_cmdline_argc, octave_cmdline_argv,
forced_line_editing, and read_history_file here, not in
octave_initialize_interpreter.
(octave_initialize_interpreter): Perform actions for command line
options here instead of in command option processing loop in
octave_process_command_line.
(octave_main): Call octave_process_command_line.
* octave.h (octave_process_command_line): Provide decl.
* main.cc, main-cli.cc (main): Call octave_process_command_line.
* main.cc (main): If not starting GUI, call
octave_initialize_interpreter before calling
octave_execute_interpreter.
* main-cli.cc (main): Call octave_initialize_interpreter before
calling octave_execute_interpreter.
* octave-main-thread.cc (octave_main_thread::run): Likewise.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 23 Aug 2012 17:53:42 -0400 |
parents | 359098ad343e |
children | 80e99730e5d4 |
rev | line source |
---|---|
15204
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
1 /* |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
2 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
3 Copyright (C) 2011-2012 Jacob Dawid |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
4 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
5 This file is part of Octave. |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
6 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
7 Octave is free software; you can redistribute it and/or modify it |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
8 under the terms of the GNU General Public License as published by the |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
9 Free Software Foundation; either version 3 of the License, or (at your |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
10 option) any later version. |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
11 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
12 Octave is distributed in the hope that it will be useful, but WITHOUT |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
15 for more details. |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
16 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
17 You should have received a copy of the GNU General Public License |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
18 along with Octave; see the file COPYING. If not, see |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
19 <http://www.gnu.org/licenses/>. |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
20 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
21 */ |
13543
8d529f8103dc
Separated backend files to folder.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13541
diff
changeset
|
22 |
15155
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15137
diff
changeset
|
23 #ifdef HAVE_CONFIG_H |
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15137
diff
changeset
|
24 #include <config.h> |
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15137
diff
changeset
|
25 #endif |
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15137
diff
changeset
|
26 |
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15137
diff
changeset
|
27 #include <string> |
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15137
diff
changeset
|
28 |
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15137
diff
changeset
|
29 #include "octave.h" |
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15137
diff
changeset
|
30 |
14707
674740c44c09
Changed various files to matche file naming conventions.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14703
diff
changeset
|
31 #include "octave-main-thread.h" |
674740c44c09
Changed various files to matche file naming conventions.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14703
diff
changeset
|
32 #include "octave-link.h" |
13540
0dbf8681cd08
Seperated classes into own files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff
changeset
|
33 |
14719
89c64340e9ab
Extended event based communication model.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14709
diff
changeset
|
34 octave_main_thread::octave_main_thread () : QThread () |
13540
0dbf8681cd08
Seperated classes into own files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff
changeset
|
35 { |
0dbf8681cd08
Seperated classes into own files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff
changeset
|
36 } |
0dbf8681cd08
Seperated classes into own files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff
changeset
|
37 |
0dbf8681cd08
Seperated classes into own files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff
changeset
|
38 void |
14709
f50591409306
Started to rename class names and methods from camel case to underscore-
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14707
diff
changeset
|
39 octave_main_thread::run () |
13540
0dbf8681cd08
Seperated classes into own files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff
changeset
|
40 { |
15045
1ffaad442161
Source code formatting (80-column lines, mostly whitespace changes)
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
14879
diff
changeset
|
41 setlocale (LC_ALL, "en_US.UTF-8"); |
15224
a44e4a08fc55
perform fewer actions before starting GUI
John W. Eaton <jwe@octave.org>
parents:
15204
diff
changeset
|
42 |
15045
1ffaad442161
Source code formatting (80-column lines, mostly whitespace changes)
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
14879
diff
changeset
|
43 emit ready (); |
15224
a44e4a08fc55
perform fewer actions before starting GUI
John W. Eaton <jwe@octave.org>
parents:
15204
diff
changeset
|
44 |
a44e4a08fc55
perform fewer actions before starting GUI
John W. Eaton <jwe@octave.org>
parents:
15204
diff
changeset
|
45 octave_initialize_interpreter (octave_cmdline_argc, octave_cmdline_argv, |
a44e4a08fc55
perform fewer actions before starting GUI
John W. Eaton <jwe@octave.org>
parents:
15204
diff
changeset
|
46 octave_embedded); |
a44e4a08fc55
perform fewer actions before starting GUI
John W. Eaton <jwe@octave.org>
parents:
15204
diff
changeset
|
47 |
15137
16a6b0a6855d
GUI: support for octave arguments and integrate with run-octave.
John W. Eaton <jwe@octave.org>
parents:
15045
diff
changeset
|
48 octave_execute_interpreter (); |
13540
0dbf8681cd08
Seperated classes into own files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff
changeset
|
49 } |