Mercurial > hg > octave-lyh
annotate libgui/src/octave-main-thread.cc @ 16431:5982d469f79b
use signal for setting, appending to, and clearing history widget
* history-dockwidget.h, history-dockwidget.cc
(history_dock_widget::request_history_model_update,
history_dock_widget::reset_model,
history_dock_widget::update_history_callback): Delete.
(history_dock_widget::set_history,
history_dock_widget::append_history,
history_dock_widget::clear_history): New functions.
* main-window.h, main-window.cc (main_window::update_history): Delete.
(main_window::construct): Delete connection from
_octave_qt_event_listener::update_history_signal to
main_window::update_history.
Connect _octave_qt_link::set_history_signal to
_history_dock_widget::set_history.
Connect _octave_qt_link::append_history_signal to
_history_dock_widget::append_history.
Connect _octave_qt_link::clear_history_signal to
_history_dock_widget::clear_history.
(main_window::clear_history_callback): Call Fhistory instead of
command_history::clear and _history_dock_widget->reset_model.
* octave-main-thread.cc (octave_main_thread::run): Don't call
octave_link::update_history.
* octave-qt-event-listener.h, octave-qt-event-listener.cc
(octave_qt_event_listener::update_history): Delete.
(octave_qt_event_listener::update_history_signal): Delete.
* octave-qt-link.h, octave-qt-link.cc
(octave_qt_link::do_update_history): Delete.
(octave_qt_link::do_set_history,octave_qt_link::do_append_history,
octave_qt_link::do_clear_history): New functions.
(octave_qt_link::do_post_input_event): Don't call do_update_history.
(set_history_signal, append_history_signal, clear_history_signal):
New signals.
* octave-event-listener.h (octave_event_listener::update_history):
Delete.
* input.cc (octave_base_reader::octave_gets): Call command_history::add.
* oct-hist.cc (do_history): New option, -c. Call octave_link history
functions as needed.
(initialize_history): Call octave_link::set_history.
(octave_history_write_timestamp): Call octave_link::append_history.
(Fedit_history): Document -c.
* octave-link.h (octave_link::update_history,
octave_link::do_update_history): Delete.
(octave_link::set_history, octave_link::append_history,
octave_link::clear_history, octave_link::do_set_history,
octave_link::do_append_history, octave_link::do_clear_history,
octave_link::do_pre_input_event, octave_link::do_post_input_event):
New functions.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 04 Apr 2013 13:20:43 -0400 |
parents | 81ec95768520 |
children | fe4cd846c3e7 |
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 |
15976
bbce6de5c0a5
* octave-main-thread.cc: Include <clocale> for setlocale.
Mike Miller <mtmiller@ieee.org>
parents:
15922
diff
changeset
|
27 #include <clocale> |
15155
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15137
diff
changeset
|
28 #include <string> |
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15137
diff
changeset
|
29 |
16350
d4b6ad43bc87
use direct callbacks instead to handle history and workspace list updates
John W. Eaton <jwe@octave.org>
parents:
16232
diff
changeset
|
30 #include "builtin-defun-decls.h" |
15155
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15137
diff
changeset
|
31 #include "octave.h" |
16350
d4b6ad43bc87
use direct callbacks instead to handle history and workspace list updates
John W. Eaton <jwe@octave.org>
parents:
16232
diff
changeset
|
32 #include "ov-builtin.h" |
d4b6ad43bc87
use direct callbacks instead to handle history and workspace list updates
John W. Eaton <jwe@octave.org>
parents:
16232
diff
changeset
|
33 #include "ov-fcn-handle.h" |
15155
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15137
diff
changeset
|
34 |
14707
674740c44c09
Changed various files to matche file naming conventions.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14703
diff
changeset
|
35 #include "octave-main-thread.h" |
674740c44c09
Changed various files to matche file naming conventions.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14703
diff
changeset
|
36 #include "octave-link.h" |
13540
0dbf8681cd08
Seperated classes into own files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff
changeset
|
37 |
14719
89c64340e9ab
Extended event based communication model.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14709
diff
changeset
|
38 octave_main_thread::octave_main_thread () : QThread () |
13540
0dbf8681cd08
Seperated classes into own files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff
changeset
|
39 { |
0dbf8681cd08
Seperated classes into own files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff
changeset
|
40 } |
0dbf8681cd08
Seperated classes into own files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff
changeset
|
41 |
0dbf8681cd08
Seperated classes into own files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff
changeset
|
42 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
|
43 octave_main_thread::run () |
13540
0dbf8681cd08
Seperated classes into own files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff
changeset
|
44 { |
16168
8650eec57e9f
Set LC_NUMERIC to "C" locale regardless of user value. (Matlab compatibility and bug #38372)
Rik <rik@octave.org>
parents:
15976
diff
changeset
|
45 // Matlab uses "C" locale for LC_NUMERIC class regardless of local setting |
8650eec57e9f
Set LC_NUMERIC to "C" locale regardless of user value. (Matlab compatibility and bug #38372)
Rik <rik@octave.org>
parents:
15976
diff
changeset
|
46 setlocale (LC_NUMERIC, "C"); |
15224
a44e4a08fc55
perform fewer actions before starting GUI
John W. Eaton <jwe@octave.org>
parents:
15204
diff
changeset
|
47 |
15045
1ffaad442161
Source code formatting (80-column lines, mostly whitespace changes)
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
14879
diff
changeset
|
48 emit ready (); |
15224
a44e4a08fc55
perform fewer actions before starting GUI
John W. Eaton <jwe@octave.org>
parents:
15204
diff
changeset
|
49 |
a44e4a08fc55
perform fewer actions before starting GUI
John W. Eaton <jwe@octave.org>
parents:
15204
diff
changeset
|
50 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
|
51 octave_embedded); |
a44e4a08fc55
perform fewer actions before starting GUI
John W. Eaton <jwe@octave.org>
parents:
15204
diff
changeset
|
52 |
15137
16a6b0a6855d
GUI: support for octave arguments and integrate with run-octave.
John W. Eaton <jwe@octave.org>
parents:
15045
diff
changeset
|
53 octave_execute_interpreter (); |
13540
0dbf8681cd08
Seperated classes into own files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff
changeset
|
54 } |