annotate libinterp/corefcn/event-manager.cc @ 27284:1a8762e5662b

remove "do_" prefix from interpreter_events class methods * event-manager.h, event-manager.cc, qt-interpreter-events.h, qt-interpreter-events.cc: Remove "do_" prefix from function names. That prefix is no longer needed to distinguish static class methods from the corresponding virtual methods now that we've eliminated the static methods and the virtual methods are in a separate class. Minor style fixes.
author John W. Eaton <jwe@octave.org>
date Tue, 23 Jul 2019 10:32:32 -0400
parents 378d3c91f85b
children 5f170ea12fa1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15204
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
1 /*
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
2
26376
00f796120a6d maint: Update copyright dates in all source files.
John W. Eaton <jwe@octave.org>
parents: 26336
diff changeset
3 Copyright (C) 2013-2019 John W. Eaton
00f796120a6d maint: Update copyright dates in all source files.
John W. Eaton <jwe@octave.org>
parents: 26336
diff changeset
4 Copyright (C) 2011-2019 Jacob Dawid
00f796120a6d maint: Update copyright dates in all source files.
John W. Eaton <jwe@octave.org>
parents: 26336
diff changeset
5 Copyright (C) 2011-2019 John P. Swensen
15204
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
6
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
7 This file is part of Octave.
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
8
24534
194eb4bd202b maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents: 24361
diff changeset
9 Octave is free software: you can redistribute it and/or modify it
22755
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22417
diff changeset
10 under the terms of the GNU General Public License as published by
24534
194eb4bd202b maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents: 24361
diff changeset
11 the Free Software Foundation, either version 3 of the License, or
22755
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22417
diff changeset
12 (at your option) any later version.
15204
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
13
22755
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22417
diff changeset
14 Octave is distributed in the hope that it will be useful, but
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22417
diff changeset
15 WITHOUT ANY WARRANTY; without even the implied warranty of
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22417
diff changeset
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22417
diff changeset
17 GNU General Public License for more details.
15204
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
18
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
19 You should have received a copy of the GNU General Public License
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
20 along with Octave; see the file COPYING. If not, see
24534
194eb4bd202b maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents: 24361
diff changeset
21 <https://www.gnu.org/licenses/>.
15204
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
22
359098ad343e update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents: 15196
diff changeset
23 */
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
24
21724
aba2e6293dd8 use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents: 21440
diff changeset
25 #if defined (HAVE_CONFIG_H)
21301
40de9f8f23a6 Use '#include "config.h"' rather than <config.h>.
Rik <rik@octave.org>
parents: 21200
diff changeset
26 # include "config.h"
15155
9e62d5a3a45e partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents: 15041
diff changeset
27 #endif
9e62d5a3a45e partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents: 15041
diff changeset
28
23976
529272d1c271 Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents: 23938
diff changeset
29 #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
30 #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
31 #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
32 #include "event-manager.h"
23976
529272d1c271 Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents: 23938
diff changeset
33 #include "interpreter.h"
23599
5cb3a2bb5e1e don't use singleton for symbol_table
John W. Eaton <jwe@octave.org>
parents: 23457
diff changeset
34 #include "interpreter-private.h"
15155
9e62d5a3a45e partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents: 15041
diff changeset
35 #include "oct-env.h"
9e62d5a3a45e partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents: 15041
diff changeset
36 #include "oct-mutex.h"
23976
529272d1c271 Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents: 23938
diff changeset
37 #include "ovl.h"
22091
0f6fc2ec3b1a move call_stack class to a separate file
John W. Eaton <jwe@octave.org>
parents: 21966
diff changeset
38 #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
39 #include "syminfo.h"
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
40
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
41 namespace octave
14668
6a6733a55982 Removed unused classes and added octave loop hook.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14664
diff changeset
42 {
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
43 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
44 {
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
45 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
46
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
47 evmgr.process_events ();
27261
dccdc3b001a2 eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents: 27260
diff changeset
48
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
49 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
50 }
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 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
53 : instance (nullptr), event_queue_mutex (new mutex ()),
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
54 gui_event_queue (), debugging (false), link_enabled (false)
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 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
57 }
15371
eec0d1fcba4f use Octave singleton style for octave_link class
John W. Eaton <jwe@octave.org>
parents: 15204
diff changeset
58
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
59 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
60 {
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
61 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
62 }
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
63
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
64 // 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
65 // 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
66 // 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
67 // 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
68 // 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
69
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 void
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
71 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
72 {
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
73 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
74 disable ();
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
75
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
76 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
77 }
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 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
80 {
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
81 bool retval = link_enabled;
15371
eec0d1fcba4f use Octave singleton style for octave_link class
John W. Eaton <jwe@octave.org>
parents: 15204
diff changeset
82
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
83 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
84 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
85 else
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
86 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
87
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
88 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
89 }
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
90
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
91 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
92 {
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
93 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
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 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
96 disable ();
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
97
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
98 event_queue_mutex->lock ();
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
99
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
100 gui_event_queue.run ();
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
101
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
102 event_queue_mutex->unlock ();
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 }
21440
062c65569ad7 avoid some address-sanitizer leak warnings (bug #47372)
John W. Eaton <jwe@octave.org>
parents: 21301
diff changeset
105
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
106 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
107 {
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
108 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
109 {
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
110 event_queue_mutex->lock ();
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
111
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
112 gui_event_queue.discard ();
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->unlock ();
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
115 }
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
116 }
27260
5ac60319575b separate octave_link event queue from events and actions
John W. Eaton <jwe@octave.org>
parents: 27259
diff changeset
117
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
118 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
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 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
121 {
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
122 tree_evaluator& tw
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
123 = __get_evaluator__ ("event_manager::set_workspace");
27260
5ac60319575b separate octave_link event queue from events and actions
John W. Eaton <jwe@octave.org>
parents: 27259
diff changeset
124
27284
1a8762e5662b remove "do_" prefix from interpreter_events class methods
John W. Eaton <jwe@octave.org>
parents: 27264
diff changeset
125 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
126 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
127 }
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
128 }
27260
5ac60319575b separate octave_link event queue from events and actions
John W. Eaton <jwe@octave.org>
parents: 27259
diff changeset
129 }
5ac60319575b separate octave_link event queue from events and actions
John W. Eaton <jwe@octave.org>
parents: 27259
diff changeset
130
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
131 DEFMETHOD (__event_manager_enabled__, interp, , ,
27261
dccdc3b001a2 eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents: 27260
diff changeset
132 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
133 @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
134 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
135 @end deftypefn */)
16552
8fc1f6535380 new function, __octave_link_enabled__
John W. Eaton <jwe@octave.org>
parents: 16551
diff changeset
136 {
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
137 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
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 return ovl (evmgr.enabled ());
16552
8fc1f6535380 new function, __octave_link_enabled__
John W. Eaton <jwe@octave.org>
parents: 16551
diff changeset
140 }
8fc1f6535380 new function, __octave_link_enabled__
John W. Eaton <jwe@octave.org>
parents: 16551
diff changeset
141
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
142 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
143 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
144 @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
145 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
146 @end deftypefn */)
16420
81ec95768520 use octave-link instead of hook for edit function
John W. Eaton <jwe@octave.org>
parents: 16415
diff changeset
147 {
81ec95768520 use octave-link instead of hook for edit function
John W. Eaton <jwe@octave.org>
parents: 16415
diff changeset
148 octave_value retval;
81ec95768520 use octave-link instead of hook for edit function
John W. Eaton <jwe@octave.org>
parents: 16415
diff changeset
149
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
150 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
151
16420
81ec95768520 use octave-link instead of hook for edit function
John W. Eaton <jwe@octave.org>
parents: 16415
diff changeset
152 if (args.length () == 1)
81ec95768520 use octave-link instead of hook for edit function
John W. Eaton <jwe@octave.org>
parents: 16415
diff changeset
153 {
27264
378d3c91f85b style fixes for event_manager classes
John W. Eaton <jwe@octave.org>
parents: 27263
diff changeset
154 std::string file
378d3c91f85b style fixes for event_manager classes
John W. Eaton <jwe@octave.org>
parents: 27263
diff changeset
155 = 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
156
23060
baf03cdb28b5 move pager and diary classes into octave namespace
John W. Eaton <jwe@octave.org>
parents: 23057
diff changeset
157 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
158
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
159 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
160 }
17884
766ad9be2966 Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents: 17787
diff changeset
161 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
162 {
27264
378d3c91f85b style fixes for event_manager classes
John W. Eaton <jwe@octave.org>
parents: 27263
diff changeset
163 std::string file
378d3c91f85b style fixes for event_manager classes
John W. Eaton <jwe@octave.org>
parents: 27263
diff changeset
164 = 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
165
23060
baf03cdb28b5 move pager and diary classes into octave namespace
John W. Eaton <jwe@octave.org>
parents: 23057
diff changeset
166 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
167
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
168 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
169 }
16420
81ec95768520 use octave-link instead of hook for edit function
John W. Eaton <jwe@octave.org>
parents: 16415
diff changeset
170
81ec95768520 use octave-link instead of hook for edit function
John W. Eaton <jwe@octave.org>
parents: 16415
diff changeset
171 return retval;
81ec95768520 use octave-link instead of hook for edit function
John W. Eaton <jwe@octave.org>
parents: 16415
diff changeset
172 }
16512
7f2395651a1c dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents: 16485
diff changeset
173
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
174 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
175 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
176 @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
177 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
178 @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
179 {
6ae555fc8c43 Add questdlg dialog function and fix variety of dialog bugs.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 16524
diff changeset
180 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
181
6ae555fc8c43 Add questdlg dialog function and fix variety of dialog bugs.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 16524
diff changeset
182 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
183 {
20700
68e3a747ca02 rename octave_value value extractors that accept error message args
John W. Eaton <jwe@octave.org>
parents: 20667
diff changeset
184 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
185 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
186 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
187 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
188 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
189 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
190
23060
baf03cdb28b5 move pager and diary classes into octave namespace
John W. Eaton <jwe@octave.org>
parents: 23057
diff changeset
191 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
192
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
193 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
194
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
195 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
196 }
6ae555fc8c43 Add questdlg dialog function and fix variety of dialog bugs.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 16524
diff changeset
197
6ae555fc8c43 Add questdlg dialog function and fix variety of dialog bugs.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 16524
diff changeset
198 return retval;
6ae555fc8c43 Add questdlg dialog function and fix variety of dialog bugs.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 16524
diff changeset
199 }
6ae555fc8c43 Add questdlg dialog function and fix variety of dialog bugs.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 16524
diff changeset
200
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
201 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
202 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
203 @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
204 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
205 @end deftypefn */)
16579
7f8db1942dc0 Add Qt link uigetfile dialog implementation.
John Donoghue <john.donoghue@ieee.org>
parents: 16552
diff changeset
206 {
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
207 if (args.length () != 6)
20941
a4f5da7c5463 maint: Replace "octave_value_list ()" with "ovl ()".
Rik <rik@octave.org>
parents: 20898
diff changeset
208 return ovl ();
16579
7f8db1942dc0 Add Qt link uigetfile dialog implementation.
John Donoghue <john.donoghue@ieee.org>
parents: 16552
diff changeset
209
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
210 octave_value_list retval (3);
16579
7f8db1942dc0 Add Qt link uigetfile dialog implementation.
John Donoghue <john.donoghue@ieee.org>
parents: 16552
diff changeset
211
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
212 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
213 std::string title = args(1).string_value ();
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
214 std::string filename = args(2).string_value ();
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
215 Matrix pos = args(3).matrix_value ();
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
216 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
217 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
218
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
219 octave_idx_type nel;
27261
dccdc3b001a2 eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents: 27260
diff changeset
220
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 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
222
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
223 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
224 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
225 (flist.columns () > 1
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
226 ? flist(i,1) : "")));
16579
7f8db1942dc0 Add Qt link uigetfile dialog implementation.
John Donoghue <john.donoghue@ieee.org>
parents: 16552
diff changeset
227
23060
baf03cdb28b5 move pager and diary classes into octave namespace
John W. Eaton <jwe@octave.org>
parents: 23057
diff changeset
228 octave::flush_stdout ();
16580
adc150db1809 style fixes for uigetfile changes
John W. Eaton <jwe@octave.org>
parents: 16579
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 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
231
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
232 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
233 = 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
234
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
235 nel = items_lst.size ();
16579
7f8db1942dc0 Add Qt link uigetfile dialog implementation.
John Donoghue <john.donoghue@ieee.org>
parents: 16552
diff changeset
236
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
237 // 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
238 if (nel <= 3)
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
239 {
21836
2049e123bf7b uigetdir, uigetfile, uiputfile: Return zeros when user cancels (bug #48171)
Mike Miller <mtmiller@octave.org>
parents: 21748
diff changeset
240 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
241 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
242 else
21837
3ef630a564f8 Clean up C++ code for F__octave_link_file_dialog__.
Rik <rik@octave.org>
parents: 21836
diff changeset
243 {
3ef630a564f8 Clean up C++ code for F__octave_link_file_dialog__.
Rik <rik@octave.org>
parents: 21836
diff changeset
244 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
245 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
246 {
3ef630a564f8 Clean up C++ code for F__octave_link_file_dialog__.
Rik <rik@octave.org>
parents: 21836
diff changeset
247 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
248 retval(idx++) = str;
21837
3ef630a564f8 Clean up C++ code for F__octave_link_file_dialog__.
Rik <rik@octave.org>
parents: 21836
diff changeset
249 else
22862
e365e87371a3 maint: Use C++ range feature to simplify some for loops in libinterp/corefcn.
Rik <rik@octave.org>
parents: 22755
diff changeset
250 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
251 }
3ef630a564f8 Clean up C++ code for F__octave_link_file_dialog__.
Rik <rik@octave.org>
parents: 21836
diff changeset
252 }
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
253 }
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
254 else
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
255 {
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
256 // Multiple files.
21837
3ef630a564f8 Clean up C++ code for F__octave_link_file_dialog__.
Rik <rik@octave.org>
parents: 21836
diff changeset
257 nel -= 2;
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
258 Cell items (dim_vector (1, nel));
20667
8742e0b1cc49 eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20581
diff changeset
259
25337
3ff9192b676e use auto keyword to declare iterator variables where possible
John W. Eaton <jwe@octave.org>
parents: 25060
diff changeset
260 auto it = items_lst.begin ();
20667
8742e0b1cc49 eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20581
diff changeset
261
21837
3ef630a564f8 Clean up C++ code for F__octave_link_file_dialog__.
Rik <rik@octave.org>
parents: 21836
diff changeset
262 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
263 items.xelem (idx) = *it;
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
264
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
265 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
266 }
16579
7f8db1942dc0 Add Qt link uigetfile dialog implementation.
John Donoghue <john.donoghue@ieee.org>
parents: 16552
diff changeset
267
7f8db1942dc0 Add Qt link uigetfile dialog implementation.
John Donoghue <john.donoghue@ieee.org>
parents: 16552
diff changeset
268 return retval;
7f8db1942dc0 Add Qt link uigetfile dialog implementation.
John Donoghue <john.donoghue@ieee.org>
parents: 16552
diff changeset
269 }
7f8db1942dc0 Add Qt link uigetfile dialog implementation.
John Donoghue <john.donoghue@ieee.org>
parents: 16552
diff changeset
270
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
271 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
272 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
273 @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
274 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
275 @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
276 {
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
277 if (args.length () != 8)
20941
a4f5da7c5463 maint: Replace "octave_value_list ()" with "ovl ()".
Rik <rik@octave.org>
parents: 20898
diff changeset
278 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
279
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
280 Cell list = args(0).cell_value ();
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
281 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
282 octave_idx_type nel = tlist.numel ();
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
283 std::list<std::string> list_lst;
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
284 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
285 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
286
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
287 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
288
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
289 Matrix size_matrix = args(2).matrix_value ();
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
290 int width = size_matrix(0);
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
291 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
292
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
293 Matrix initial_matrix = args(3).matrix_value ();
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
294 nel = initial_matrix.numel ();
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
295 std::list<int> initial_lst;
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
296 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
297 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
298
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
299 std::string name = args(4).string_value ();
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
300 list = args(5).cell_value ();
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
301 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
302 nel = plist.numel ();
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
303 std::list<std::string> prompt_lst;
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
304 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
305 prompt_lst.push_back (plist(i));
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
306 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
307 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
308
23060
baf03cdb28b5 move pager and diary classes into octave namespace
John W. Eaton <jwe@octave.org>
parents: 23057
diff changeset
309 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
310
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
311 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
312
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
313 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
314 = evmgr.list_dialog (list_lst, mode, width, height, initial_lst,
27261
dccdc3b001a2 eliminate static functions from octave_link class
John W. Eaton <jwe@octave.org>
parents: 27260
diff changeset
315 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
316
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
317 std::list<int> items_lst = result.first;
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
318 nel = items_lst.size ();
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
319 Matrix items (dim_vector (1, nel));
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
320 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
321 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
322 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
323
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
324 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
325 }
7f2395651a1c dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents: 16485
diff changeset
326
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
327 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
328 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
329 @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
330 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
331 @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
332 {
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
333 if (args.length () != 4)
20941
a4f5da7c5463 maint: Replace "octave_value_list ()" with "ovl ()".
Rik <rik@octave.org>
parents: 20898
diff changeset
334 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
335
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
336 Cell prompt = args(0).cell_value ();
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
337 Array<std::string> tmp = prompt.cellstr_value ();
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
338 octave_idx_type nel = tmp.numel ();
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
339 std::list<std::string> prompt_lst;
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
340 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
341 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
342
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
343 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
344
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
345 Matrix rc = args(2).matrix_value ();
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
346 nel = rc.rows ();
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
347 std::list<float> nr;
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
348 std::list<float> nc;
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
349 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
350 {
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
351 nr.push_back (rc(i,0));
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
352 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
353 }
7f2395651a1c dialog boxes with Qt widgets
Daniel J Sebald <daniel.sebald@ieee.org>, John W. Eaton <jwe@octave.org>
parents: 16485
diff changeset
354
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
355 Cell defaults = args(3).cell_value ();
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
356 tmp = defaults.cellstr_value ();
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
357 nel = tmp.numel ();
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
358 std::list<std::string> defaults_lst;
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
359 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
360 defaults_lst.push_back (tmp(i));
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
361
23060
baf03cdb28b5 move pager and diary classes into octave namespace
John W. Eaton <jwe@octave.org>
parents: 23057
diff changeset
362 octave::flush_stdout ();
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
363
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
364 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
365
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
366 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
367 = 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
368
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
369 nel = items_lst.size ();
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
370 Cell items (dim_vector (nel, 1));
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
371 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
372 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
373 items.xelem(i++) = str_el;
20898
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
374
8da80da1ac37 maint: Use ovl() more places in the code.
Rik <rik@octave.org>
parents: 20892
diff changeset
375 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
376 }
17010
c50ee84842a9 Add preferences and prefdir functions
John Donoghue <john.donoghue@ieee.org>
parents: 16894
diff changeset
377
25921
9c47eedc44e2 msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25790
diff changeset
378
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
379 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
380 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
381 @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
382 Undocumented internal function.
9c47eedc44e2 msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25790
diff changeset
383 @end deftypefn */)
9c47eedc44e2 msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25790
diff changeset
384 {
9c47eedc44e2 msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25790
diff changeset
385 uint8NDArray retval;
25948
700b3f415ebe maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 25921
diff changeset
386
25921
9c47eedc44e2 msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25790
diff changeset
387 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
388 {
9c47eedc44e2 msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25790
diff changeset
389 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
390
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
391 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
392
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
393 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
394 }
9c47eedc44e2 msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25790
diff changeset
395
9c47eedc44e2 msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25790
diff changeset
396 return ovl (retval);
9c47eedc44e2 msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25790
diff changeset
397 }
9c47eedc44e2 msgbox.m: use graphics objects to build dialog (bug #42490)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25790
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 DEFMETHOD (__event_manager_show_preferences__, interp, , ,
21966
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21837
diff changeset
400 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
401 @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
402 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
403 @end deftypefn */)
17010
c50ee84842a9 Add preferences and prefdir functions
John Donoghue <john.donoghue@ieee.org>
parents: 16894
diff changeset
404 {
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
405 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
406
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
407 return ovl (evmgr.show_preferences ());
17010
c50ee84842a9 Add preferences and prefdir functions
John Donoghue <john.donoghue@ieee.org>
parents: 16894
diff changeset
408 }
c50ee84842a9 Add preferences and prefdir functions
John Donoghue <john.donoghue@ieee.org>
parents: 16894
diff changeset
409
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
410 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
411 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
412 @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
413 Undocumented internal function.
7644e7f1721f change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents: 25337
diff changeset
414 @end deftypefn */)
7644e7f1721f change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents: 25337
diff changeset
415 {
7644e7f1721f change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents: 25337
diff changeset
416 std::string key;
7644e7f1721f change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents: 25337
diff changeset
417 std::string value = "";
7644e7f1721f change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents: 25337
diff changeset
418
7644e7f1721f change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents: 25337
diff changeset
419 if (args.length () >= 1)
7644e7f1721f change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents: 25337
diff changeset
420 key = args(0).string_value();
7644e7f1721f change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents: 25337
diff changeset
421 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
422 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
423 "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
424
7644e7f1721f change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents: 25337
diff changeset
425 if (args.length () >= 2)
7644e7f1721f change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents: 25337
diff changeset
426 value = args(1).string_value();
7644e7f1721f change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents: 25337
diff changeset
427
26336
a6694db4bd41 Do not try to change GUI preferences if it isn't running (bug #55318).
Torsten <mttl@mailbox.org>
parents: 26117
diff changeset
428 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
429 {
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
430 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
431
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
432 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
433 }
26336
a6694db4bd41 Do not try to change GUI preferences if it isn't running (bug #55318).
Torsten <mttl@mailbox.org>
parents: 26117
diff changeset
434 else
a6694db4bd41 Do not try to change GUI preferences if it isn't running (bug #55318).
Torsten <mttl@mailbox.org>
parents: 26117
diff changeset
435 return ovl (value);
25639
7644e7f1721f change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents: 25337
diff changeset
436 }
7644e7f1721f change gui preferences from within the worker thread (bug #49119)
Torsten <mttl@mailbox.org>
parents: 25337
diff changeset
437
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
438 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
439 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
440 @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
441 Undocumented internal function.
872111558bc0 reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents: 25639
diff changeset
442 @end deftypefn */)
872111558bc0 reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents: 25639
diff changeset
443 {
872111558bc0 reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents: 25639
diff changeset
444 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
445
872111558bc0 reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents: 25639
diff changeset
446 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
447 {
872111558bc0 reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents: 25639
diff changeset
448 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
449 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
450 }
872111558bc0 reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents: 25639
diff changeset
451 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
452 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
453 "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
454
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 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
456
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
457 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
458
872111558bc0 reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents: 25639
diff changeset
459 return ovl ();
872111558bc0 reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents: 25639
diff changeset
460 }
872111558bc0 reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents: 25639
diff changeset
461
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
462 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
463 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
464 @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
465 Undocumented internal function.
872111558bc0 reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents: 25639
diff changeset
466 @end deftypefn */)
872111558bc0 reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents: 25639
diff changeset
467 {
872111558bc0 reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents: 25639
diff changeset
468 bool load_new;
872111558bc0 reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents: 25639
diff changeset
469
872111558bc0 reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents: 25639
diff changeset
470 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
471 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
472 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
473 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
474 "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
475
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
476 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
477
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
478 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
479
872111558bc0 reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents: 25639
diff changeset
480 return ovl ();
872111558bc0 reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents: 25639
diff changeset
481 }
872111558bc0 reload editor files when their path changes by using movefile (bug #43922)
Torsten <mttl@mailbox.org>
parents: 25639
diff changeset
482
24641
7d177be54c37 pass variable value to variable editor in addition to variable name
John W. Eaton <jwe@octave.org>
parents: 24631
diff changeset
483 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
484 doc: /* -*- texinfo -*-
23938
e54e13ee99ce openvar: fix doc string declaration
Mike Miller <mtmiller@octave.org>
parents: 23927
diff changeset
485 @deftypefn {} {} openvar (@var{name})
e54e13ee99ce openvar: fix doc string declaration
Mike Miller <mtmiller@octave.org>
parents: 23927
diff changeset
486 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
487 @end deftypefn */)
23927
e3a36f84d01d provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents: 23693
diff changeset
488 {
23976
529272d1c271 Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents: 23938
diff changeset
489 if (args.length () != 1)
23927
e3a36f84d01d provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents: 23693
diff changeset
490 print_usage ();
e3a36f84d01d provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents: 23693
diff changeset
491
23976
529272d1c271 Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents: 23938
diff changeset
492 if (! args(0).is_string ())
24208
eec262017c6a maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24082
diff changeset
493 error ("openvar: NAME must be a string");
23976
529272d1c271 Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents: 23938
diff changeset
494
529272d1c271 Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents: 23938
diff changeset
495 std::string name = args(0).string_value ();
529272d1c271 Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents: 23938
diff changeset
496
529272d1c271 Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents: 23938
diff changeset
497 if (! (Fisguirunning ())(0).is_true ())
24208
eec262017c6a maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24082
diff changeset
498 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
499 else
24641
7d177be54c37 pass variable value to variable editor in addition to variable name
John W. Eaton <jwe@octave.org>
parents: 24631
diff changeset
500 {
26661
cf9e10ce3351 move variable values from symbol_record objects to stack_frame objects
John W. Eaton <jwe@octave.org>
parents: 26376
diff changeset
501 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
502
7d177be54c37 pass variable value to variable editor in addition to variable name
John W. Eaton <jwe@octave.org>
parents: 24631
diff changeset
503 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
504 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
505
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
506 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
507
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
508 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
509 }
23976
529272d1c271 Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents: 23938
diff changeset
510
529272d1c271 Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents: 23938
diff changeset
511 return ovl ();
23927
e3a36f84d01d provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents: 23693
diff changeset
512 }
e3a36f84d01d provide variable-editor widget for the GUI
Michael Barnes <mjbcode@runbox.com>
parents: 23693
diff changeset
513
23976
529272d1c271 Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents: 23938
diff changeset
514 /*
529272d1c271 Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents: 23938
diff changeset
515 %!error openvar ()
529272d1c271 Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents: 23938
diff changeset
516 %!error openvar ("a", "b")
529272d1c271 Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents: 23938
diff changeset
517 %!error <NAME must be a string> openvar (1:10)
529272d1c271 Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents: 23938
diff changeset
518 */
529272d1c271 Complete openvar implementation (bug #51899).
Rik <rik@octave.org>
parents: 23938
diff changeset
519
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
520 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
521 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
522 @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
523 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
524 @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
525 {
359c5ca795cd Display doc info pages using documentation browser when in GUI mode (Bug #39451)
John Donoghue <john.donoghue@ieee.org>
parents: 17010
diff changeset
526 std::string file;
17010
c50ee84842a9 Add preferences and prefdir functions
John Donoghue <john.donoghue@ieee.org>
parents: 16894
diff changeset
527
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
528 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
529 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
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 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
532
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
533 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
534 }
25060
1cd3aeda7598 Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25054
diff changeset
535
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
536 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
537 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
538 @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
539 Undocumented internal function.
1cd3aeda7598 Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25054
diff changeset
540 @end deftypefn */)
1cd3aeda7598 Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25054
diff changeset
541 {
1cd3aeda7598 Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25054
diff changeset
542 std::string file;
1cd3aeda7598 Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25054
diff changeset
543
1cd3aeda7598 Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25054
diff changeset
544 if (args.length () >= 1)
1cd3aeda7598 Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25054
diff changeset
545 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
546
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
547 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
548
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
549 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
550 }
1cd3aeda7598 Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25054
diff changeset
551
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
552 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
553 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
554 @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
555 Undocumented internal function.
1cd3aeda7598 Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25054
diff changeset
556 @end deftypefn */)
1cd3aeda7598 Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25054
diff changeset
557 {
1cd3aeda7598 Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25054
diff changeset
558 std::string file;
1cd3aeda7598 Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25054
diff changeset
559
1cd3aeda7598 Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25054
diff changeset
560 if (args.length () >= 1)
1cd3aeda7598 Allow registering compressed help at run time (bug #53006).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25054
diff changeset
561 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
562
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 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
564
27263
99aa1bcb8848 rename octave_link and octave_link_events classes, move inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 27262
diff changeset
565 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
566 }