23 #if defined (HAVE_CONFIG_H)
27 #if defined (HAVE_QSCINTILLA)
33 #include <QApplication>
35 #include <QFileDialog>
37 #include <QInputDialog>
38 #include <QMessageBox>
43 #include <QTextStream>
44 #include <QVBoxLayout>
45 #include <Qsci/qscicommandset.h>
57 ced = QDir::currentPath ();
118 QStringList fetFileNames;
119 QStringList fet_encodings;
120 QStringList fet_index;
126 QString file_name =
p->first;
127 if (! file_name.isEmpty ())
129 fetFileNames.append (file_name);
132 fet_index.append (index.setNum
137 settings->setValue (
"editor/savedSessionTabs", fetFileNames);
138 settings->setValue (
"editor/saved_session_encodings", fet_encodings);
139 settings->setValue (
"editor/saved_session_tab_index", fet_index);
229 QString new_name = QInputDialog::getText (
this, tr (
"New Function"),
230 tr (
"New function name:\n"), QLineEdit::Normal,
"", &ok);
231 if (ok && new_name.length () > 0)
234 if (new_name.rightRef (2) !=
".m")
235 new_name.append (
".m");
238 if (! settings->value (
"editor/create_new_file",
false).toBool ())
241 settings->setValue (
"editor/create_new_file",
true);
255 settings->setValue (
"editor/create_new_file",
false);
269 fileDialog->setNameFilter (tr (
"Octave Files (*.m);;All Files (*)"));
274 fileDialog->setOption(QFileDialog::DontUseNativeDialog,
true);
277 QGridLayout *extra =
new QGridLayout (fileDialog);
278 QFrame *separator =
new QFrame (fileDialog);
279 separator->setFrameShape (QFrame::HLine);
280 separator->setFrameStyle (QFrame::Sunken);
283 QLabel *label_enc =
new QLabel (tr (
"File Encoding:"));
284 QComboBox *combo_enc =
new QComboBox ();
289 connect (combo_enc, SIGNAL (currentIndexChanged (QString)),
293 extra->addWidget (separator,0,0,1,3);
294 extra->addWidget (label_enc,1,0);
295 extra->addWidget (combo_enc,1,1);
296 extra->addItem (
new QSpacerItem (1,20,QSizePolicy::Expanding,
297 QSizePolicy::Fixed), 1,2);
300 QGridLayout *dialog_layout =
dynamic_cast<QGridLayout*
> (fileDialog->layout ());
301 dialog_layout->addLayout (extra,dialog_layout->rowCount (),0,
302 1,dialog_layout->columnCount ());
304 fileDialog->setAcceptMode (QFileDialog::AcceptOpen);
305 fileDialog->setViewMode (QFileDialog::Detail);
306 fileDialog->setFileMode (QFileDialog::ExistingFiles);
307 fileDialog->setDirectory (
ced);
309 connect (fileDialog, SIGNAL (filesSelected (
const QStringList&)),
312 fileDialog->setWindowModality (Qt::NonModal);
313 fileDialog->setAttribute (Qt::WA_DeleteOnClose);
332 QString tab_file =
p->first;
334 if (
same_file (file.toStdString (), tab_file.toStdString ())
337 retval =
p->second.fet_ID;
351 if (settings->value (
"useCustomFileEditor",
false).toBool ())
356 QString editor = settings->value (
"customFileEditor").toString ();
357 editor.replace (
"%f", file_name);
360 bool started_ok = QProcess::startDetached (editor);
362 if (started_ok !=
true)
366 tr (
"Octave Editor"),
367 tr (
"Could not start custom file editor\n%1").
369 QMessageBox::Ok,
this);
371 msgBox->setWindowModality (Qt::NonModal);
372 msgBox->setAttribute (Qt::WA_DeleteOnClose);
376 if (line < 0 && ! file_name.isEmpty ())
394 for (
int i = 0;
i < w_list.count ();
i++)
396 if (w_list.at (
i) == console)
409 for (
int i = 0;
i < open_file_names.count ();
i++)
417 const QString& encoding,
418 int line,
bool debug_pointer,
419 bool breakpoint_marker,
bool insert,
425 if (openFileName.isEmpty ())
451 if (breakpoint_marker)
465 bool reusing =
false;
492 QFileInfo file_info = QFileInfo (openFileName);
503 if (breakpoint_marker)
510 delete fileEditorTab;
512 if (QFile::exists (openFileName))
518 tr (
"Octave Editor"),
519 tr (
"Could not open file\n%1\nfor read: %2.").
520 arg (openFileName).
arg (result),
521 QMessageBox::Ok,
this);
523 msgBox->setWindowModality (Qt::NonModal);
524 msgBox->setAttribute (Qt::WA_DeleteOnClose);
530 bool create_file =
true;
534 if (! settings->value (
"editor/create_new_file",
false).toBool ())
537 tr (
"Octave Editor"),
538 tr (
"File\n%1\ndoes not exist. "
539 "Do you want to create it?").
arg (openFileName),
540 QMessageBox::NoButton,0);
542 msgBox->addButton (tr (
"Create"), QMessageBox::YesRole);
543 msgBox->addButton (tr (
"Cancel"), QMessageBox::RejectRole);
544 msgBox->setDefaultButton (create_button);
547 QAbstractButton *clicked_button = msgBox->clickedButton ();
548 if (clicked_button != create_button)
557 QFile
file (openFileName);
558 if (! file.open (QIODevice::WriteOnly))
562 tr (
"Octave Editor"),
563 tr (
"Could not open file\n%1\nfor write: %2.").
564 arg (openFileName).
arg (file.errorString ()),
565 QMessageBox::Ok,
this);
567 msgBox->setWindowModality (Qt::NonModal);
568 msgBox->setAttribute (Qt::WA_DeleteOnClose);
598 action->data ().toStringList ().at (1));
604 bool remove_on_success)
624 =
new QMessageBox (QMessageBox::Critical, tr (
"Octave Editor"),
625 tr (
"File not saved! A file with the selected name\n%1\n"
626 "is already open in the editor").
630 msgBox->setWindowModality (Qt::NonModal);
631 msgBox->setAttribute (Qt::WA_DeleteOnClose);
637 QObject *saveFileObject = sender ();
648 if (! saveFileWidget)
652 =
new QMessageBox (QMessageBox::Critical, tr (
"Octave Editor"),
653 tr (
"The associated file editor tab has disappeared."),
656 msgBox->setWindowModality (Qt::NonModal);
657 msgBox->setAttribute (Qt::WA_DeleteOnClose);
664 emit
fetab_save_file (saveFileWidget, saveFileName, remove_on_success);
669 const QString& ffile,
670 const QString& curr_dir,
int line)
684 if (type == QString(
"built-in function"))
687 message = tr (
"%1 is a built-in function");
689 else if (type.isEmpty ())
694 if (ffile.isEmpty ())
696 if (curr_dir.isEmpty ())
699 dir = QDir (curr_dir);
702 dir = QDir (QFileInfo (ffile).canonicalPath ());
705 QFileInfo
file = QFileInfo (dir, fname +
".m");
709 filename = file.canonicalFilePath ();
714 file = QFileInfo (ffile);
715 file = QFileInfo (QDir (file.canonicalPath () +
"/private"),
720 filename = file.canonicalFilePath ();
724 message = tr (
"Can not find function %1");
729 if (! message.isEmpty ())
733 tr (
"Octave Editor"),
735 QMessageBox::Ok,
this);
737 msgBox->setWindowModality (Qt::NonModal);
738 msgBox->setAttribute (Qt::WA_DeleteOnClose);
743 if (filename.isEmpty ())
747 if (! filename.endsWith (
".m"))
748 filename.append (
".m");
764 if (! file.isEmpty ())
805 QsciScintillaBase::SCI_UNDO);
812 QsciScintillaBase::SCI_REDO);
820 QsciScintillaBase::SCI_COPY);
827 QsciScintillaBase::SCI_CUT);
835 QsciScintillaBase::SCI_PASTE);
843 QsciScintillaBase::SCI_SELECTALL);
947 QsciScintillaBase::SCI_DELWORDLEFT);
953 QsciScintillaBase::SCI_DELWORDRIGHT);
959 QsciScintillaBase::SCI_DELLINELEFT);
965 QsciScintillaBase::SCI_DELLINERIGHT);
971 QsciScintillaBase::SCI_LINEDELETE);
977 QsciScintillaBase::SCI_LINECOPY);
983 QsciScintillaBase::SCI_LINECUT);
989 QsciScintillaBase::SCI_SELECTIONDUPLICATE);
995 QsciScintillaBase::SCI_LINETRANSPOSE);
1013 QsciScintillaBase::SCI_UPPERCASE);
1019 QsciScintillaBase::SCI_LOWERCASE);
1037 QsciScintilla::EolWindows);
1043 QsciScintilla::EolUnix);
1049 QsciScintilla::EolMac);
1096 const QString& encoding)
1099 while ((index =
_mru_files.indexOf (file_name)) >= 0)
1117 for (
int i = 0;
i < num_files; ++
i)
1119 QString
text = tr (
"&%1 %2").
1123 QStringList action_data;
1144 settings->setValue (
"editor/mru_file_list",
_mru_files);
1153 QObject *fileEditorTab = sender ();
1181 for (
int index =
_tab_widget->count ()-1; index >= 0; index--)
1195 for (
int index =
_tab_widget->count ()-1; index >= 0; index--)
1217 QObject *fileEditorTab = sender ();
1227 delete fileEditorTab;
1239 const QString& encoding,
QWidget *ID)
1259 foreach (a, all_actions)
1260 menu->removeAction (a);
1265 menu->addSeparator ();
1269 menu->addSeparator ();
1271 menu->addSeparator ();
1279 bool old = settings->value (preference,def).toBool ();
1280 settings->setValue (preference,! old);
1353 bool is_octave_file)
1372 int icon_size_settings = settings->value (
"toolbar_icon_size",0).toInt ();
1373 QStyle *st = style ();
1374 int icon_size = st->pixelMetric (QStyle::PM_ToolBarIconSize);
1376 if (icon_size_settings == 1)
1377 icon_size = st->pixelMetric (QStyle::PM_LargeIconSize);
1378 else if (icon_size_settings == -1)
1379 icon_size = st->pixelMetric (QStyle::PM_SmallIconSize);
1381 _tool_bar->setIconSize (QSize (icon_size,icon_size));
1383 int tab_width_min = settings->value (
"editor/notebook_tab_width_min", 160)
1385 int tab_width_max = settings->value (
"editor/notebook_tab_width_max", 300)
1388 if (settings->value (
"editor/longWindowTitle",
false).toBool ())
1390 QString style_sheet = QString (
"QTabBar::tab "
1391 "{min-width: %1px; max-width: %2px;}")
1392 .arg (tab_width_min).arg (tab_width_max);
1402 show_it = settings->value (
"editor/showLineNumbers",
true).toBool ();
1404 show_it = settings->value (
"editor/show_white_space",
false).toBool ();
1406 show_it = settings->value (
"editor/show_eol_chars",
false).toBool ();
1408 show_it = settings->value (
"editor/show_indent_guides",
false).toBool ();
1410 show_it = settings->value (
"editor/long_line_marker",
true).toBool ();
1413 show_it = settings->value (
"editor/show_toolbar",
true).toBool ();
1416 show_it = settings->value (
"editor/show_edit_status_bar",
true).toBool ();
1418 show_it = settings->value (
"editor/show_hscroll_bar",
true).toBool ();
1445 QAction *open_action = shared_actions.at (
OPEN_ACTION);
1449 _fileMenu->insertAction (open_action, new_fcn_action);
1450 _fileMenu->insertAction (new_fcn_action, new_action);
1452 _tool_bar->insertAction (open_action, new_action);
1487 a = menu->addAction (icon, text,
this, member);
1490 a =
new QAction (
this);
1491 connect (a, SIGNAL (triggered ()),
this, member);
1495 a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
1505 QHash<QMenu*, QStringList>::const_iterator
i =
_hash_menu_text.constBegin();
1509 i.key ()->setTitle (i.value ().at (! enable));
1525 QMenu *menu = p->addMenu (name);
1527 QString base_name =
name;
1529 base_name.replace (
"&&",
"___octave_amp_replacement___");
1531 base_name.remove (
"&");
1533 base_name.replace (
"___octave_amp_replacement___",
"&&");
1549 #if defined (Q_OS_MAC)
1552 _tool_bar =
new QToolBar (editor_widget);
1556 #if defined (HAVE_QTABWIDGET_SETMOVABLE)
1562 _mru_files = settings->value (
"editor/mru_file_list").toStringList ();
1633 tr (
"&Find and Replace..."), SLOT (
request_find (
bool)));
1699 tr (
"Convert Line Endings to &Windows (CRLF)"),
1702 tr (
"Convert Line Endings to &Unix (LF)"),
1705 tr (
"Convert Line Endings to &Mac (CR)"),
1778 view_menu->addSeparator ();
1781 tr (
"Zoom &In"), SLOT (
zoom_in (
bool)));
1783 tr (
"Zoom &Out"), SLOT (
zoom_out (
bool)));
1843 QToolButton *popdown_button =
new QToolButton ();
1844 popdown_button->setToolTip (tr (
"Recent Files"));
1846 popdown_button->setPopupMode (QToolButton::InstantPopup);
1847 popdown_button->setToolButtonStyle (Qt::ToolButtonTextOnly);
1872 QVBoxLayout *vbox_layout =
new QVBoxLayout ();
1876 vbox_layout->setMargin (0);
1877 editor_widget->setLayout (vbox_layout);
1878 setWidget (editor_widget);
1882 main_win (), SLOT (execute_command_in_terminal (
const QString&)));
1886 SLOT (process_settings_dialog_request (
const QString&)));
1888 connect (
main_win (), SIGNAL (new_file_signal (
const QString&)),
1891 connect (
main_win (), SIGNAL (open_file_signal (
const QString&)),
1894 connect (
main_win (), SIGNAL (edit_mfile_request (
const QString&,
1895 const QString&,
const QString&,
int)),
1897 const QString&,
const QString&,
int)));
1904 connect (
_tab_widget, SIGNAL (tabCloseRequested (
int)),
1907 connect (
_tab_widget, SIGNAL (currentChanged (
int)),
1911 setWindowIcon (QIcon (
":/actions/icons/logo.png"));
1923 if (! settings->value (
"editor/restoreSession",
true).toBool ())
1927 QStringList sessionFileNames = settings->value (
"editor/savedSessionTabs",
1928 QStringList ()).toStringList ();
1929 QStringList session_encodings = settings->value (
"editor/saved_session_encodings",
1930 QStringList ()).toStringList ();
1931 QStringList session_index = settings->value (
"editor/saved_session_tab_index",
1932 QStringList ()).toStringList ();
1937 bool do_encoding = (session_encodings.count () == sessionFileNames.count ());
1938 bool do_index = (session_index.count () == sessionFileNames.count ());
1940 for (
int n = 0; n < sessionFileNames.count (); ++n)
1942 QFileInfo
file = QFileInfo (sessionFileNames.at (n));
1943 if (! file.exists ())
1946 session_data item = { QString (), sessionFileNames.at (n), QString ()};
1948 item.
index = session_index.at (n);
1950 item.
encoding = session_encodings.at (n);
1958 for (
int n = 0; n < s_data.count (); ++n)
1968 connect (f->
qsci_edit_area (), SIGNAL (status_update (
bool,
bool)),
1971 connect (f->
qsci_edit_area (), SIGNAL (show_doc_signal (
const QString&)),
1972 main_win (), SLOT (handle_show_doc (
const QString&)));
1974 connect (f->
qsci_edit_area (), SIGNAL (create_context_menu_signal (QMenu *)),
1979 main_win (), SLOT (execute_command_in_terminal (
const QString&)));
1982 connect (f, SIGNAL (file_name_changed (
const QString&,
const QString&)),
1986 connect (f, SIGNAL (editor_state_changed (
bool,
bool)),
1989 connect (f, SIGNAL (tab_remove_request ()),
1992 connect (f, SIGNAL (add_filename_to_list (
const QString&,
1998 connect (f, SIGNAL (editor_check_conflict_save (
const QString&,
bool)),
2001 connect (f, SIGNAL (mru_add_file (
const QString&,
const QString&)),
2004 connect (f, SIGNAL (run_file_signal (
const QFileInfo&)),
2005 main_win (), SLOT (run_file_in_terminal (
const QFileInfo&)));
2010 connect (f, SIGNAL (edit_mfile_request (
const QString&,
const QString&,
2011 const QString&,
int)),
2014 const QString&,
int)));
2021 f, SLOT (change_editor_state (
const QWidget*)));
2024 f, SLOT (file_name_query (
const QWidget*)));
2028 f, SLOT (save_file (
const QWidget*,
const QString&,
bool)));
2031 f, SLOT (check_modified_file (
void)));
2034 main_win (), SLOT (execute_command_in_terminal (
const QString&)));
2038 f, SLOT (recover_from_exit (
void)));
2041 f, SLOT (set_current_directory (
const QString&)));
2051 f, SLOT (context_help (
const QWidget*,
bool)));
2054 f, SLOT (context_edit (
const QWidget*)));
2057 f, SLOT (save_file (
const QWidget*)));
2063 f, SLOT (print_file (
const QWidget*)));
2066 f, SLOT (run_file (
const QWidget*)));
2069 f, SLOT (context_run (
const QWidget*)));
2072 f, SLOT (toggle_bookmark (
const QWidget*)));
2075 f, SLOT (next_bookmark (
const QWidget*)));
2078 f, SLOT (previous_bookmark (
const QWidget*)));
2081 f, SLOT (remove_bookmark (
const QWidget*)));
2084 f, SLOT (toggle_breakpoint (
const QWidget*)));
2087 f, SLOT (next_breakpoint (
const QWidget*)));
2090 f, SLOT (previous_breakpoint (
const QWidget*)));
2093 f, SLOT (remove_all_breakpoints (
const QWidget*)));
2097 f, SLOT (scintilla_command (
const QWidget *,
unsigned int)));
2100 f, SLOT (comment_selected_text (
const QWidget*)));
2103 f, SLOT (uncomment_selected_text (
const QWidget*)));
2106 f, SLOT (indent_selected_text (
const QWidget*)));
2109 f, SLOT (unindent_selected_text (
const QWidget*)));
2113 f, SLOT (convert_eol (
const QWidget*, QsciScintilla::EolMode)));
2119 f, SLOT (find_next (
const QWidget*)));
2122 f, SLOT (find_previous (
const QWidget*)));
2125 f, SLOT (goto_line (
const QWidget*,
int)));
2128 f, SLOT (move_match_brace (
const QWidget*,
bool)));
2131 f, SLOT (show_auto_completion (
const QWidget*)));
2134 f, SLOT (set_focus (
const QWidget*)));
2137 f, SLOT (insert_debugger_pointer (
const QWidget*,
int)));
2140 f, SLOT (delete_debugger_pointer (
const QWidget*,
int)));
2143 int,
const QString&)),
2144 f, SLOT (do_breakpoint_marker (
bool,
const QWidget*,
int,
2156 if (foc_w && foc_w->inherits (
"octave_qscintilla"))
2293 if (settings->value (
"useCustomFileEditor",
false).toBool ())
2299 real_visible = isVisible ();
2301 real_visible = visible;
2306 if (startup && ! isFloating ())
2311 bool in_tab =
false;
2313 while ((i < tab_list.count ()) && (! in_tab))
2315 QTabBar *tab = tab_list.at (i);
2319 while ((j < tab->count ()) && (! in_tab))
2322 if (tab->tabText (j) == windowTitle ())
2326 int top = tab->currentIndex ();
2327 if (top > -1 && tab->tabText (top) == windowTitle ())
2328 real_visible =
true;
2348 if (visible && ! isFloating ())
2355 if (e->mimeData ()->hasUrls ())
2357 e->acceptProposedAction();
2364 if (e->mimeData ()->hasUrls ())
2366 foreach (QUrl
url, e->mimeData ()->urls ())
2387 #if defined (HAVE_QTABWIDGET_SETMOVABLE)
2394 #if defined (HAVE_QTABWIDGET_SETMOVABLE)
2407 int new_pos =
_tab_widget->currentIndex () + direction;
2409 if (new_pos < 0 || new_pos >= tabs)
2410 new_pos = new_pos - direction*tabs;
2414 #if defined (HAVE_QTABWIDGET_SETMOVABLE)
QAction * _delete_end_line_action
std::map< QString, tab_info >::const_iterator editor_tab_map_const_iterator
void fetab_save_file(const QWidget *ID, const QString &fileName, bool remove_on_success)
void fetab_set_focus(const QWidget *ID)
void request_save_file(bool)
void dragEnterEvent(QDragEnterEvent *event)
QList< QAction * > _fetab_actions
void request_close_file(bool)
const Cell & contents(const_iterator p) const
QMenu * m_add_menu(QMenuBar *p, QString text)
void request_delete_start_word(bool)
void update_window_title(bool modified)
For example cd octave end example noindent changes the current working directory to file
void request_save_file_as(bool)
QAction * _toggle_bookmark_action
bool same_file(const std::string &f, const std::string &g)
void request_delete_start_line(bool)
void fetab_context_run(const QWidget *ID)
QAction * _show_eol_action
QAction * _delete_start_word_action
QAction * _remove_all_breakpoints_action
void fetab_run_file(const QWidget *ID)
QAction * _goto_line_action
void request_uncomment_selected_text(bool)
QAction * _find_next_action
QAction * _next_bookmark_action
QAction * _sel_to_matching_brace
OCTAVE_EXPORT octave_value_list isa nd deftypefn *return ovl(args(0).is_integer_type())
QAction * _delete_line_action
void request_delete_line(bool)
void show_white_space(bool)
void fetab_context_edit(const QWidget *ID)
void restore_create_file_setting()
bool is_editor_console_tabbed()
F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T F77_REAL F77_REAL &F77_RET_T F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE const F77_DBLE * f
void request_new_file(const QString &commands)
void handle_edit_file_request(const QString &file)
void handle_enter_debug_mode(void)
void fetab_change_request(const QWidget *ID)
void show_hscrollbar(bool)
void request_duplicate_selection(bool)
QAction * _move_tab_right_action
void fetab_completion(const QWidget *)
void request_indent_selected_text(bool)
void request_unindent_selected_text(bool)
void fetab_unindent_selected_text(const QWidget *ID)
octave_value arg(void) const
void update_octave_directory(const QString &dir)
QAction * _conv_eol_windows_action
bool editor_tab_has_focus()
QAction * _conv_eol_unix_action
QAction * _delete_start_line_action
QAction * _context_doc_action
QAction * _delete_end_word_action
QAction * _switch_right_tab_action
QAction * add_action(QMenu *menu, const QIcon &icon, const QString &text, const char *member)
QAction * _move_tab_left_action
void request_new_function(bool triggered=true)
void handle_mru_add_file(const QString &file_name, const QString &encoding)
QString fromStdString(const std::string &s)
void request_delete_end_word(bool)
void fetab_do_breakpoint_marker(bool insert, const QWidget *ID, int line=-1, const QString &="")
void request_preferences(bool)
void fetab_delete_debugger_pointer(const QWidget *ID, int line=-1)
void fetab_scintilla_command(const QWidget *ID, unsigned int sci_msg)
QAction * _show_toolbar_action
static void combo_encoding(QComboBox *combo, QString current=QString())
void fetab_toggle_bookmark(const QWidget *ID)
QAction * _previous_bookmark_action
void request_comment_selected_text(bool)
void request_conv_eol_unix(bool)
void request_find_previous(bool)
void request_completion(bool)
void fetab_zoom_in(const QWidget *ID)
void request_next_breakpoint(bool)
QAction * _conv_eol_mac_action
QAction * _show_whitespace_action
bool call_custom_editor(const QString &file_name=QString(), int line=-1)
void show_indent_guides(bool)
QAction * _selectall_action
QAction * _close_all_action
void fetab_move_match_brace(const QWidget *ID, bool select)
QAction * _indent_selection_action
void fetab_uncomment_selected_text(const QWidget *ID)
void request_upper_case(bool)
QAction * _close_others_action
void empty_script(bool startup, bool visible)
calling an anonymous function involves an overhead quite comparable to the overhead of an m file function Passing a handle to a built in function is because the interpreter is not involved in the internal loop For a
QAction * _show_linenum_action
QAction * _move_to_matching_brace
void fetab_context_help(const QWidget *ID, bool)
void fetab_remove_bookmark(const QWidget *ID)
void handle_insert_debugger_pointer_request(const QString &file, int line)
void message(const char *name, const char *fmt,...)
QAction * _show_longline_action
QAction * _edit_function_action
void fetab_save_file_as(const QWidget *ID)
void execute_command_in_terminal_signal(const QString &)
void request_remove_breakpoint(bool)
void request_mru_open_file(QAction *action)
void fetab_zoom_out(const QWidget *ID)
void show_statusbar(bool)
void fetab_convert_eol(const QWidget *ID, QsciScintilla::EolMode eol_mode)
QAction * _cut_line_action
void fetab_indent_selected_text(const QWidget *ID)
octave_qscintilla * qsci_edit_area()
QAction * _previous_breakpoint_action
void enable_menu_shortcuts(bool)
QAction * _find_files_action
void request_styles_preferences(bool)
std::string string_value(bool force=false) const
void handle_edit_mfile_request(const QString &name, const QString &file, const QString &curr_dir, int line)
QAction * _show_indguide_action
void fetab_next_breakpoint(const QWidget *ID)
void request_delete_end_line(bool)
void request_context_doc(bool)
std::complex< double > w(std::complex< double > z, double relerr=0)
void request_context_edit(bool)
QAction * _context_help_action
QAction * _lower_case_action
const T * data(void) const
void fetab_find_previous(const QWidget *ID)
QAction * _styles_preferences_action
QAction * _preferences_action
void request_next_bookmark(bool)
QAction * _duplicate_selection_action
void file_loaded_signal()
void restore_session(QSettings *settings)
QAction * _zoom_normal_action
QAction * _uncomment_selection_action
void fetab_zoom_normal(const QWidget *ID)
void switch_tab(int direction, bool movetab=false)
void check_conflict_save(const QString &fileName, bool remove_on_success)
void request_goto_line(bool)
void show_long_line(bool)
QAction * _completion_action
void handle_tab_remove_request(void)
void request_open_files(const QStringList &)
QHash< QMenu *, QStringList > _hash_menu_text
QAction * _popdown_mru_action
QAction * _transpose_line_action
void toggle_preference(const QString &preference, bool def)
void fetab_next_bookmark(const QWidget *ID)
QAction * _unindent_selection_action
void fetab_recover_from_exit(void)
void request_conv_eol_windows(bool)
QAction * _switch_left_tab_action
void fetab_check_modified_file(void)
void handle_editor_state_changed(bool enableCopy, bool is_octave_file)
void request_settings_dialog(const QString &)
static QSettings * get_settings(void)
QStringList _mru_files_encodings
void request_context_run(bool)
void fetab_settings_changed(const QSettings *settings)
QAction * _next_breakpoint_action
void handle_exit_debug_mode(void)
With real return the complex result
void mru_menu_update(void)
void handle_add_filename_to_list(const QString &fileName, const QString &encoding, QWidget *ID)
void fetab_file_name_query(const QWidget *ID)
void show_eol_chars(bool)
void handle_tab_close_request(int index)
void notice_settings(const QSettings *settings)
QAction * _save_as_action
void request_cut_line(bool)
static octave_idx_type find(octave_idx_type i, octave_idx_type *pp)
void request_previous_breakpoint(bool)
void handle_delete_debugger_pointer_request(const QString &file, int line)
void request_context_help(bool)
void request_toggle_breakpoint(bool)
void request_remove_bookmark(bool)
void request_sel_match_brace(bool)
void request_run_file(bool)
static bool was_cancelled(void)
void handle_combo_enc_current_index(QString new_encoding)
void fetab_print_file(const QWidget *ID)
QAction * _show_statusbar_action
=val(i)}if ode{val(i)}occurs in table i
void request_conv_eol_mac(bool)
void request_open_file(void)
void request_new_script(const QString &commands)
QAction * _show_hscrollbar_action
void create_context_menu(QMenu *)
void request_move_match_brace(bool)
void insert_global_actions(QList< QAction * >)
void request_close_other_files(bool)
void request_find_next(bool)
void fetab_comment_selected_text(const QWidget *ID)
void edit_status_update(bool, bool)
void fetab_set_directory(const QString &dir)
QList< octave_dock_widget * > get_dock_widget_list()
OCTINTERP_API octave_value_list F__which__(const octave_value_list &=octave_value_list(), int=0)
static QIcon icon(const QString &icon_name, bool fallback=true)
bool conditional_close(void)
void fetab_goto_line(const QWidget *ID, int line=-1)
void request_print_file(bool)
QAction * _mru_file_actions[MaxMRUFiles]
QAction * _upper_case_action
QAction * _toggle_breakpoint_action
void handle_visibility(bool visible)
void request_copy_line(bool)
QString load_file(const QString &fileName)
QAction * _run_selection_action
void active_tab_changed(int index)
void fetab_remove_all_breakpoints(const QWidget *ID)
void fetab_toggle_breakpoint(const QWidget *ID)
QAction * _zoom_in_action
void handle_file_name_changed(const QString &fileName, const QString &toolTip)
static void reset_cancel(void)
void request_previous_bookmark(bool)
void request_close_all_files(bool)
QAction * _copy_line_action
void fetab_previous_breakpoint(const QWidget *ID)
void fetab_insert_debugger_pointer(const QWidget *ID, int line=-1)
void add_file_editor_tab(file_editor_tab *f, const QString &fn)
QAction * _remove_bookmark_action
QAction * _comment_selection_action
QAction * _zoom_out_action
QWidget * find_tab_widget(const QString &openFileName) const
void save_file_as(QWidget *fetabID=0)
void dropEvent(QDropEvent *event)
std::map< QString, tab_info > editor_tab_map
void request_lower_case(bool)
QAction * _find_previous_action
void fetab_find_next(const QWidget *ID)
void request_toggle_bookmark(bool)
void handle_update_breakpoint_marker_request(bool insert, const QString &file, int line, const QString &cond)
static void set_shortcut(QAction *action, const QString &key)
void fetab_find(const QWidget *ID, QList< QAction * >)
void request_transpose_line(bool)
void new_file(const QString &commands=QString())
QMenu * _view_editor_menu
to define functions rather than attempting to enter them directly on the command line The block of commands is executed as soon as you exit the editor To avoid executing any commands
void fetab_previous_bookmark(const QWidget *ID)
void set_encoding(const QString &new_encoding)
void show_line_numbers(bool)