GNU Octave  8.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
main-window.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 //
3 // Copyright (C) 2011-2023 The Octave Project Developers
4 //
5 // See the file COPYRIGHT.md in the top-level directory of this
6 // distribution or <https://octave.org/copyright/>.
7 //
8 // This file is part of Octave.
9 //
10 // Octave is free software: you can redistribute it and/or modify it
11 // under the terms of the GNU General Public License as published by
12 // the Free Software Foundation, either version 3 of the License, or
13 // (at your option) any later version.
14 //
15 // Octave is distributed in the hope that it will be useful, but
16 // WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 // GNU General Public License for more details.
19 //
20 // You should have received a copy of the GNU General Public License
21 // along with Octave; see the file COPYING. If not, see
22 // <https://www.gnu.org/licenses/>.
23 //
24 ////////////////////////////////////////////////////////////////////////
25 
26 #if ! defined (octave_main_window_h)
27 #define octave_main_window_h 1
28 
29 // Qt includes
30 #include <QCloseEvent>
31 #include <QComboBox>
32 #include <QMainWindow>
33 #include <QPointer>
34 #include <QQueue>
35 #include <QStatusBar>
36 #include <QTabWidget>
37 #include <QThread>
38 #include <QToolBar>
39 #include <QToolButton>
40 #include <QTranslator>
41 
42 // Editor includes
44 #include "file-editor-interface.h"
45 
46 // Own includes
47 #include "dialog.h"
49 #include "files-dock-widget.h"
50 #include "find-files-dialog.h"
51 #include "history-dock-widget.h"
52 #include "interpreter-qobject.h"
53 #include "led-indicator.h"
54 #include "octave-dock-widget.h"
55 #include "octave-qobject.h"
56 #include "qt-interpreter-events.h"
57 #include "set-path-dialog.h"
58 #include "terminal-dock-widget.h"
59 #include "variable-editor.h"
60 #include "workspace-view.h"
61 
62 class octave_value;
63 
65 
66 class interpreter;
67 
68 class settings_dialog;
69 
70 //! Represents the main window.
71 
72 class main_window : public QMainWindow
73 {
74  Q_OBJECT
75 
76 public:
77 
78  typedef std::pair <std::string, std::string> name_pair;
79  typedef std::pair <int, int> int_pair;
80 
81  main_window (base_qobject& oct_qobj);
82 
83  ~main_window (void);
84 
86 
87  bool command_window_has_focus (void) const;
88 
89  void focus_command_window (void);
90 
91  bool confirm_shutdown (void);
92 
93 signals:
94 
95  // Note: CLOSE_GUI_SIGNAL is currently only used by the new
96  // experimental terminal widget.
97  void close_gui_signal (void);
98 
100  void editor_focus_changed (bool);
101 
104  void init_window_menu (void);
105  void new_file_signal (const QString&);
106  void open_file_signal (const QString&);
107  void open_file_signal (const QString& file, const QString& enc, int line);
109 
110  void show_community_news_signal (int serial);
112 
114 
115  void insert_debugger_pointer_signal (const QString& file, int line);
116  void delete_debugger_pointer_signal (const QString& file, int line);
117  void update_breakpoint_marker_signal (bool insert, const QString& file,
118  int line, const QString& cond);
119 
120  void copyClipboard_signal (void);
122  void selectAll_signal (void);
123  void undo_signal (void);
124 
126 
128 
129  void interpreter_event (const fcn_callback& fcn);
130  void interpreter_event (const meth_callback& meth);
131 
132  void execute_command_signal (const QString& command);
133 
134 public slots:
135 
136  void focus_changed (QWidget *w_old, QWidget *w_new);
137  void focus_window (const QString& win_name);
138  void request_reload_settings (void);
139 
140  void report_status_message (const QString& statusMessage);
141  void handle_save_workspace_request (void);
142  void handle_load_workspace_request (const QString& file = QString ());
143  void handle_open_any_request (const QString& file = QString ());
144  void handle_clear_workspace_request (void);
146  void handle_clear_history_request (void);
147  void handle_undo_request (void);
148  void modify_path (const QStringList& dir_list, bool rm, bool subdirs);
149  void edit_mfile (const QString&, int);
150  void file_remove_proxy (const QString& o, const QString& n);
151  void open_online_documentation_page (void);
152  void open_bug_tracker_page (void);
153  void open_octave_packages_page (void);
154  void open_contribute_page (void);
155  void open_donate_page (void);
156  void process_settings_dialog_request (const QString& desired_tab
157  = QString ());
158  void show_about_octave (void);
160  bool update_by_worker = false);
161  QPalette getFusionDarkPalette();
162  void prepare_to_exit (void);
163  void go_to_previous_widget (void);
164  void reset_windows (void);
165  void do_reset_windows (bool show = true, bool save = true,
166  bool force_all = false);
167 
168  void update_octave_directory (const QString& dir);
169  void browse_for_directory (void);
170  void set_current_working_directory (const QString& dir);
171  void change_directory_up (void);
172  void accept_directory_line_edit (void);
173 
174  void execute_command_in_terminal (const QString& dir);
175  void run_file_in_terminal (const QFileInfo& info);
176 
177  void handle_new_figure_request (void);
178 
179  void handle_enter_debugger (void);
180  void handle_exit_debugger (void);
181  void debug_continue (void);
182  void debug_step_into (void);
183  void debug_step_over (void);
184  void debug_step_out (void);
185  void debug_quit (void);
186  void editor_tabs_changed (bool, bool);
187 
188  void request_open_file (void);
189  void request_new_script (const QString& commands = QString ());
190  void request_new_function (bool triggered = true);
191  void handle_edit_mfile_request (const QString& name, const QString& file,
192  const QString& curr_dir, int line);
193 
194  void handle_insert_debugger_pointer_request (const QString& file, int line);
195  void handle_delete_debugger_pointer_request (const QString& file, int line);
196  void handle_update_breakpoint_marker_request (bool insert,
197  const QString& file, int line,
198  const QString& cond);
199 
200  void read_settings (void);
201  void init_terminal_size (void);
203  void write_settings (void);
204 
205  void copyClipboard (void);
206  void pasteClipboard (void);
207  void selectAll (void);
208 
209  void handle_gui_status_update (const QString& feature, const QString& status);
210 
211  void focus_console_after_command (void);
212 
213  void profiler_session (void);
214  void profiler_session_resume (void);
215  void profiler_stop (void);
216  void handle_profiler_status_update (bool);
217  void profiler_show (void);
218 
219  void handle_octave_ready ();
220 
221  void handle_set_path_dialog_request (void);
222 
223  //! Find files dialog.
224  //!@{
225  void find_files (const QString& startdir = QDir::currentPath ());
226  void find_files_finished (int) { }
227  //!@}
228 
229  void set_screen_size (int ht, int wd);
230 
231  //! Handling the clipboard.
232  //!@{
233  void clipboard_has_changed (void);
234  void clear_clipboard ();
235  //!@}
236 
237  //! Returns a list of dock widgets.
238 
240  {
241  return dock_widget_list ();
242  }
243 
244 private slots:
245 
246  void disable_menu_shortcuts (bool disable);
247  void restore_create_file_setting (void);
248  void set_file_encoding (const QString& new_encoding);
249  void request_open_files (const QStringList& open_file_names);
250 
251  void warning_function_not_found (const QString& message);
252 
253 protected:
254 
255  void closeEvent (QCloseEvent *closeEvent);
256 
257 private:
258 
259  void adopt_dock_widgets (void);
260 
261  void adopt_terminal_widget (void);
262  void adopt_documentation_widget (void);
263  void adopt_file_browser_widget (void);
264  void adopt_history_widget (void);
265  void adopt_workspace_widget (void);
266  void adopt_editor_widget (void);
267  void adopt_variable_editor_widget (void);
268 
269  void construct_central_widget (void);
270 
271  void construct (void);
272 
273  void construct_octave_qt_link (void);
274 
275  QAction * add_action (QMenu *menu, const QIcon& icon,
276  const QString& text, const char *member,
277  const QWidget *receiver = nullptr);
278 
279  QMenu * m_add_menu (QMenuBar *p, QString text);
280  void construct_menu_bar (void);
281  void construct_file_menu (QMenuBar *p);
282  void construct_new_menu (QMenu *p);
283  void construct_edit_menu (QMenuBar *p);
284  QAction * construct_debug_menu_item (const char *icon, const QString& item,
285  const char *member);
286  void construct_debug_menu (QMenuBar *p);
287  QAction * construct_window_menu_item (QMenu *p, const QString& item,
288  bool checkable, QWidget *);
289  void construct_tools_menu (QMenuBar *p);
291  void construct_help_menu (QMenuBar *p);
293 
294  void construct_news_menu (QMenuBar *p);
295 
296  void construct_tool_bar (void);
297 
298  void configure_shortcuts (void);
299 
301 
302  void update_default_encoding (const QString& default_encoding);
303 
304  void set_default_geometry (void);
305  void resize_dock (QDockWidget *dw, int width, int height);
306 
308 
309  QHash<QMenu *, QStringList> m_hash_menu_text;
310 
312 
315 
316  //! Toolbar.
317 
318  QStatusBar *m_status_bar;
320 
321  //! Dock widgets.
322  //!@{
323  QPointer<terminal_dock_widget> m_command_window;
324  QPointer<history_dock_widget> m_history_window;
325  QPointer<files_dock_widget> m_file_browser_window;
326  QPointer<documentation_dock_widget> m_doc_browser_window;
327  QPointer<file_editor_interface> m_editor_window;
328  QPointer<workspace_view> m_workspace_window;
329  QPointer<variable_editor> m_variable_editor_window;
330  //!@}
331 
334 
337 
338  QToolBar *m_main_tool_bar;
339 
341 
343 
348  QAction *m_debug_quit;
349 
352  QAction *m_open_action;
358  QAction *m_exit_action;
359 
360  QAction *m_copy_action;
361  QAction *m_paste_action;
363  QAction *m_undo_action;
369 
372  QAction *m_profiler_stop;
373  QAction *m_profiler_show;
374 
386  QAction *m_editor_action;
391 
399 
402 
403  //! For Toolbars.
404  //!@{
406  static const int current_directory_max_visible = 16;
407  static const int current_directory_max_count = 16;
409  //!@}
410 
411  //! Settings dialog as guarded pointer (set to 0 when deleted).
412 
413  QPointer<settings_dialog> m_settings_dlg;
414 
415  //! Find files dialog.
416 
418 
419  //! Set path dialog
420  QPointer<set_path_dialog> m_set_path_dlg;
421 
422  //! Release notes window.
423 
425 
426  QClipboard *m_clipboard;
427 
428  //! Some class global flags.
429  //!@{
435 
436  //! Flag for closing the whole application.
437 
438  bool m_closing;
439  //!@}
440 
442 };
443 
445 
446 #endif
OCTAVE_END_NAMESPACE(octave)
Base class for Octave interfaces that use Qt.
Represents the main window.
Definition: main-window.h:73
void pasteClipboard_signal(void)
void open_contribute_page(void)
Definition: main-window.cc:868
void profiler_session_resume(void)
bool m_editor_is_octave_file
Some class global flags.
Definition: main-window.h:434
void new_file_signal(const QString &)
QAction * m_debug_step_into
Definition: main-window.h:345
QHash< QMenu *, QStringList > m_hash_menu_text
Definition: main-window.h:309
void set_default_geometry(void)
void construct(void)
find_files_dialog * m_find_files_dlg
Find files dialog.
Definition: main-window.h:417
QAction * m_clear_workspace_action
Definition: main-window.h:366
void request_new_script(const QString &commands=QString())
QPointer< history_dock_widget > m_history_window
Dock widgets.
Definition: main-window.h:324
void open_donate_page(void)
Definition: main-window.cc:873
void file_remove_proxy(const QString &o, const QString &n)
Definition: main-window.cc:831
void browse_for_directory(void)
std::pair< int, int > int_pair
Definition: main-window.h:79
static const int current_directory_max_count
For Toolbars.
Definition: main-window.h:407
QPointer< settings_dialog > m_settings_dlg
Settings dialog as guarded pointer (set to 0 when deleted).
Definition: main-window.h:413
QAction * m_select_all_action
Definition: main-window.h:368
bool m_suppress_dbg_location
Some class global flags.
Definition: main-window.h:432
void request_new_function(bool triggered=true)
void profiler_session(void)
void adopt_documentation_widget(void)
Definition: main-window.cc:292
base_qobject & m_octave_qobj
Definition: main-window.h:307
QAction * m_show_history_action
Definition: main-window.h:376
QList< octave_dock_widget * > dock_widget_list(void)
void run_file_in_terminal(const QFileInfo &info)
void pasteClipboard(void)
QClipboard * m_clipboard
Definition: main-window.h:426
void settings_changed(const gui_settings *)
QString m_default_encoding
Definition: main-window.h:311
octave_dock_widget * m_previous_dock
Definition: main-window.h:335
void focus_window(const QString &win_name)
Definition: main-window.cc:495
void set_window_layout(gui_settings *settings)
QString m_default_style
Definition: main-window.h:313
QAction * m_octave_packages_action
Definition: main-window.h:395
QAction * m_editor_action
Definition: main-window.h:386
void update_gui_lexer_signal(bool)
void construct_window_menu(QMenuBar *p)
QAction * m_clear_clipboard_action
Definition: main-window.h:362
void profiler_stop(void)
octave_dock_widget * m_active_dock
Definition: main-window.h:336
bool m_closing
Flag for closing the whole application.
Definition: main-window.h:438
void handle_delete_debugger_pointer_request(const QString &file, int line)
void report_status_message(const QString &statusMessage)
Definition: main-window.cc:658
QPalette getFusionDarkPalette()
void open_bug_tracker_page(void)
Definition: main-window.cc:858
void close_gui_signal(void)
QAction * m_open_action
Definition: main-window.h:352
void show_about_octave(void)
Definition: main-window.cc:898
void set_current_working_directory(const QString &dir)
void add_actions_signal(QList< QAction * > action_list)
void process_settings_dialog_request(const QString &desired_tab=QString())
Definition: main-window.cc:878
void debug_step_out(void)
QAction * m_debug_continue
Definition: main-window.h:344
void copyClipboard_signal(void)
QAction * m_save_workspace_action
Definition: main-window.h:355
void step_into_file_signal(void)
void construct_tool_bar(void)
void closeEvent(QCloseEvent *closeEvent)
QAction * m_workspace_action
Definition: main-window.h:384
QWidget * m_active_editor
Definition: main-window.h:333
QAction * m_ondisk_doc_action
Definition: main-window.h:392
QAction * m_new_figure_action
Definition: main-window.h:353
QPointer< file_editor_interface > m_editor_window
Dock widgets.
Definition: main-window.h:327
void handle_profiler_status_update(bool)
void insert_debugger_pointer_signal(const QString &file, int line)
void edit_mfile(const QString &, int)
Definition: main-window.cc:826
void warning_function_not_found(const QString &message)
void focus_console_after_command(void)
void construct_debug_menu(QMenuBar *p)
void handle_clear_command_window_request(void)
Definition: main-window.cc:756
void handle_edit_mfile_request(const QString &name, const QString &file, const QString &curr_dir, int line)
QAction * m_history_action
Definition: main-window.h:383
void change_directory_up(void)
void clear_clipboard()
Handling the clipboard.
void handle_undo_request(void)
Definition: main-window.cc:781
void adopt_history_widget(void)
Definition: main-window.cc:327
void profiler_show(void)
void construct_central_widget(void)
void active_dock_changed(octave_dock_widget *, octave_dock_widget *)
QAction * m_documentation_action
Definition: main-window.h:387
void handle_load_workspace_request(const QString &file=QString())
Definition: main-window.cc:688
void adopt_dock_widgets(void)
Definition: main-window.cc:221
bool m_editor_has_tabs
Some class global flags.
Definition: main-window.h:433
QAction * m_contribute_action
Definition: main-window.h:396
void handle_set_path_dialog_request(void)
QAction * m_show_editor_action
Definition: main-window.h:379
void warning_function_not_found_signal(const QString &message)
void debug_step_into(void)
QMenu * m_debug_menu
Definition: main-window.h:340
void restore_create_file_setting(void)
QPointer< documentation_dock_widget > m_doc_browser_window
Dock widgets.
Definition: main-window.h:326
void reset_windows(void)
QStatusBar * m_status_bar
Toolbar.
Definition: main-window.h:318
void adopt_editor_widget(void)
Definition: main-window.cc:350
QAction * construct_window_menu_item(QMenu *p, const QString &item, bool checkable, QWidget *)
QAction * m_new_function_action
Definition: main-window.h:351
void construct_documentation_menu(QMenu *p)
void undo_signal(void)
QAction * m_reset_windows_action
Definition: main-window.h:390
void adopt_terminal_widget(void)
Definition: main-window.cc:234
main_window(base_qobject &oct_qobj)
Definition: main-window.cc:95
void execute_command_signal(const QString &command)
void delete_debugger_pointer_signal(const QString &file, int line)
void notice_settings(const gui_settings *settings, bool update_by_worker=false)
Definition: main-window.cc:907
void handle_clear_workspace_request(void)
Definition: main-window.cc:745
void write_settings(void)
void update_breakpoint_marker_signal(bool insert, const QString &file, int line, const QString &cond)
void editor_focus_changed(bool)
void editor_tabs_changed(bool, bool)
void handle_insert_debugger_pointer_request(const QString &file, int line)
void disable_menu_shortcuts(bool disable)
QAction * m_find_files_action
Definition: main-window.h:367
void adopt_variable_editor_widget(void)
Definition: main-window.cc:454
void construct_menu_bar(void)
QAction * m_new_script_action
Definition: main-window.h:350
void construct_edit_menu(QMenuBar *p)
void open_file_signal(const QString &file, const QString &enc, int line)
QPalette m_default_palette
Definition: main-window.h:314
void handle_open_any_request(const QString &file=QString())
Definition: main-window.cc:721
void selectAll_signal(void)
QPointer< variable_editor > m_variable_editor_window
Dock widgets.
Definition: main-window.h:329
QAction * m_debug_step_over
Definition: main-window.h:346
void read_settings(void)
void make_dock_widget_connections(octave_dock_widget *dw)
Definition: main-window.cc:461
bool m_prevent_readline_conflicts_menu
Some class global flags.
Definition: main-window.h:431
QPointer< set_path_dialog > m_set_path_dlg
Set path dialog.
Definition: main-window.h:420
std::pair< std::string, std::string > name_pair
Definition: main-window.h:78
void handle_clear_history_request(void)
Definition: main-window.cc:768
void show_community_news_signal(int serial)
void modify_path(const QStringList &dir_list, bool rm, bool subdirs)
Definition: main-window.cc:798
void find_files(const QString &startdir=QDir::currentPath())
Find files dialog.
QAction * m_profiler_resume
Definition: main-window.h:371
QLineEdit * m_current_directory_line_edit
For Toolbars.
Definition: main-window.h:408
void go_to_previous_widget(void)
QAction * m_previous_dock_action
Definition: main-window.h:389
void handle_new_figure_request(void)
QAction * m_profiler_show
Definition: main-window.h:373
QAction * m_current_news_action
Definition: main-window.h:401
void accept_directory_line_edit(void)
QMenu * m_add_menu(QMenuBar *p, QString text)
QAction * m_command_window_action
Definition: main-window.h:382
QAction * m_release_notes_action
Definition: main-window.h:400
void debug_step_over(void)
void focus_command_window(void)
Definition: main-window.cc:490
void interpreter_event(const fcn_callback &fcn)
QAction * m_variable_editor_action
Definition: main-window.h:388
QAction * m_clear_command_window_action
Definition: main-window.h:364
void prepare_to_exit(void)
external_editor_interface * m_external_editor
Definition: main-window.h:332
void request_reload_settings(void)
Definition: main-window.cc:649
void configure_shortcuts(void)
QAction * construct_debug_menu_item(const char *icon, const QString &item, const char *member)
void interpreter_event(const meth_callback &meth)
bool confirm_shutdown(void)
Definition: main-window.cc:507
QList< octave_dock_widget * > get_dock_widget_list(void)
Returns a list of dock widgets.
Definition: main-window.h:239
void construct_news_menu(QMenuBar *p)
static const int current_directory_max_visible
For Toolbars.
Definition: main-window.h:406
QAction * m_preferences_action
Definition: main-window.h:357
QAction * m_show_variable_editor_action
Definition: main-window.h:381
void request_open_file(void)
void clipboard_has_changed(void)
Handling the clipboard.
void selectAll(void)
QAction * m_show_documentation_action
Definition: main-window.h:380
void handle_enter_debugger(void)
void init_terminal_size_signal(void)
QAction * m_about_octave_action
Definition: main-window.h:398
QAction * m_exit_action
Definition: main-window.h:358
void handle_save_workspace_request(void)
Definition: main-window.cc:663
QComboBox * m_current_directory_combo_box
For Toolbars.
Definition: main-window.h:405
QAction * add_action(QMenu *menu, const QIcon &icon, const QString &text, const char *member, const QWidget *receiver=nullptr)
void adopt_file_browser_widget(void)
Definition: main-window.cc:299
void construct_octave_qt_link(void)
bool m_prevent_readline_conflicts
Some class global flags.
Definition: main-window.h:430
QAction * m_debug_step_out
Definition: main-window.h:347
void find_files_finished(int)
Find files dialog.
Definition: main-window.h:226
QAction * m_copy_action
Definition: main-window.h:360
~main_window(void)
Definition: main-window.cc:219
void init_window_menu(void)
void construct_new_menu(QMenu *p)
QAction * m_profiler_start
Definition: main-window.h:370
QPointer< terminal_dock_widget > m_command_window
Dock widgets.
Definition: main-window.h:323
QAction * m_developer_action
Definition: main-window.h:397
QAction * m_show_workspace_action
Definition: main-window.h:377
void open_octave_packages_page(void)
Definition: main-window.cc:863
QAction * m_paste_action
Definition: main-window.h:361
void construct_file_menu(QMenuBar *p)
QWidget * m_release_notes_window
Release notes window.
Definition: main-window.h:424
led_indicator * m_profiler_status_indicator
Definition: main-window.h:319
void execute_command_in_terminal(const QString &dir)
void init_terminal_size(void)
void set_file_encoding(const QString &new_encoding)
bool command_window_has_focus(void) const
Definition: main-window.cc:485
QAction * m_debug_quit
Definition: main-window.h:348
void handle_update_breakpoint_marker_request(bool insert, const QString &file, int line, const QString &cond)
void do_reset_windows(bool show=true, bool save=true, bool force_all=false)
QAction * m_show_command_window_action
Definition: main-window.h:375
QAction * m_load_workspace_action
Definition: main-window.h:354
void resize_dock(QDockWidget *dw, int width, int height)
void debug_quit(void)
void handle_gui_status_update(const QString &feature, const QString &status)
QAction * m_clear_command_history_action
Definition: main-window.h:365
void copyClipboard(void)
QString m_file_encoding
Definition: main-window.h:441
void open_online_documentation_page(void)
Definition: main-window.cc:852
void focus_changed(QWidget *w_old, QWidget *w_new)
Definition: main-window.cc:536
QAction * m_profiler_stop
Definition: main-window.h:372
QAction * m_undo_action
Definition: main-window.h:363
void show_release_notes_signal(void)
QAction * m_show_file_browser_action
Definition: main-window.h:378
void open_file_signal(const QString &)
void update_default_encoding(const QString &default_encoding)
void set_screen_size(int ht, int wd)
void construct_help_menu(QMenuBar *p)
void adopt_workspace_widget(void)
Definition: main-window.cc:340
void request_open_files(const QStringList &open_file_names)
QPointer< files_dock_widget > m_file_browser_window
Dock widgets.
Definition: main-window.h:325
QAction * m_report_bug_action
Definition: main-window.h:394
QToolBar * m_main_tool_bar
Definition: main-window.h:338
void handle_exit_debugger(void)
void update_octave_directory(const QString &dir)
QMenuBar * m_editor_menubar
Definition: main-window.h:342
void handle_octave_ready()
QAction * m_file_browser_action
Definition: main-window.h:385
QPointer< workspace_view > m_workspace_window
Dock widgets.
Definition: main-window.h:328
void construct_tools_menu(QMenuBar *p)
QAction * m_set_path_action
Definition: main-window.h:356
QAction * m_online_doc_action
Definition: main-window.h:393
void debug_continue(void)
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
void message(const char *name, const char *fmt,...)
Definition: error.cc:947
std::function< void(void)> fcn_callback
Definition: event-manager.h:43
std::function< void(interpreter &)> meth_callback
Definition: event-manager.h:48
octave_idx_type n
Definition: mx-inlines.cc:753