Mercurial > octave
annotate libinterp/corefcn/event-manager.cc @ 29503:3bfec185c9e2
experimental command window widget with server loop
This changeset provides a new experimental proof-of-concept
cross-platform command window. It is intended to demonstrate how
communication between the GUI command window and the Octave
interpreter can work when the GUI is completely responsible for user
input instead of having the interpreter wait for input inside
readline.
This initial implementation uses a simple text box for input and a
separate text edit area for output. This design is not intended to be
the final arrangement, but was easy to implement for demonstration
purposes. These changes also make it possible to run the command-line
version of Octave in a similar client-server mode with a function
gathering input in one thread and the Octave intepreter running in
another.
The new command window is not intended to provide a general-purpose
terminal window. So running something like "system ('emacs')" will not
bring up an instance of Emacs running in the command window. This
also means that it will no longer be possible to use an external
output pager such as "less" in the command window. OTOH, it is also
no longer necessary to fork and exec a separate process on some Unixy
systems when Octave starts solely to give up the controlling terminal
so that "less" will function properly.
With the new terminal window, it is now possible to start Octave in
command line mode and later open the GUI desktop window and then
return to the command line when the GUI window is closed.
Some things that need to be finished:
* Merge the input and output windows so that command input and
output are interleaved as they are in a normal command window.
* Provide real readline command editing in the GUI command window and at
the client-server CLI prompt. We can use the readline callback
interface for the GUI and the normal readline interface for the
CLI. With this design, the command widget and the CLI front end
hold a copy of the command history. They do not need to
communicate with the interpreter to navigate the command history.
* Create interpreter_event messages for handling user input so that
the interpreter can ask the GUI to gather user input for functions
like "input".
* Consider passing results back to the command widget as
octave_value objects and allowing the command widget to format and
display them instead of passing formatted text from the
interpreter to the command widget.
* Provide an output pager feature for the GUI command window? Maybe
this feature is not necessary since we have scroll bars in the GUI
and we can also have the GUI ask the user whether to display
output if it is large.
ChangeLog:
* options-usage.h (usage_string, octave_print_verbose_usage_and_exit):
Include --experimental-terminal-widget in list of options.
(EXPERIMENTAL_TERMINAL_WIDGET_OPTION): New macro.
(long_opts): Include "experimental-terminal-widget" in the list.
* octave.h, octave.cc (cmdline_options::cmdline_options):
Handle EXPERIMENTAL_TERMINAL_WIDGET_OPTION.
(cmdline_options::m_experimental_terminal_widget): New data member.
(application::experimental_terminal_widget,
cmdline_options::experimental_terminal_widget
interpreter::experimental_terminal_widget): New functions.
* main.in.cc (fork_and_exec): New static variable.
(main): Don't fork and exec if argv includes
--experimental-terminal-widget.
* interpreter-qobject.h, interpreter-qobject.cc
(interpreter_qobject::pause, interpreter_qobject::stop,
interpreter_qobject::resume): New functions.
(interpreter_qobject::execute): Don't set prompt strings here if using
the new terminal widget. If using the new terminal widget, call
interpreter::shutdown and emit the shutdown_finished signal after
interpreter::execute returns.
(interpreter_qobject::shutdown): Don't do anything if using the new
terminal widget.
* main-window.h, main-window.cc (main_window::handle_octave_ready):
Set interpreter prompt strings here if using the new terminal widget.
(main_window::close_gui_signal): New signal.
(main_window::closeEvent): If using new terminal widget and shutdown
is confirmed, simply emit close_gui_signal.
(main_window::construct_octave_qt_link): If using new terminal widget,
connect qt_interpreter_events::interpreter_output_signal to the
terminal_dock_widget::interpreter_output slot and the
qt_interpreter_events::update_prompt_signal to the
terminal_dock_widget::update_prompt slot.
* octave-qobject.h, octave-qobject.cc
(base_qobject::interpreter_pause, base_qobject::interpreter_stop,
base_qobject::interpreter_resume): New functions.
(base_qobject::base_qobject): If using new terminal widget:
Don't connect interpreter_qobject::execution_finished signal to
octave_qobject::handle_interpreter_execution_finished slot
Don't connect octave_qobject::request_interpreter_shutdown signal to
the interpreter_qobject::shutdown slot.
Do connect the qt_interpreter_events::start_gui_signal signal to the
octave_qobject::start_gui slot and simply reload settings and call
qt_application::setQuitOnLastWindowClosed. There is no need to create
the main window here.
(base_qobject::exec): If using new terminal widget, wait for main
thread to finish after qt_application::exec returns.
(base_qojbect::experimental_terminal_widget,
base_qobject::gui_running): New functions.
(base_qojbect::start_gui, base_qojbect::close_gui,
base_qojbect::interpreter_pause, base_qojbect::interpreter_stop,
base_qojbect::interpreter_resume): New slots.
(base_qojbect::handle_interpreter_execution_finished): Do nothing if
using new terminal widget.
* qt-application.cc (qt_application::start_gui_p): Return dummy value
if using new terminal widget.
* qt-interpreter-events.h, qt-interpreter-events.cc
(qt_interpreter_events::start_gui, qt_interpreter_events::close_gui,
qt_interpreter_events::interpreter_output,
qt_interpreter_events::display_exception,
qt_interpreter_events::update_prompt): New functions.
(qt_interpreter_events::start_gui_signal,
qt_interpreter_events::close_gui_signal,
qt_interpreter_events::update_prompt_signal,
qt_interpreter_events::interpreter_output_signal): New signals.
* command-widget.h, command-widget.cc: New files.
* libgui/src/module.mk: Update.
* terminal-dock-widget.h, terminal-dock-widget.cc
(terminal_dock_widget::m_experimental_terminal_widget):
New data member.
(terminal_dock_widget::terminal_dock_widget): Optionally create and
use new terminal widget. If using new terminal widget, connect
command_widget::interpreter_event signals to
terminal_dock_widget::interpreter_event signals.
(terminal_dock_widget::interpreter_output,
terminal_dock_widget::update_prompt): New slots.
(terminal_dock_widget::update_prompt_signal,
terminal_dock_widget::interpreter_output_signal): New signals.
* event-manager.h, event-manager.cc (Fdesktop): New function.
(interpreter_events::start_gui, interpreter_events::close_gui,
interpreter_events::update_prompt): New virtual functions.
(interpreter_events::confirm_shutdown): Return true.
(event_manager::start_gui, event_manager::close_gui,
event_manager::update_prompt): New functions.
* interpreter.h, interpreter.cc (interpreter::initialize): If using
new terminal widget, only display startup message if not initially
starting GUI.
(class cli_input_reader): New class.
(interpreter::experimental_terminal_widget,
interpreter::get_line_and_eval): New functions.
(interpreter::execute): If using new terminal widget, start GUI or
command line reader and then enter server loop.
* pt-eval.cc (tree_evaluator::server_loop): Reset parser at top of loop.
also catch exit exception.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 25 Mar 2021 23:06:40 -0400 |
parents | 76fdbe78884f |
children | eaf0943b7361 |
rev | line source |
---|---|
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
1 //////////////////////////////////////////////////////////////////////// |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
2 // |
29358
0a5b15007766
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
27987
diff
changeset
|
3 // Copyright (C) 2011-2021 The Octave Project Developers |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
4 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
5 // See the file COPYRIGHT.md in the top-level directory of this |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
6 // distribution or <https://octave.org/copyright/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
7 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
8 // This file is part of Octave. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
9 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
10 // Octave is free software: you can redistribute it and/or modify it |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
11 // under the terms of the GNU General Public License as published by |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
12 // the Free Software Foundation, either version 3 of the License, or |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
13 // (at your option) any later version. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
14 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
15 // Octave is distributed in the hope that it will be useful, but |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
16 // WITHOUT ANY WARRANTY; without even the implied warranty of |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
18 // GNU General Public License for more details. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
19 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
20 // You should have received a copy of the GNU General Public License |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
21 // along with Octave; see the file COPYING. If not, see |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
22 // <https://www.gnu.org/licenses/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
23 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
24 //////////////////////////////////////////////////////////////////////// |
13501 | 25 |
21724
aba2e6293dd8
use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents:
21440
diff
changeset
|
26 #if defined (HAVE_CONFIG_H) |
21301
40de9f8f23a6
Use '#include "config.h"' rather than <config.h>.
Rik <rik@octave.org>
parents:
21200
diff
changeset
|
27 # include "config.h" |
15155
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15041
diff
changeset
|
28 #endif |
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15041
diff
changeset
|
29 |
29502
76fdbe78884f
allow event manager to handle display of execution exceptions
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
30 #include <iostream> |
76fdbe78884f
allow event manager to handle display of execution exceptions
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
31 |
23976
529272d1c271
Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents:
23938
diff
changeset
|
32 #include "builtin-defun-decls.h" |
15155
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15041
diff
changeset
|
33 #include "cmd-edit.h" |
16420
81ec95768520
use octave-link instead of hook for edit function
John W. Eaton <jwe@octave.org>
parents:
16415
diff
changeset
|
34 #include "defun.h" |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
35 #include "event-manager.h" |
23976
529272d1c271
Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents:
23938
diff
changeset
|
36 #include "interpreter.h" |
23599
5cb3a2bb5e1e
don't use singleton for symbol_table
John W. Eaton <jwe@octave.org>
parents:
23457
diff
changeset
|
37 #include "interpreter-private.h" |
15155
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15041
diff
changeset
|
38 #include "oct-env.h" |
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15041
diff
changeset
|
39 #include "oct-mutex.h" |
23976
529272d1c271
Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents:
23938
diff
changeset
|
40 #include "ovl.h" |
22091
0f6fc2ec3b1a
move call_stack class to a separate file
John W. Eaton <jwe@octave.org>
parents:
21966
diff
changeset
|
41 #include "pager.h" |
26117
a6df420457ac
use symbol_info_list instead of symbol_scope to pass workspace info to gui
John W. Eaton <jwe@octave.org>
parents:
25948
diff
changeset
|
42 #include "syminfo.h" |
13501 | 43 |
29502
76fdbe78884f
allow event manager to handle display of execution exceptions
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
44 #include "quit.h" |
76fdbe78884f
allow event manager to handle display of execution exceptions
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
45 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
46 namespace octave |
14668
6a6733a55982
Removed unused classes and added octave loop hook.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14664
diff
changeset
|
47 { |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
48 static int readline_event_hook (void) |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
49 { |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
50 event_manager& evmgr = __get_event_manager__ ("octave_readline_hook"); |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
51 |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
52 evmgr.process_events (); |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
53 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
54 return 0; |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
55 } |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
56 |
29502
76fdbe78884f
allow event manager to handle display of execution exceptions
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
57 void interpreter_events::display_exception (const execution_exception& ee, |
76fdbe78884f
allow event manager to handle display of execution exceptions
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
58 bool beep) |
76fdbe78884f
allow event manager to handle display of execution exceptions
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
59 { |
76fdbe78884f
allow event manager to handle display of execution exceptions
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
60 if (beep) |
76fdbe78884f
allow event manager to handle display of execution exceptions
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
61 std::cerr << "\a"; |
76fdbe78884f
allow event manager to handle display of execution exceptions
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
62 |
76fdbe78884f
allow event manager to handle display of execution exceptions
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
63 ee.display (std::cerr); |
76fdbe78884f
allow event manager to handle display of execution exceptions
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
64 } |
76fdbe78884f
allow event manager to handle display of execution exceptions
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
65 |
27302
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27284
diff
changeset
|
66 event_manager::event_manager (interpreter& interp) |
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27284
diff
changeset
|
67 : m_interpreter (interp), instance (nullptr), |
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27284
diff
changeset
|
68 event_queue_mutex (new mutex ()), gui_event_queue (), |
5f170ea12fa1
use Qt signals to pass interpreter callbacks to octave-qobject
John W. Eaton <jwe@octave.org>
parents:
27284
diff
changeset
|
69 debugging (false), link_enabled (false) |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
70 { |
29282
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
71 push_event_queue (); |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
72 command_editor::add_event_hook (readline_event_hook); |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
73 } |
15371
eec0d1fcba4f
use Octave singleton style for octave_link class
John W. Eaton <jwe@octave.org>
parents:
15204
diff
changeset
|
74 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
75 event_manager::~event_manager (void) |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
76 { |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
77 delete event_queue_mutex; |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
78 } |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
79 |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
80 // Programming Note: It is possible to disable the link without deleting |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
81 // the connection. This allows it to be temporarily disabled. But if |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
82 // the link is removed, we also set the link_enabled flag to false |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
83 // because if there is no link, it can't be enabled. Also, access to |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
84 // instance is only protected by a check on the link_enabled flag. |
14668
6a6733a55982
Removed unused classes and added octave loop hook.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14664
diff
changeset
|
85 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
86 void |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
87 event_manager::connect_link (const std::shared_ptr<interpreter_events>& obj) |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
88 { |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
89 if (! obj) |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
90 disable (); |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
91 |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
92 instance = obj; |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
93 } |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
94 |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
95 bool event_manager::enable (void) |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
96 { |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
97 bool retval = link_enabled; |
15371
eec0d1fcba4f
use Octave singleton style for octave_link class
John W. Eaton <jwe@octave.org>
parents:
15204
diff
changeset
|
98 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
99 if (instance) |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
100 link_enabled = true; |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
101 else |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
102 warning ("event_manager: must have connected link to enable"); |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
103 |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
104 return retval; |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
105 } |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
106 |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
107 void event_manager::process_events (bool disable_flag) |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
108 { |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
109 if (enabled ()) |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
110 { |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
111 if (disable_flag) |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
112 disable (); |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
113 |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
114 event_queue_mutex->lock (); |
29282
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
115 std::shared_ptr<event_queue> evq = gui_event_queue.top (); |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
116 event_queue_mutex->unlock (); |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
117 |
29282
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
118 evq->run (); |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
119 } |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
120 } |
21440
062c65569ad7
avoid some address-sanitizer leak warnings (bug #47372)
John W. Eaton <jwe@octave.org>
parents:
21301
diff
changeset
|
121 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
122 void event_manager::discard_events (void) |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
123 { |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
124 if (enabled ()) |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
125 { |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
126 event_queue_mutex->lock (); |
29282
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
127 std::shared_ptr<event_queue> evq = gui_event_queue.top (); |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
128 event_queue_mutex->unlock (); |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
129 |
29282
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
130 evq->discard (); |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
131 } |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
132 } |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
133 |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
134 void event_manager::push_event_queue (void) |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
135 { |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
136 std::shared_ptr<event_queue> evq (new event_queue ()); |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
137 gui_event_queue.push (evq); |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
138 } |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
139 |
29282
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
140 void event_manager::pop_event_queue (void) |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
141 { |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
142 // FIXME: Should we worry about the possibility of events remaining |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
143 // in the queue when we pop back to the previous queue? If so, then |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
144 // we will probably want to push them on to the front of the |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
145 // previous queue so they will be executed before any other events |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
146 // that were in the previous queue. This case could happen if |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
147 // graphics callback functions were added to the event queue during a |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
148 // debug session just after a dbcont command was added but before it |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
149 // executed and brought us here, for example. |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
150 |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
151 std::shared_ptr<event_queue> evq = gui_event_queue.top (); |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
152 gui_event_queue.pop (); |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
153 } |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
154 |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
155 void event_manager::post_event (const fcn_callback& fcn) |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
156 { |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
157 if (enabled ()) |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
158 { |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
159 std::shared_ptr<event_queue> evq = gui_event_queue.top (); |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
160 evq->add (fcn); |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
161 } |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
162 } |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
163 |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
164 void event_manager::post_event (const meth_callback& meth) |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
165 { |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
166 if (enabled ()) |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
167 { |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
168 std::shared_ptr<event_queue> evq = gui_event_queue.top (); |
0280fd549502
make debugging possible in server mode
John W. Eaton <jwe@octave.org>
parents:
29057
diff
changeset
|
169 evq->add (std::bind (meth, std::ref (m_interpreter))); |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
170 } |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
171 } |
27260
5ac60319575b
separate octave_link event queue from events and actions
John W. Eaton <jwe@octave.org>
parents:
27259
diff
changeset
|
172 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
173 void event_manager::set_workspace (void) |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
174 { |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
175 if (enabled ()) |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
176 { |
27444
160930a3e5ee
eliminate some calls to global __get_SUBSYSTEM__ functions
John W. Eaton <jwe@octave.org>
parents:
27302
diff
changeset
|
177 tree_evaluator& tw = m_interpreter.get_evaluator (); |
27260
5ac60319575b
separate octave_link event queue from events and actions
John W. Eaton <jwe@octave.org>
parents:
27259
diff
changeset
|
178 |
27284
1a8762e5662b
remove "do_" prefix from interpreter_events class methods
John W. Eaton <jwe@octave.org>
parents:
27264
diff
changeset
|
179 instance->set_workspace (tw.at_top_level (), debugging, |
1a8762e5662b
remove "do_" prefix from interpreter_events class methods
John W. Eaton <jwe@octave.org>
parents:
27264
diff
changeset
|
180 tw.get_symbol_info (), true); |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
181 } |
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
182 } |
27260
5ac60319575b
separate octave_link event queue from events and actions
John W. Eaton <jwe@octave.org>
parents:
27259
diff
changeset
|
183 } |
5ac60319575b
separate octave_link event queue from events and actions
John W. Eaton <jwe@octave.org>
parents:
27259
diff
changeset
|
184 |
29503
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
185 // FIXME: Should the following function be __event_manager_desktop__ |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
186 // with the desktop function implemented in a .m file, similar to the |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
187 // way the UI* functions work? |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
188 |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
189 DEFMETHOD (desktop, interp, , , |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
190 doc: /* -*- texinfo -*- |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
191 @deftypefn {} {} desktop () |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
192 If running in command-line mode, start the GUI desktop. |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
193 @end deftypefn */) |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
194 { |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
195 if (interp.experimental_terminal_widget ()) |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
196 { |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
197 if (! octave::application::is_gui_running ()) |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
198 { |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
199 // FIXME: Currently, the following action is queued and |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
200 // executed in a Qt event loop and we return immediately to |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
201 // the command prompt where additional commands may be |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
202 // executed. Is that what should happen? Or should we be |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
203 // waiting until the GUI exits to return to the command |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
204 // prompt, similar to the way the UI* functions work? |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
205 |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
206 octave::event_manager& evmgr = interp.get_event_manager (); |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
207 |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
208 evmgr.start_gui (); |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
209 } |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
210 else |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
211 warning ("GUI desktop is already running"); |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
212 } |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
213 else |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
214 error ("desktop function requires new experimental terminal widget"); |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
215 |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
216 return ovl (); |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
217 } |
3bfec185c9e2
experimental command window widget with server loop
John W. Eaton <jwe@octave.org>
parents:
29502
diff
changeset
|
218 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
219 DEFMETHOD (__event_manager_enabled__, interp, , , |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
220 doc: /* -*- texinfo -*- |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
221 @deftypefn {} {} __event_manager_enabled__ () |
21966
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21837
diff
changeset
|
222 Undocumented internal function. |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21837
diff
changeset
|
223 @end deftypefn */) |
16552
8fc1f6535380
new function, __octave_link_enabled__
John W. Eaton <jwe@octave.org>
parents:
16551
diff
changeset
|
224 { |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
225 octave::event_manager& evmgr = interp.get_event_manager (); |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
226 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
227 return ovl (evmgr.enabled ()); |
16552
8fc1f6535380
new function, __octave_link_enabled__
John W. Eaton <jwe@octave.org>
parents:
16551
diff
changeset
|
228 } |
8fc1f6535380
new function, __octave_link_enabled__
John W. Eaton <jwe@octave.org>
parents:
16551
diff
changeset
|
229 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
230 DEFMETHOD (__event_manager_edit_file__, interp, args, , |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
231 doc: /* -*- texinfo -*- |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
232 @deftypefn {} {} __event_manager_edit_file__ (@var{file}) |
21966
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21837
diff
changeset
|
233 Undocumented internal function. |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21837
diff
changeset
|
234 @end deftypefn */) |
16420
81ec95768520
use octave-link instead of hook for edit function
John W. Eaton <jwe@octave.org>
parents:
16415
diff
changeset
|
235 { |
81ec95768520
use octave-link instead of hook for edit function
John W. Eaton <jwe@octave.org>
parents:
16415
diff
changeset
|
236 octave_value retval; |
81ec95768520
use octave-link instead of hook for edit function
John W. Eaton <jwe@octave.org>
parents:
16415
diff
changeset
|
237 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
238 octave::event_manager& evmgr = interp.get_event_manager (); |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
239 |
16420
81ec95768520
use octave-link instead of hook for edit function
John W. Eaton <jwe@octave.org>
parents:
16415
diff
changeset
|
240 if (args.length () == 1) |
81ec95768520
use octave-link instead of hook for edit function
John W. Eaton <jwe@octave.org>
parents:
16415
diff
changeset
|
241 { |
27264
378d3c91f85b
style fixes for event_manager classes
John W. Eaton <jwe@octave.org>
parents:
27263
diff
changeset
|
242 std::string file |
378d3c91f85b
style fixes for event_manager classes
John W. Eaton <jwe@octave.org>
parents:
27263
diff
changeset
|
243 = args(0).xstring_value ("first argument must be filename"); |
16420
81ec95768520
use octave-link instead of hook for edit function
John W. Eaton <jwe@octave.org>
parents:
16415
diff
changeset
|
244 |
23060
baf03cdb28b5
move pager and diary classes into octave namespace
John W. Eaton <jwe@octave.org>
parents:
23057
diff
changeset
|
245 octave::flush_stdout (); |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
246 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
247 retval = evmgr.edit_file (file); |
16420
81ec95768520
use octave-link instead of hook for edit function
John W. Eaton <jwe@octave.org>
parents:
16415
diff
changeset
|
248 } |
17884
766ad9be2966
Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents:
17787
diff
changeset
|
249 else if (args.length () == 2) |
766ad9be2966
Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents:
17787
diff
changeset
|
250 { |
27264
378d3c91f85b
style fixes for event_manager classes
John W. Eaton <jwe@octave.org>
parents:
27263
diff
changeset
|
251 std::string file |
378d3c91f85b
style fixes for event_manager classes
John W. Eaton <jwe@octave.org>
parents:
27263
diff
changeset
|
252 = args(0).xstring_value ("first argument must be filename"); |
17884
766ad9be2966
Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents:
17787
diff
changeset
|
253 |
23060
baf03cdb28b5
move pager and diary classes into octave namespace
John W. Eaton <jwe@octave.org>
parents:
23057
diff
changeset
|
254 octave::flush_stdout (); |
17884
766ad9be2966
Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents:
17787
diff
changeset
|
255 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
256 retval = evmgr.prompt_new_edit_file (file); |
17884
766ad9be2966
Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents:
17787
diff
changeset
|
257 } |
16420
81ec95768520
use octave-link instead of hook for edit function
John W. Eaton <jwe@octave.org>
parents:
16415
diff
changeset
|
258 |
81ec95768520
use octave-link instead of hook for edit function
John W. Eaton <jwe@octave.org>
parents:
16415
diff
changeset
|
259 return retval; |
81ec95768520
use octave-link instead of hook for edit function
John W. Eaton <jwe@octave.org>
parents:
16415
diff
changeset
|
260 } |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
261 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
262 DEFMETHOD (__event_manager_question_dialog__, interp, args, , |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
263 doc: /* -*- texinfo -*- |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
264 @deftypefn {} {} __event_manager_question_dialog__ (@var{msg}, @var{title}, @var{btn1}, @var{btn2}, @var{btn3}, @var{default}) |
21966
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21837
diff
changeset
|
265 Undocumented internal function. |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21837
diff
changeset
|
266 @end deftypefn */) |
16551
6ae555fc8c43
Add questdlg dialog function and fix variety of dialog bugs.
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
16524
diff
changeset
|
267 { |
6ae555fc8c43
Add questdlg dialog function and fix variety of dialog bugs.
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
16524
diff
changeset
|
268 octave_value retval; |
6ae555fc8c43
Add questdlg dialog function and fix variety of dialog bugs.
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
16524
diff
changeset
|
269 |
6ae555fc8c43
Add questdlg dialog function and fix variety of dialog bugs.
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
16524
diff
changeset
|
270 if (args.length () == 6) |
6ae555fc8c43
Add questdlg dialog function and fix variety of dialog bugs.
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
16524
diff
changeset
|
271 { |
20700
68e3a747ca02
rename octave_value value extractors that accept error message args
John W. Eaton <jwe@octave.org>
parents:
20667
diff
changeset
|
272 std::string msg = args(0).xstring_value ("invalid arguments"); |
68e3a747ca02
rename octave_value value extractors that accept error message args
John W. Eaton <jwe@octave.org>
parents:
20667
diff
changeset
|
273 std::string title = args(1).xstring_value ("invalid arguments"); |
68e3a747ca02
rename octave_value value extractors that accept error message args
John W. Eaton <jwe@octave.org>
parents:
20667
diff
changeset
|
274 std::string btn1 = args(2).xstring_value ("invalid arguments"); |
68e3a747ca02
rename octave_value value extractors that accept error message args
John W. Eaton <jwe@octave.org>
parents:
20667
diff
changeset
|
275 std::string btn2 = args(3).xstring_value ("invalid arguments"); |
68e3a747ca02
rename octave_value value extractors that accept error message args
John W. Eaton <jwe@octave.org>
parents:
20667
diff
changeset
|
276 std::string btn3 = args(4).xstring_value ("invalid arguments"); |
68e3a747ca02
rename octave_value value extractors that accept error message args
John W. Eaton <jwe@octave.org>
parents:
20667
diff
changeset
|
277 std::string btndef = args(5).xstring_value ("invalid arguments"); |
16551
6ae555fc8c43
Add questdlg dialog function and fix variety of dialog bugs.
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
16524
diff
changeset
|
278 |
23060
baf03cdb28b5
move pager and diary classes into octave namespace
John W. Eaton <jwe@octave.org>
parents:
23057
diff
changeset
|
279 octave::flush_stdout (); |
16551
6ae555fc8c43
Add questdlg dialog function and fix variety of dialog bugs.
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
16524
diff
changeset
|
280 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
281 octave::event_manager& evmgr = interp.get_event_manager (); |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
282 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
283 retval = evmgr.question_dialog (msg, title, btn1, btn2, btn3, btndef); |
16551
6ae555fc8c43
Add questdlg dialog function and fix variety of dialog bugs.
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
16524
diff
changeset
|
284 } |
6ae555fc8c43
Add questdlg dialog function and fix variety of dialog bugs.
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
16524
diff
changeset
|
285 |
6ae555fc8c43
Add questdlg dialog function and fix variety of dialog bugs.
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
16524
diff
changeset
|
286 return retval; |
6ae555fc8c43
Add questdlg dialog function and fix variety of dialog bugs.
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
16524
diff
changeset
|
287 } |
6ae555fc8c43
Add questdlg dialog function and fix variety of dialog bugs.
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
16524
diff
changeset
|
288 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
289 DEFMETHOD (__event_manager_file_dialog__, interp, args, , |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
290 doc: /* -*- texinfo -*- |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
291 @deftypefn {} {} __event_manager_file_dialog__ (@var{filterlist}, @var{title}, @var{filename}, @var{size} @var{multiselect}, @var{pathname}) |
21966
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21837
diff
changeset
|
292 Undocumented internal function. |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21837
diff
changeset
|
293 @end deftypefn */) |
16579
7f8db1942dc0
Add Qt link uigetfile dialog implementation.
John Donoghue <john.donoghue@ieee.org>
parents:
16552
diff
changeset
|
294 { |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
295 if (args.length () != 6) |
20941
a4f5da7c5463
maint: Replace "octave_value_list ()" with "ovl ()".
Rik <rik@octave.org>
parents:
20898
diff
changeset
|
296 return ovl (); |
16579
7f8db1942dc0
Add Qt link uigetfile dialog implementation.
John Donoghue <john.donoghue@ieee.org>
parents:
16552
diff
changeset
|
297 |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
298 octave_value_list retval (3); |
16579
7f8db1942dc0
Add Qt link uigetfile dialog implementation.
John Donoghue <john.donoghue@ieee.org>
parents:
16552
diff
changeset
|
299 |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
300 const Array<std::string> flist = args(0).cellstr_value (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
301 std::string title = args(1).string_value (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
302 std::string filename = args(2).string_value (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
303 Matrix pos = args(3).matrix_value (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
304 std::string multi_on = args(4).string_value (); // on, off, create |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
305 std::string pathname = args(5).string_value (); |
16579
7f8db1942dc0
Add Qt link uigetfile dialog implementation.
John Donoghue <john.donoghue@ieee.org>
parents:
16552
diff
changeset
|
306 |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
307 octave_idx_type nel; |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
308 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
309 octave::event_manager::filter_list filter_lst; |
16579
7f8db1942dc0
Add Qt link uigetfile dialog implementation.
John Donoghue <john.donoghue@ieee.org>
parents:
16552
diff
changeset
|
310 |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
311 for (octave_idx_type i = 0; i < flist.rows (); i++) |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
312 filter_lst.push_back (std::make_pair (flist(i,0), |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
313 (flist.columns () > 1 |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
314 ? flist(i,1) : ""))); |
16579
7f8db1942dc0
Add Qt link uigetfile dialog implementation.
John Donoghue <john.donoghue@ieee.org>
parents:
16552
diff
changeset
|
315 |
23060
baf03cdb28b5
move pager and diary classes into octave namespace
John W. Eaton <jwe@octave.org>
parents:
23057
diff
changeset
|
316 octave::flush_stdout (); |
16580
adc150db1809
style fixes for uigetfile changes
John W. Eaton <jwe@octave.org>
parents:
16579
diff
changeset
|
317 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
318 octave::event_manager& evmgr = interp.get_event_manager (); |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
319 |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
320 std::list<std::string> items_lst |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
321 = evmgr.file_dialog (filter_lst, title, filename, pathname, multi_on); |
20667
8742e0b1cc49
eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents:
20581
diff
changeset
|
322 |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
323 nel = items_lst.size (); |
16579
7f8db1942dc0
Add Qt link uigetfile dialog implementation.
John Donoghue <john.donoghue@ieee.org>
parents:
16552
diff
changeset
|
324 |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
325 // If 3, then retval is filename, directory, and selected index. |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
326 if (nel <= 3) |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
327 { |
21836
2049e123bf7b
uigetdir, uigetfile, uiputfile: Return zeros when user cancels (bug #48171)
Mike Miller <mtmiller@octave.org>
parents:
21748
diff
changeset
|
328 if (items_lst.front ().empty ()) |
21837
3ef630a564f8
Clean up C++ code for F__octave_link_file_dialog__.
Rik <rik@octave.org>
parents:
21836
diff
changeset
|
329 retval = ovl (octave_value (0.), octave_value (0.), octave_value (0.)); |
21836
2049e123bf7b
uigetdir, uigetfile, uiputfile: Return zeros when user cancels (bug #48171)
Mike Miller <mtmiller@octave.org>
parents:
21748
diff
changeset
|
330 else |
21837
3ef630a564f8
Clean up C++ code for F__octave_link_file_dialog__.
Rik <rik@octave.org>
parents:
21836
diff
changeset
|
331 { |
3ef630a564f8
Clean up C++ code for F__octave_link_file_dialog__.
Rik <rik@octave.org>
parents:
21836
diff
changeset
|
332 int idx = 0; |
22862
e365e87371a3
maint: Use C++ range feature to simplify some for loops in libinterp/corefcn.
Rik <rik@octave.org>
parents:
22755
diff
changeset
|
333 for (auto& str : items_lst) |
21837
3ef630a564f8
Clean up C++ code for F__octave_link_file_dialog__.
Rik <rik@octave.org>
parents:
21836
diff
changeset
|
334 { |
3ef630a564f8
Clean up C++ code for F__octave_link_file_dialog__.
Rik <rik@octave.org>
parents:
21836
diff
changeset
|
335 if (idx != 2) |
22862
e365e87371a3
maint: Use C++ range feature to simplify some for loops in libinterp/corefcn.
Rik <rik@octave.org>
parents:
22755
diff
changeset
|
336 retval(idx++) = str; |
21837
3ef630a564f8
Clean up C++ code for F__octave_link_file_dialog__.
Rik <rik@octave.org>
parents:
21836
diff
changeset
|
337 else |
22862
e365e87371a3
maint: Use C++ range feature to simplify some for loops in libinterp/corefcn.
Rik <rik@octave.org>
parents:
22755
diff
changeset
|
338 retval(idx++) = atoi (str.c_str ()); |
21837
3ef630a564f8
Clean up C++ code for F__octave_link_file_dialog__.
Rik <rik@octave.org>
parents:
21836
diff
changeset
|
339 } |
3ef630a564f8
Clean up C++ code for F__octave_link_file_dialog__.
Rik <rik@octave.org>
parents:
21836
diff
changeset
|
340 } |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
341 } |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
342 else |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
343 { |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
344 // Multiple files. |
21837
3ef630a564f8
Clean up C++ code for F__octave_link_file_dialog__.
Rik <rik@octave.org>
parents:
21836
diff
changeset
|
345 nel -= 2; |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
346 Cell items (dim_vector (1, nel)); |
20667
8742e0b1cc49
eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents:
20581
diff
changeset
|
347 |
25337
3ff9192b676e
use auto keyword to declare iterator variables where possible
John W. Eaton <jwe@octave.org>
parents:
25060
diff
changeset
|
348 auto it = items_lst.begin (); |
20667
8742e0b1cc49
eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents:
20581
diff
changeset
|
349 |
21837
3ef630a564f8
Clean up C++ code for F__octave_link_file_dialog__.
Rik <rik@octave.org>
parents:
21836
diff
changeset
|
350 for (int idx = 0; idx < nel; idx++, it++) |
3ef630a564f8
Clean up C++ code for F__octave_link_file_dialog__.
Rik <rik@octave.org>
parents:
21836
diff
changeset
|
351 items.xelem (idx) = *it; |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
352 |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
353 retval = ovl (items, *it++, atoi (it->c_str ())); |
16580
adc150db1809
style fixes for uigetfile changes
John W. Eaton <jwe@octave.org>
parents:
16579
diff
changeset
|
354 } |
16579
7f8db1942dc0
Add Qt link uigetfile dialog implementation.
John Donoghue <john.donoghue@ieee.org>
parents:
16552
diff
changeset
|
355 |
7f8db1942dc0
Add Qt link uigetfile dialog implementation.
John Donoghue <john.donoghue@ieee.org>
parents:
16552
diff
changeset
|
356 return retval; |
7f8db1942dc0
Add Qt link uigetfile dialog implementation.
John Donoghue <john.donoghue@ieee.org>
parents:
16552
diff
changeset
|
357 } |
7f8db1942dc0
Add Qt link uigetfile dialog implementation.
John Donoghue <john.donoghue@ieee.org>
parents:
16552
diff
changeset
|
358 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
359 DEFMETHOD (__event_manager_list_dialog__, interp, args, , |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
360 doc: /* -*- texinfo -*- |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
361 @deftypefn {} {} __event_manager_list_dialog__ (@var{list}, @var{mode}, @var{size}, @var{initial}, @var{name}, @var{prompt}, @var{ok_string}, @var{cancel_string}) |
21966
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21837
diff
changeset
|
362 Undocumented internal function. |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21837
diff
changeset
|
363 @end deftypefn */) |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
364 { |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
365 if (args.length () != 8) |
20941
a4f5da7c5463
maint: Replace "octave_value_list ()" with "ovl ()".
Rik <rik@octave.org>
parents:
20898
diff
changeset
|
366 return ovl (); |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
367 |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
368 Cell list = args(0).cell_value (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
369 const Array<std::string> tlist = list.cellstr_value (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
370 octave_idx_type nel = tlist.numel (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
371 std::list<std::string> list_lst; |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
372 for (octave_idx_type i = 0; i < nel; i++) |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
373 list_lst.push_back (tlist(i)); |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
374 |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
375 std::string mode = args(1).string_value (); |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
376 |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
377 Matrix size_matrix = args(2).matrix_value (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
378 int width = size_matrix(0); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
379 int height = size_matrix(1); |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
380 |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
381 Matrix initial_matrix = args(3).matrix_value (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
382 nel = initial_matrix.numel (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
383 std::list<int> initial_lst; |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
384 for (octave_idx_type i = 0; i < nel; i++) |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
385 initial_lst.push_back (initial_matrix(i)); |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
386 |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
387 std::string name = args(4).string_value (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
388 list = args(5).cell_value (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
389 const Array<std::string> plist = list.cellstr_value (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
390 nel = plist.numel (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
391 std::list<std::string> prompt_lst; |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
392 for (octave_idx_type i = 0; i < nel; i++) |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
393 prompt_lst.push_back (plist(i)); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
394 std::string ok_string = args(6).string_value (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
395 std::string cancel_string = args(7).string_value (); |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
396 |
23060
baf03cdb28b5
move pager and diary classes into octave namespace
John W. Eaton <jwe@octave.org>
parents:
23057
diff
changeset
|
397 octave::flush_stdout (); |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
398 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
399 octave::event_manager& evmgr = interp.get_event_manager (); |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
400 |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
401 std::pair<std::list<int>, int> result |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
402 = evmgr.list_dialog (list_lst, mode, width, height, initial_lst, |
27932
b018f553fd85
maint: Use Octave coding conventions in libinterp/
Rik <rik@octave.org>
parents:
27923
diff
changeset
|
403 name, prompt_lst, ok_string, cancel_string); |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
404 |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
405 std::list<int> items_lst = result.first; |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
406 nel = items_lst.size (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
407 Matrix items (dim_vector (1, nel)); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
408 octave_idx_type i = 0; |
22862
e365e87371a3
maint: Use C++ range feature to simplify some for loops in libinterp/corefcn.
Rik <rik@octave.org>
parents:
22755
diff
changeset
|
409 for (const auto& int_el : items_lst) |
e365e87371a3
maint: Use C++ range feature to simplify some for loops in libinterp/corefcn.
Rik <rik@octave.org>
parents:
22755
diff
changeset
|
410 items.xelem(i++) = int_el; |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
411 |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
412 return ovl (items, result.second); |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
413 } |
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
414 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
415 DEFMETHOD (__event_manager_input_dialog__, interp, args, , |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
416 doc: /* -*- texinfo -*- |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
417 @deftypefn {} {} __event_manager_input_dialog__ (@var{prompt}, @var{title}, @var{rowscols}, @var{defaults}) |
21966
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21837
diff
changeset
|
418 Undocumented internal function. |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21837
diff
changeset
|
419 @end deftypefn */) |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
420 { |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
421 if (args.length () != 4) |
20941
a4f5da7c5463
maint: Replace "octave_value_list ()" with "ovl ()".
Rik <rik@octave.org>
parents:
20898
diff
changeset
|
422 return ovl (); |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
423 |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
424 Cell prompt = args(0).cell_value (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
425 Array<std::string> tmp = prompt.cellstr_value (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
426 octave_idx_type nel = tmp.numel (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
427 std::list<std::string> prompt_lst; |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
428 for (octave_idx_type i = 0; i < nel; i++) |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
429 prompt_lst.push_back (tmp(i)); |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
430 |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
431 std::string title = args(1).string_value (); |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
432 |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
433 Matrix rc = args(2).matrix_value (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
434 nel = rc.rows (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
435 std::list<float> nr; |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
436 std::list<float> nc; |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
437 for (octave_idx_type i = 0; i < nel; i++) |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
438 { |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
439 nr.push_back (rc(i,0)); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
440 nc.push_back (rc(i,1)); |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
441 } |
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
442 |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
443 Cell defaults = args(3).cell_value (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
444 tmp = defaults.cellstr_value (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
445 nel = tmp.numel (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
446 std::list<std::string> defaults_lst; |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
447 for (octave_idx_type i = 0; i < nel; i++) |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
448 defaults_lst.push_back (tmp(i)); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
449 |
23060
baf03cdb28b5
move pager and diary classes into octave namespace
John W. Eaton <jwe@octave.org>
parents:
23057
diff
changeset
|
450 octave::flush_stdout (); |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
451 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
452 octave::event_manager& evmgr = interp.get_event_manager (); |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
453 |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
454 std::list<std::string> items_lst |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
455 = evmgr.input_dialog (prompt_lst, title, nr, nc, defaults_lst); |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
456 |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
457 nel = items_lst.size (); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
458 Cell items (dim_vector (nel, 1)); |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
459 octave_idx_type i = 0; |
22862
e365e87371a3
maint: Use C++ range feature to simplify some for loops in libinterp/corefcn.
Rik <rik@octave.org>
parents:
22755
diff
changeset
|
460 for (const auto& str_el : items_lst) |
e365e87371a3
maint: Use C++ range feature to simplify some for loops in libinterp/corefcn.
Rik <rik@octave.org>
parents:
22755
diff
changeset
|
461 items.xelem(i++) = str_el; |
20898
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
462 |
8da80da1ac37
maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents:
20892
diff
changeset
|
463 return ovl (items); |
16512
7f2395651a1c
dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents:
16485
diff
changeset
|
464 } |
17010
c50ee84842a9
Add preferences and prefdir functions
John Donoghue <john.donoghue@ieee.org>
parents:
16894
diff
changeset
|
465 |
25921
9c47eedc44e2
msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25790
diff
changeset
|
466 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
467 DEFMETHOD (__event_manager_named_icon__, interp, args, , |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
468 doc: /* -*- texinfo -*- |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
469 @deftypefn {} {} __event_manager_dialog_icons__ (@var{icon_name}) |
25921
9c47eedc44e2
msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25790
diff
changeset
|
470 Undocumented internal function. |
9c47eedc44e2
msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25790
diff
changeset
|
471 @end deftypefn */) |
9c47eedc44e2
msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25790
diff
changeset
|
472 { |
9c47eedc44e2
msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25790
diff
changeset
|
473 uint8NDArray retval; |
25948
700b3f415ebe
maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents:
25921
diff
changeset
|
474 |
25921
9c47eedc44e2
msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25790
diff
changeset
|
475 if (args.length () > 0) |
9c47eedc44e2
msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25790
diff
changeset
|
476 { |
9c47eedc44e2
msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25790
diff
changeset
|
477 std::string icon_name = args(0).xstring_value ("invalid arguments"); |
9c47eedc44e2
msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25790
diff
changeset
|
478 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
479 octave::event_manager& evmgr = interp.get_event_manager (); |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
480 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
481 retval = evmgr.get_named_icon (icon_name); |
25921
9c47eedc44e2
msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25790
diff
changeset
|
482 } |
9c47eedc44e2
msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25790
diff
changeset
|
483 |
9c47eedc44e2
msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25790
diff
changeset
|
484 return ovl (retval); |
9c47eedc44e2
msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25790
diff
changeset
|
485 } |
9c47eedc44e2
msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25790
diff
changeset
|
486 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
487 DEFMETHOD (__event_manager_show_preferences__, interp, , , |
27932
b018f553fd85
maint: Use Octave coding conventions in libinterp/
Rik <rik@octave.org>
parents:
27923
diff
changeset
|
488 doc: /* -*- texinfo -*- |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
489 @deftypefn {} {} __event_manager_show_preferences__ () |
21966
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21837
diff
changeset
|
490 Undocumented internal function. |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21837
diff
changeset
|
491 @end deftypefn */) |
17010
c50ee84842a9
Add preferences and prefdir functions
John Donoghue <john.donoghue@ieee.org>
parents:
16894
diff
changeset
|
492 { |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
493 octave::event_manager& evmgr = interp.get_event_manager (); |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
494 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
495 return ovl (evmgr.show_preferences ()); |
17010
c50ee84842a9
Add preferences and prefdir functions
John Donoghue <john.donoghue@ieee.org>
parents:
16894
diff
changeset
|
496 } |
c50ee84842a9
Add preferences and prefdir functions
John Donoghue <john.donoghue@ieee.org>
parents:
16894
diff
changeset
|
497 |
27602
ba317c535adb
define new __event_manager_apply_preferences__ function
John W. Eaton <jwe@octave.org>
parents:
27554
diff
changeset
|
498 DEFMETHOD (__event_manager_apply_preferences__, interp, , , |
27932
b018f553fd85
maint: Use Octave coding conventions in libinterp/
Rik <rik@octave.org>
parents:
27923
diff
changeset
|
499 doc: /* -*- texinfo -*- |
27602
ba317c535adb
define new __event_manager_apply_preferences__ function
John W. Eaton <jwe@octave.org>
parents:
27554
diff
changeset
|
500 @deftypefn {} {} __event_manager_apply_preferences__ () |
ba317c535adb
define new __event_manager_apply_preferences__ function
John W. Eaton <jwe@octave.org>
parents:
27554
diff
changeset
|
501 Undocumented internal function. |
ba317c535adb
define new __event_manager_apply_preferences__ function
John W. Eaton <jwe@octave.org>
parents:
27554
diff
changeset
|
502 @end deftypefn */) |
ba317c535adb
define new __event_manager_apply_preferences__ function
John W. Eaton <jwe@octave.org>
parents:
27554
diff
changeset
|
503 { |
ba317c535adb
define new __event_manager_apply_preferences__ function
John W. Eaton <jwe@octave.org>
parents:
27554
diff
changeset
|
504 octave::event_manager& evmgr = interp.get_event_manager (); |
ba317c535adb
define new __event_manager_apply_preferences__ function
John W. Eaton <jwe@octave.org>
parents:
27554
diff
changeset
|
505 |
ba317c535adb
define new __event_manager_apply_preferences__ function
John W. Eaton <jwe@octave.org>
parents:
27554
diff
changeset
|
506 return ovl (evmgr.apply_preferences ()); |
ba317c535adb
define new __event_manager_apply_preferences__ function
John W. Eaton <jwe@octave.org>
parents:
27554
diff
changeset
|
507 } |
ba317c535adb
define new __event_manager_apply_preferences__ function
John W. Eaton <jwe@octave.org>
parents:
27554
diff
changeset
|
508 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
509 DEFMETHOD (__event_manager_gui_preference__, interp, args, , |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
510 doc: /* -*- texinfo -*- |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
511 @deftypefn {} {} __event_manager_gui_preference__ () |
25639
7644e7f1721f
change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25337
diff
changeset
|
512 Undocumented internal function. |
7644e7f1721f
change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25337
diff
changeset
|
513 @end deftypefn */) |
7644e7f1721f
change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25337
diff
changeset
|
514 { |
7644e7f1721f
change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25337
diff
changeset
|
515 std::string key; |
7644e7f1721f
change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25337
diff
changeset
|
516 std::string value = ""; |
7644e7f1721f
change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25337
diff
changeset
|
517 |
7644e7f1721f
change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25337
diff
changeset
|
518 if (args.length () >= 1) |
7644e7f1721f
change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25337
diff
changeset
|
519 key = args(0).string_value(); |
7644e7f1721f
change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25337
diff
changeset
|
520 else |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
521 error ("__event_manager_gui_preference__: " |
25639
7644e7f1721f
change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25337
diff
changeset
|
522 "first argument must be the preference key"); |
7644e7f1721f
change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25337
diff
changeset
|
523 |
7644e7f1721f
change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25337
diff
changeset
|
524 if (args.length () >= 2) |
7644e7f1721f
change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25337
diff
changeset
|
525 value = args(1).string_value(); |
7644e7f1721f
change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25337
diff
changeset
|
526 |
26336
a6694db4bd41
Do not try to change GUI preferences if it isn't running (bug #55318).
Torsten <mttl@mailbox.org>
parents:
26117
diff
changeset
|
527 if (octave::application::is_gui_running ()) |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
528 { |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
529 octave::event_manager& evmgr = interp.get_event_manager (); |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
530 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
531 return ovl (evmgr.gui_preference (key, value)); |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
532 } |
26336
a6694db4bd41
Do not try to change GUI preferences if it isn't running (bug #55318).
Torsten <mttl@mailbox.org>
parents:
26117
diff
changeset
|
533 else |
a6694db4bd41
Do not try to change GUI preferences if it isn't running (bug #55318).
Torsten <mttl@mailbox.org>
parents:
26117
diff
changeset
|
534 return ovl (value); |
25639
7644e7f1721f
change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25337
diff
changeset
|
535 } |
7644e7f1721f
change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents:
25337
diff
changeset
|
536 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
537 DEFMETHOD (__event_manager_file_remove__, interp, args, , |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
538 doc: /* -*- texinfo -*- |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
539 @deftypefn {} {} __event_manager_file_remove__ () |
25790
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
540 Undocumented internal function. |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
541 @end deftypefn */) |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
542 { |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
543 std::string old_name, new_name; |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
544 |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
545 if (args.length () == 2) |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
546 { |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
547 old_name = args(0).string_value(); |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
548 new_name = args(1).string_value(); |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
549 } |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
550 else |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
551 error ("__event_manager_file_remove__: " |
25790
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
552 "old and new name expected as arguments"); |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
553 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
554 octave::event_manager& evmgr = interp.get_event_manager (); |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
555 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
556 evmgr.file_remove (old_name, new_name); |
25790
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
557 |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
558 return ovl (); |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
559 } |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
560 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
561 DEFMETHOD (__event_manager_file_renamed__, interp, args, , |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
562 doc: /* -*- texinfo -*- |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
563 @deftypefn {} {} __event_manager_file_renamed__ () |
25790
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
564 Undocumented internal function. |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
565 @end deftypefn */) |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
566 { |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
567 bool load_new; |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
568 |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
569 if (args.length () == 1) |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
570 load_new = args(0).bool_value(); |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
571 else |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
572 error ("__event_manager_file_renamed__: " |
25790
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
573 "first argument must be boolean for reload new named file"); |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
574 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
575 octave::event_manager& evmgr = interp.get_event_manager (); |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
576 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
577 evmgr.file_renamed (load_new); |
25790
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
578 |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
579 return ovl (); |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
580 } |
872111558bc0
reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents:
25639
diff
changeset
|
581 |
24641
7d177be54c37
pass variable value to variable editor in addition to variable name
John W. Eaton <jwe@octave.org>
parents:
24631
diff
changeset
|
582 DEFMETHOD (openvar, interp, args, , |
7d177be54c37
pass variable value to variable editor in addition to variable name
John W. Eaton <jwe@octave.org>
parents:
24631
diff
changeset
|
583 doc: /* -*- texinfo -*- |
23938
e54e13ee99ce
openvar: fix doc string declaration
Mike Miller <mtmiller@octave.org>
parents:
23927
diff
changeset
|
584 @deftypefn {} {} openvar (@var{name}) |
e54e13ee99ce
openvar: fix doc string declaration
Mike Miller <mtmiller@octave.org>
parents:
23927
diff
changeset
|
585 Open the variable @var{name} in the graphical Variable Editor. |
e54e13ee99ce
openvar: fix doc string declaration
Mike Miller <mtmiller@octave.org>
parents:
23927
diff
changeset
|
586 @end deftypefn */) |
23927
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23693
diff
changeset
|
587 { |
23976
529272d1c271
Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents:
23938
diff
changeset
|
588 if (args.length () != 1) |
23927
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23693
diff
changeset
|
589 print_usage (); |
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23693
diff
changeset
|
590 |
23976
529272d1c271
Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents:
23938
diff
changeset
|
591 if (! args(0).is_string ()) |
24208
eec262017c6a
maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents:
24082
diff
changeset
|
592 error ("openvar: NAME must be a string"); |
23976
529272d1c271
Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents:
23938
diff
changeset
|
593 |
529272d1c271
Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents:
23938
diff
changeset
|
594 std::string name = args(0).string_value (); |
529272d1c271
Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents:
23938
diff
changeset
|
595 |
529272d1c271
Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents:
23938
diff
changeset
|
596 if (! (Fisguirunning ())(0).is_true ()) |
24208
eec262017c6a
maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents:
24082
diff
changeset
|
597 warning ("openvar: GUI is not running, can't start Variable Editor"); |
23976
529272d1c271
Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents:
23938
diff
changeset
|
598 else |
24641
7d177be54c37
pass variable value to variable editor in addition to variable name
John W. Eaton <jwe@octave.org>
parents:
24631
diff
changeset
|
599 { |
26661
cf9e10ce3351
move variable values from symbol_record objects to stack_frame objects
John W. Eaton <jwe@octave.org>
parents:
26376
diff
changeset
|
600 octave_value val = interp.varval (name); |
24641
7d177be54c37
pass variable value to variable editor in addition to variable name
John W. Eaton <jwe@octave.org>
parents:
24631
diff
changeset
|
601 |
7d177be54c37
pass variable value to variable editor in addition to variable name
John W. Eaton <jwe@octave.org>
parents:
24631
diff
changeset
|
602 if (val.is_undefined ()) |
7d177be54c37
pass variable value to variable editor in addition to variable name
John W. Eaton <jwe@octave.org>
parents:
24631
diff
changeset
|
603 error ("openvar: '%s' is not a variable", name.c_str ()); |
7d177be54c37
pass variable value to variable editor in addition to variable name
John W. Eaton <jwe@octave.org>
parents:
24631
diff
changeset
|
604 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
605 octave::event_manager& evmgr = interp.get_event_manager (); |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
606 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
607 evmgr.edit_variable (name, val); |
24641
7d177be54c37
pass variable value to variable editor in addition to variable name
John W. Eaton <jwe@octave.org>
parents:
24631
diff
changeset
|
608 } |
23976
529272d1c271
Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents:
23938
diff
changeset
|
609 |
529272d1c271
Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents:
23938
diff
changeset
|
610 return ovl (); |
23927
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23693
diff
changeset
|
611 } |
e3a36f84d01d
provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents:
23693
diff
changeset
|
612 |
23976
529272d1c271
Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents:
23938
diff
changeset
|
613 /* |
529272d1c271
Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents:
23938
diff
changeset
|
614 %!error openvar () |
529272d1c271
Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents:
23938
diff
changeset
|
615 %!error openvar ("a", "b") |
529272d1c271
Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents:
23938
diff
changeset
|
616 %!error <NAME must be a string> openvar (1:10) |
529272d1c271
Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents:
23938
diff
changeset
|
617 */ |
529272d1c271
Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents:
23938
diff
changeset
|
618 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
619 DEFMETHOD (__event_manager_show_doc__, interp, args, , |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
620 doc: /* -*- texinfo -*- |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
621 @deftypefn {} {} __event_manager_show_doc__ (@var{filename}) |
21966
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21837
diff
changeset
|
622 Undocumented internal function. |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21837
diff
changeset
|
623 @end deftypefn */) |
17029
359c5ca795cd
Display doc info pages using documentation browser when in GUI mode (Bug #39451)
John Donoghue <john.donoghue@ieee.org>
parents:
17010
diff
changeset
|
624 { |
359c5ca795cd
Display doc info pages using documentation browser when in GUI mode (Bug #39451)
John Donoghue <john.donoghue@ieee.org>
parents:
17010
diff
changeset
|
625 std::string file; |
17010
c50ee84842a9
Add preferences and prefdir functions
John Donoghue <john.donoghue@ieee.org>
parents:
16894
diff
changeset
|
626 |
17029
359c5ca795cd
Display doc info pages using documentation browser when in GUI mode (Bug #39451)
John Donoghue <john.donoghue@ieee.org>
parents:
17010
diff
changeset
|
627 if (args.length () >= 1) |
359c5ca795cd
Display doc info pages using documentation browser when in GUI mode (Bug #39451)
John Donoghue <john.donoghue@ieee.org>
parents:
17010
diff
changeset
|
628 file = args(0).string_value(); |
359c5ca795cd
Display doc info pages using documentation browser when in GUI mode (Bug #39451)
John Donoghue <john.donoghue@ieee.org>
parents:
17010
diff
changeset
|
629 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
630 octave::event_manager& evmgr = interp.get_event_manager (); |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
631 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
632 return ovl (evmgr.show_doc (file)); |
17029
359c5ca795cd
Display doc info pages using documentation browser when in GUI mode (Bug #39451)
John Donoghue <john.donoghue@ieee.org>
parents:
17010
diff
changeset
|
633 } |
25060
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
634 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
635 DEFMETHOD (__event_manager_register_doc__, interp, args, , |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
636 doc: /* -*- texinfo -*- |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
637 @deftypefn {} {} __event_manager_register_doc__ (@var{filename}) |
25060
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
638 Undocumented internal function. |
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
639 @end deftypefn */) |
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
640 { |
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
641 std::string file; |
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
642 |
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
643 if (args.length () >= 1) |
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
644 file = args(0).string_value(); |
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
645 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
646 octave::event_manager& evmgr = interp.get_event_manager (); |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
647 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
648 return ovl (evmgr.register_doc (file)); |
25060
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
649 } |
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
650 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
651 DEFMETHOD (__event_manager_unregister_doc__, interp, args, , |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
652 doc: /* -*- texinfo -*- |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
653 @deftypefn {} {} __event_manager_unregister_doc__ (@var{filename}) |
25060
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
654 Undocumented internal function. |
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
655 @end deftypefn */) |
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
656 { |
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
657 std::string file; |
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
658 |
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
659 if (args.length () >= 1) |
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
660 file = args(0).string_value(); |
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
661 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
662 octave::event_manager& evmgr = interp.get_event_manager (); |
27261
dccdc3b001a2
eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents:
27260
diff
changeset
|
663 |
27263
99aa1bcb8848
rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27262
diff
changeset
|
664 return ovl (evmgr.unregister_doc (file)); |
25060
1cd3aeda7598
Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25054
diff
changeset
|
665 } |
27554
d0f778462a51
Restore hability to copy figure to clipboard (bug #55970)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27444
diff
changeset
|
666 |
29057
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
667 DEFMETHOD (__event_manager_gui_status_update__, interp, args, , |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
668 doc: /* -*- texinfo -*- |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
669 @deftypefn {} {} __event_manager_gui_status_update__ (@var{feature}, @var{status}) |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
670 Internal function for updating the status of some features in the GUI. |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
671 @end deftypefn */) |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
672 { |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
673 // This is currently a stub and should only be activated some |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
674 // interpreter action only implemented in m-files requires to update |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
675 // a status indicator in the gui. BUT: This internal function can |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
676 // be activated by the user leading to gui indicators not reflecting |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
677 // the real state of the related feature. |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
678 return ovl (); |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
679 |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
680 std::string feature; |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
681 std::string status; |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
682 |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
683 if (! (Fisguirunning ())(0).is_true ()) |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
684 return ovl (); |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
685 |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
686 if (args.length () < 2) |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
687 error ("__event_manager_gui_status_update__: two parameters required"); |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
688 if (! (args(0).is_string ())) |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
689 error ("__event_manager_gui_status_update__: FEATURE must be a string"); |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
690 if (! (args(1).is_string ())) |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
691 error ("__event_manager_gui_status_update__: STATUS must be a string"); |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
692 |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
693 feature = args(0).string_value (); |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
694 status = args(1).string_value (); |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
695 |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
696 octave::event_manager& evmgr = interp.get_event_manager (); |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
697 |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
698 return ovl (evmgr.gui_status_update (feature, status)); |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
699 } |
450920c987b8
update profiler status in gui from interpreter
Torsten Lilge <ttl-octave@mailbox.org>
parents:
28888
diff
changeset
|
700 |
28788
aba2c4eadb83
add functions of loaded packages to auto-completion list (bug #56207)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27987
diff
changeset
|
701 DEFMETHOD (__event_manager_update_gui_lexer__, interp, , , |
aba2c4eadb83
add functions of loaded packages to auto-completion list (bug #56207)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27987
diff
changeset
|
702 doc: /* -*- texinfo -*- |
aba2c4eadb83
add functions of loaded packages to auto-completion list (bug #56207)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27987
diff
changeset
|
703 @deftypefn {} {} __event_manager_update_gui_lexer__ () |
aba2c4eadb83
add functions of loaded packages to auto-completion list (bug #56207)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27987
diff
changeset
|
704 Undocumented internal function. |
aba2c4eadb83
add functions of loaded packages to auto-completion list (bug #56207)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27987
diff
changeset
|
705 @end deftypefn */) |
aba2c4eadb83
add functions of loaded packages to auto-completion list (bug #56207)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27987
diff
changeset
|
706 { |
aba2c4eadb83
add functions of loaded packages to auto-completion list (bug #56207)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27987
diff
changeset
|
707 octave::event_manager& evmgr = interp.get_event_manager (); |
aba2c4eadb83
add functions of loaded packages to auto-completion list (bug #56207)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27987
diff
changeset
|
708 |
aba2c4eadb83
add functions of loaded packages to auto-completion list (bug #56207)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27987
diff
changeset
|
709 return ovl (evmgr.update_gui_lexer ()); |
aba2c4eadb83
add functions of loaded packages to auto-completion list (bug #56207)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27987
diff
changeset
|
710 } |
aba2c4eadb83
add functions of loaded packages to auto-completion list (bug #56207)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
27987
diff
changeset
|
711 |
27554
d0f778462a51
Restore hability to copy figure to clipboard (bug #55970)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27444
diff
changeset
|
712 DEFMETHOD (__event_manager_copy_image_to_clipboard__, interp, args, , |
d0f778462a51
Restore hability to copy figure to clipboard (bug #55970)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27444
diff
changeset
|
713 doc: /* -*- texinfo -*- |
d0f778462a51
Restore hability to copy figure to clipboard (bug #55970)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27444
diff
changeset
|
714 @deftypefn {} {} __event_manager_copy_image_to_clipboard__ (@var{filename}) |
d0f778462a51
Restore hability to copy figure to clipboard (bug #55970)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27444
diff
changeset
|
715 Undocumented internal function. |
d0f778462a51
Restore hability to copy figure to clipboard (bug #55970)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27444
diff
changeset
|
716 @end deftypefn */) |
d0f778462a51
Restore hability to copy figure to clipboard (bug #55970)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27444
diff
changeset
|
717 { |
d0f778462a51
Restore hability to copy figure to clipboard (bug #55970)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27444
diff
changeset
|
718 std::string file; |
d0f778462a51
Restore hability to copy figure to clipboard (bug #55970)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27444
diff
changeset
|
719 |
d0f778462a51
Restore hability to copy figure to clipboard (bug #55970)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27444
diff
changeset
|
720 if (args.length () >= 1) |
d0f778462a51
Restore hability to copy figure to clipboard (bug #55970)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27444
diff
changeset
|
721 file = args(0).string_value(); |
d0f778462a51
Restore hability to copy figure to clipboard (bug #55970)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27444
diff
changeset
|
722 |
d0f778462a51
Restore hability to copy figure to clipboard (bug #55970)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27444
diff
changeset
|
723 octave::event_manager& evmgr = interp.get_event_manager (); |
d0f778462a51
Restore hability to copy figure to clipboard (bug #55970)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27444
diff
changeset
|
724 evmgr.copy_image_to_clipboard (file); |
d0f778462a51
Restore hability to copy figure to clipboard (bug #55970)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27444
diff
changeset
|
725 return ovl (); |
d0f778462a51
Restore hability to copy figure to clipboard (bug #55970)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27444
diff
changeset
|
726 } |
27669
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
727 |
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
728 DEFMETHOD (commandhistory, interp, args, , |
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
729 doc: /* -*- texinfo -*- |
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
730 @deftypefn {} {} commandhistory () |
27673
58bff27d8714
Fix typo in cset 271b5cd640d7 (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27669
diff
changeset
|
731 Show the GUI command history window and give it the keyboard focus. |
27795
afbaad39d25c
doc: grammarcheck C++ files in libinterp/ directory.
Rik <rik@octave.org>
parents:
27688
diff
changeset
|
732 @seealso{commandwindow, filebrowser, workspace} |
27669
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
733 @end deftypefn */) |
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
734 { |
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
735 if (args.length () != 0) |
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
736 print_usage (); |
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
737 |
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
738 octave::event_manager& evmgr = interp.get_event_manager (); |
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
739 evmgr.focus_window ("history"); |
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
740 return ovl (); |
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
741 } |
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
742 |
27688
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
743 DEFMETHOD (commandwindow, interp, args, , |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
744 doc: /* -*- texinfo -*- |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
745 @deftypefn {} {} commandwindow () |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
746 Show the GUI command window and give it the keyboard focus. |
27795
afbaad39d25c
doc: grammarcheck C++ files in libinterp/ directory.
Rik <rik@octave.org>
parents:
27688
diff
changeset
|
747 @seealso{commandhistory, filebrowser, workspace} |
27688
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
748 @end deftypefn */) |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
749 { |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
750 if (args.length () != 0) |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
751 print_usage (); |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
752 |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
753 octave::event_manager& evmgr = interp.get_event_manager (); |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
754 evmgr.focus_window ("command"); |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
755 return ovl (); |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
756 } |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
757 |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
758 DEFMETHOD (filebrowser, interp, args, , |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
759 doc: /* -*- texinfo -*- |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
760 @deftypefn {} {} filebrowser () |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
761 Show the GUI file browser window and give it the keyboard focus. |
27795
afbaad39d25c
doc: grammarcheck C++ files in libinterp/ directory.
Rik <rik@octave.org>
parents:
27688
diff
changeset
|
762 @seealso{commandwindow, commandhistory, workspace} |
27688
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
763 @end deftypefn */) |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
764 { |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
765 if (args.length () != 0) |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
766 print_usage (); |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
767 |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
768 octave::event_manager& evmgr = interp.get_event_manager (); |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
769 evmgr.focus_window ("filebrowser"); |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
770 return ovl (); |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
771 } |
7e6836784575
doc: Move commandwind() function and friends to new section of manual (bug #57213).
Rik <rik@octave.org>
parents:
27673
diff
changeset
|
772 |
27669
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
773 DEFMETHOD (workspace, interp, args, , |
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
774 doc: /* -*- texinfo -*- |
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
775 @deftypefn {} {} workspace () |
27673
58bff27d8714
Fix typo in cset 271b5cd640d7 (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27669
diff
changeset
|
776 Show the GUI workspace window and give it the keyboard focus. |
27795
afbaad39d25c
doc: grammarcheck C++ files in libinterp/ directory.
Rik <rik@octave.org>
parents:
27688
diff
changeset
|
777 @seealso{commandwindow, commandhistory, filebrowser} |
27669
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
778 @end deftypefn */) |
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
779 { |
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
780 if (args.length () != 0) |
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
781 print_usage (); |
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
782 |
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
783 octave::event_manager& evmgr = interp.get_event_manager (); |
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
784 evmgr.focus_window ("workspace"); |
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
785 return ovl (); |
271b5cd640d7
Add functions to show GUI windows (bug #57213)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
27602
diff
changeset
|
786 } |