diff src/main-gui.cc @ 22089:c2c668b3051b

use classes for octave application and interpreter * main-cli.cc (main): Simplify using class objects. * main-gui.cc (main): Likeiwse. * octave.h, octave.cc (octave::cmdline_options, octave::application, octave::cli_application, octave::embedded_application, octave::interpreter): New classes. Replace ordinary functions and static/global data with objects. Access global application data through application object. * octave-gui.h, octave-gui.cc (octave::gui_application): New class. Replace ordinary functions and static/global data with objects. * main-window.cc (main_window::m_app_context): New data member. (main_window::main_window): Pass application object instead of start_gui flag. (main_window::construct_octave_qt_link): Pass m_app_context to octave_qt_link constructor. * octave-interpreter.h, octave-interpreter.cc (octave_interpreter::m_app_context, octave_interpreter::m_exit_status): New data members. (octave_interpreter::execute): Use class object to start interpreter. Save exit status. * octave-qt-link.h, octave-qt-link.cc (octave_qt_link::m_app_context): New data member. (octave_qt_link::do_set_default_prompts): Make prompt settings conditional on whether the GUI is running. * input.h, input.cc (interactive, forced_interactive): Delete global data. * dirfns.cc, error.cc, input.cc, oct-stream.cc, pager.cc, sighandlers.cc, sysdep.cc, toplev.cc, lex.ll: Access interactive and forced_interactive through global application object.
author John W. Eaton <jwe@octave.org>
date Sun, 10 Jul 2016 07:15:21 -0400
parents aba2e6293dd8
children bac0d6f07a3e
line wrap: on
line diff
--- a/src/main-gui.cc	Mon Jul 11 13:45:12 2016 -0400
+++ b/src/main-gui.cc	Sun Jul 10 07:15:21 2016 -0400
@@ -35,6 +35,8 @@
 
 #include "liboctgui-build-info.h"
 
+#include "oct-env.h"
+
 #include "defaults.h"
 #include "octave.h"
 #include "octave-build-info.h"
@@ -95,13 +97,9 @@
 {
   check_hg_versions ();
 
-  octave_process_command_line (argc, argv);
-
-  sysdep_init ();
+  octave::sys::env::set_program_name (argv[0]);
 
-  install_defaults ();
+  octave::gui_application app (argc, argv);
 
-  bool start_gui = octave_starting_gui ();
-
-  return octave_start_gui (argc, argv, start_gui);
+  return app.execute ();
 }