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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 }