23 #if defined (HAVE_CONFIG_H) 27 #if defined (HAVE_QSCINTILLA) 33 #include <QApplication> 35 #include <QFileDialog> 37 #include <QMessageBox> 40 #include <QPushButton> 43 #include <QTextStream> 44 #include <QVBoxLayout> 45 #include <Qsci/qscicommandset.h> 61 connect (bar, SIGNAL (close_current_tab_signal (
bool)),
62 p->parent (), SLOT (request_close_file (
bool)));
64 this->setTabBar (bar);
66 setTabsClosable (
true);
67 #if defined (HAVE_QTABWIDGET_SETMOVABLE) 74 return qobject_cast<
tab_bar *> (tabBar ());
85 m_ced = QDir::currentPath ();
103 setAcceptDrops (
true);
116 QAction *open_action = shared_actions.at (
OPEN_ACTION);
120 m_fileMenu->insertAction (open_action, new_fcn_action);
121 m_fileMenu->insertAction (new_fcn_action, new_action);
123 m_tool_bar->insertAction (open_action, new_action);
204 if (settings->value (
"useCustomFileEditor",
false).toBool ())
210 real_visible = isVisible ();
212 real_visible = visible;
217 if (startup && ! isFloating ())
224 while ((
i < tab_list.count ()) && (! in_tab))
230 while ((j < tab->count ()) && (! in_tab))
233 if (tab->tabText (j) == windowTitle ())
237 int top = tab->currentIndex ();
238 if (top > -1 && tab->tabText (top) == windowTitle ())
254 if (! settings->value (
"editor/restoreSession",
true).toBool ())
258 QStringList sessionFileNames
259 = settings->value (
"editor/savedSessionTabs",
260 QStringList ()).toStringList ();
262 QStringList session_encodings
263 = settings->value (
"editor/saved_session_encodings",
264 QStringList ()).toStringList ();
266 QStringList session_index
267 = settings->value (
"editor/saved_session_tab_index",
268 QStringList ()).toStringList ();
273 bool do_encoding = (session_encodings.count () == sessionFileNames.count ());
274 bool do_index = (session_index.count () == sessionFileNames.count ());
276 for (
int n = 0; n < sessionFileNames.count (); ++n)
278 QFileInfo
file = QFileInfo (sessionFileNames.at (n));
279 if (!
file.exists ())
282 session_data item = { 0, sessionFileNames.at (n), QString ()};
284 item.
index = session_index.at (n).toInt ();
286 item.
encoding = session_encodings.at (n);
294 for (
int n = 0; n < s_data.count (); ++n)
328 i.key ()->setTitle (
i.value ().at (! enable));
375 QStringList fetFileNames;
376 QStringList fet_encodings;
377 QStringList fet_index;
383 QString file_name =
p->first;
384 if (! file_name.isEmpty ())
386 fetFileNames.append (file_name);
389 fet_index.append (index.setNum
394 settings->setValue (
"editor/savedSessionTabs", fetFileNames);
395 settings->setValue (
"editor/saved_session_encodings", fet_encodings);
396 settings->setValue (
"editor/saved_session_tab_index", fet_index);
443 for (
int index =
m_tab_widget->count ()-1; index >= 0; index--)
456 for (
int index =
m_tab_widget->count ()-1; index >= 0; index--)
473 action->data ().toStringList ().at (1));
485 QsciScintillaBase::SCI_REDO);
491 QsciScintillaBase::SCI_CUT);
584 QsciScintillaBase::SCI_DELWORDLEFT);
590 QsciScintillaBase::SCI_DELWORDRIGHT);
596 QsciScintillaBase::SCI_DELLINELEFT);
602 QsciScintillaBase::SCI_DELLINERIGHT);
608 QsciScintillaBase::SCI_LINEDELETE);
614 QsciScintillaBase::SCI_LINECOPY);
620 QsciScintillaBase::SCI_LINECUT);
626 QsciScintillaBase::SCI_SELECTIONDUPLICATE);
632 QsciScintillaBase::SCI_LINETRANSPOSE);
654 QsciScintillaBase::SCI_UPPERCASE);
660 QsciScintillaBase::SCI_LOWERCASE);
681 QsciScintilla::EolWindows);
687 QsciScintilla::EolUnix);
693 QsciScintilla::EolMac);
724 QObject *fileEditorTab = sender ();
748 QObject *fileEditorTab = sender ();
758 delete fileEditorTab;
770 const QString& encoding,
QWidget *ID)
802 const QString& encoding)
805 while ((index =
m_mru_files.indexOf (file_name)) >= 0)
818 bool remove_on_success)
834 =
new QMessageBox (QMessageBox::Critical, tr (
"Octave Editor"),
835 tr (
"File not saved! A file with the selected name\n%1\n" 836 "is already open in the editor").
838 QMessageBox::Ok,
nullptr);
840 msgBox->setWindowModality (Qt::NonModal);
841 msgBox->setAttribute (Qt::WA_DeleteOnClose);
847 QObject *saveFileObject = sender ();
848 QWidget *saveFileWidget =
nullptr;
858 if (! saveFileWidget)
862 =
new QMessageBox (QMessageBox::Critical, tr (
"Octave Editor"),
863 tr (
"The associated file editor tab has disappeared."),
864 QMessageBox::Ok,
nullptr);
866 msgBox->setWindowModality (Qt::NonModal);
867 msgBox->setAttribute (Qt::WA_DeleteOnClose);
874 emit
fetab_save_file (saveFileWidget, saveFileName, remove_on_success);
886 if (!
file.isEmpty ())
919 const QString& new_name)
925 QFileInfo old (old_name);
946 if (! new_name.isEmpty ())
955 if (editor_tab ==
p->second.fet_ID)
979 int icon_size_settings = settings->value (
"toolbar_icon_size",0).toInt ();
980 QStyle *st = style ();
981 int icon_size = st->pixelMetric (QStyle::PM_ToolBarIconSize);
983 if (icon_size_settings == 1)
984 icon_size = st->pixelMetric (QStyle::PM_LargeIconSize);
985 else if (icon_size_settings == -1)
986 icon_size = st->pixelMetric (QStyle::PM_SmallIconSize);
988 m_tool_bar->setIconSize (QSize (icon_size,icon_size));
990 int tab_width_min = settings->value (
"editor/notebook_tab_width_min", 160)
992 int tab_width_max = settings->value (
"editor/notebook_tab_width_max", 300)
995 if (settings->value (
"editor/longWindowTitle",
false).toBool ())
997 QString style_sheet = QString (
"QTabBar::tab " 998 "{min-width: %1px; max-width: %2px;}")
999 .arg (tab_width_min).arg (tab_width_max);
1009 show_it = settings->value (
"editor/showLineNumbers",
true).toBool ();
1011 show_it = settings->value (
"editor/show_white_space",
false).toBool ();
1013 show_it = settings->value (
"editor/show_eol_chars",
false).toBool ();
1015 show_it = settings->value (
"editor/show_indent_guides",
false).toBool ();
1017 show_it = settings->value (
"editor/long_line_marker",
true).toBool ();
1020 show_it = settings->value (
"editor/show_toolbar",
true).toBool ();
1023 show_it = settings->value (
"editor/show_edit_status_bar",
true).toBool ();
1025 show_it = settings->value (
"editor/show_hscroll_bar",
true).toBool ();
1137 if (visible && ! isFloating ())
1152 QsciScintillaBase::SCI_COPY);
1159 QsciScintillaBase::SCI_PASTE);
1166 QsciScintillaBase::SCI_SELECTALL);
1173 QsciScintillaBase::SCI_UNDO);
1179 const QString& encoding,
1180 int line,
bool debug_pointer,
1181 bool breakpoint_marker,
bool insert,
1182 const QString& cond)
1187 if (openFileName.isEmpty ())
1210 if (breakpoint_marker)
1224 bool reusing =
false;
1230 fileEditorTab =
nullptr;
1236 if (! fileEditorTab)
1251 QFileInfo
file_info = QFileInfo (openFileName);
1263 if (breakpoint_marker)
1270 delete fileEditorTab;
1272 if (QFile::exists (openFileName))
1278 tr (
"Octave Editor"),
1279 tr (
"Could not open file\n%1\nfor read: %2.").
1281 QMessageBox::Ok,
this);
1283 msgBox->setWindowModality (Qt::NonModal);
1284 msgBox->setAttribute (Qt::WA_DeleteOnClose);
1290 bool create_file =
true;
1294 if (! settings->value (
"editor/create_new_file",
false).toBool ())
1297 tr (
"Octave Editor"),
1298 tr (
"File\n%1\ndoes not exist. " 1299 "Do you want to create it?").
arg (openFileName),
1300 QMessageBox::NoButton,
nullptr);
1302 msgBox->addButton (tr (
"Create"), QMessageBox::YesRole);
1303 msgBox->addButton (tr (
"Cancel"), QMessageBox::RejectRole);
1304 msgBox->setDefaultButton (create_button);
1307 QAbstractButton *clicked_button = msgBox->clickedButton ();
1308 if (clicked_button != create_button)
1309 create_file =
false;
1317 QFile
file (openFileName);
1318 if (!
file.open (QIODevice::WriteOnly))
1322 tr (
"Octave Editor"),
1323 tr (
"Could not open file\n%1\nfor write: %2.").
1324 arg (openFileName).
arg (
file.errorString ()),
1325 QMessageBox::Ok,
this);
1327 msgBox->setWindowModality (Qt::NonModal);
1328 msgBox->setAttribute (Qt::WA_DeleteOnClose);
1422 foreach (
a, all_actions)
1423 menu->removeAction (
a);
1428 menu->addSeparator ();
1432 menu->addSeparator ();
1434 menu->addSeparator ();
1439 menu->addSeparator ();
1443 menu->addSeparator ();
1458 if (settings->value (
"editor/hiding_closes_files",
false).toBool ())
1476 if (
e->mimeData ()->hasUrls ())
1478 e->acceptProposedAction ();
1484 if (
e->mimeData ()->hasUrls ())
1486 foreach (QUrl
url,
e->mimeData ()->urls ())
1496 static_cast<QDockWidget *
> (
w->get_dock_widget_list ().at (0));
1498 for (
int i = 0;
i < w_list.count ();
i++)
1500 if (w_list.at (
i) == console)
1527 m_mru_files = settings->value (
"editor/mru_file_list").toStringList ();
1561 tr (
"&Edit Function"),
1575 tr (
"Save File &As..."),
1595 tr (
"Close Other Files"),
1629 tr (
"&Find and Replace..."),
1634 tr (
"Find &Next..."),
1639 tr (
"Find &Previous..."),
1665 tr (
"Delete to Start of Word"),
1670 tr (
"Delete to End of Word"),
1675 tr (
"Delete to Start of Line"),
1680 tr (
"Delete to End of Line"),
1687 tr (
"Duplicate Selection/Line"),
1692 tr (
"Transpose Line"),
1699 tr (
"&Show Completion List"),
1706 tr (
"&Uppercase Selection"),
1711 tr (
"&Lowercase Selection"),
1728 tr (
"Comment (Choosing String)"),
1735 tr (
"&Indent Selection Rigidly"),
1740 tr (
"&Unindent Selection Rigidly"),
1752 tr (
"Convert Line Endings to &Windows (CRLF)"),
1757 tr (
"Convert Line Endings to &Unix (LF)"),
1762 tr (
"Convert Line Endings to &Mac (CR)"),
1769 tr (
"Go &to Line..."),
1776 tr (
"Move to Matching Brace"),
1781 tr (
"Select to Matching Brace"),
1788 tr (
"&Next Bookmark"),
1793 tr (
"Pre&vious Bookmark"),
1798 tr (
"Toggle &Bookmark"),
1803 tr (
"&Remove All Bookmarks"),
1811 tr (
"&Preferences..."),
1816 tr (
"&Styles Preferences..."),
1827 tr (
"Show &Line Numbers"),
1833 tr (
"Show &Whitespace Characters"),
1839 tr (
"Show Line &Endings"),
1845 tr (
"Show &Indentation Guides"),
1851 tr (
"Show Long Line &Marker"),
1859 tr (
"Show &Toolbar"),
1865 tr (
"Show &Statusbar"),
1871 tr (
"Show &Horizontal Scrollbar"),
1875 view_menu->addSeparator ();
1889 tr (
"&Normal Size"),
1901 tr (
"Toggle &Breakpoint"),
1907 tr (
"&Next Breakpoint"),
1913 tr (
"Pre&vious Breakpoint"),
1919 tr (
"&Remove All Breakpoints"),
1933 tr (
"Save File and Run"),
1938 tr (
"Run &Selection"),
1948 tr (
"&Help on Keyword"),
1953 tr (
"&Documentation on Keyword"),
1959 =
add_action (
nullptr,
"", SLOT (switch_left_tab (
void)),
1963 =
add_action (
nullptr,
"", SLOT (switch_right_tab (
void)),
1967 =
add_action (
nullptr,
"", SLOT (move_tab_left (
void)),
1971 =
add_action (
nullptr,
"", SLOT (move_tab_right (
void)),
1978 popdown_button->setToolTip (tr (
"Recent Files"));
1980 popdown_button->setPopupMode (QToolButton::InstantPopup);
1981 popdown_button->setToolButtonStyle (Qt::ToolButtonTextOnly);
2006 QVBoxLayout *vbox_layout =
new QVBoxLayout ();
2010 vbox_layout->setMargin (0);
2011 editor_widget->setLayout (vbox_layout);
2012 setWidget (editor_widget);
2024 main_win (), SLOT (execute_command_in_terminal (
const QString&)));
2028 SLOT (process_settings_dialog_request (
const QString&)));
2035 connect (
m_tab_widget, SIGNAL (tabCloseRequested (
int)),
2042 setWindowIcon (QIcon (
":/actions/icons/logo.png"));
2053 connect (
f->qsci_edit_area (), SIGNAL (status_update (
bool,
bool)),
2056 connect (
f->qsci_edit_area (), SIGNAL (show_doc_signal (
const QString&)),
2057 main_win (), SLOT (handle_show_doc (
const QString&)));
2059 connect (
f->qsci_edit_area (), SIGNAL (create_context_menu_signal (
QMenu *)),
2062 connect (
f->qsci_edit_area (),
2064 main_win (), SLOT (execute_command_in_terminal (
const QString&)));
2067 connect (
f, SIGNAL (file_name_changed (
const QString&,
const QString&)),
2071 connect (
f, SIGNAL (editor_state_changed (
bool,
bool)),
2074 connect (
f, SIGNAL (tab_remove_request ()),
2077 connect (
f, SIGNAL (add_filename_to_list (
const QString&,
2083 connect (
f, SIGNAL (editor_check_conflict_save (
const QString&,
bool)),
2086 connect (
f, SIGNAL (mru_add_file (
const QString&,
const QString&)),
2089 connect (
f, SIGNAL (run_file_signal (
const QFileInfo&)),
2090 main_win (), SLOT (run_file_in_terminal (
const QFileInfo&)));
2095 connect (
f, SIGNAL (edit_mfile_request (
const QString&,
const QString&,
2096 const QString&,
int)),
2097 main_win (), SLOT (handle_edit_mfile_request (
const QString&,
2099 const QString&,
int)));
2101 connect (
f, SIGNAL (set_focus_editor_signal (
QWidget*)),
2109 f, SLOT (change_editor_state (
const QWidget*)));
2112 f, SLOT (file_name_query (
const QWidget*)));
2116 f, SLOT (save_file (
const QWidget*,
const QString&,
bool)));
2119 f, SLOT (check_modified_file (
void)));
2122 main_win (), SLOT (execute_command_in_terminal (
const QString&)));
2126 f, SLOT (recover_from_exit (
void)));
2129 f, SLOT (set_current_directory (
const QString&)));
2139 f, SLOT (context_help (
const QWidget*,
bool)));
2142 f, SLOT (context_edit (
const QWidget*)));
2145 f, SLOT (save_file (
const QWidget*)));
2148 f, SLOT (save_file_as (
const QWidget*)));
2151 f, SLOT (print_file (
const QWidget*)));
2154 f, SLOT (run_file (
const QWidget*)));
2157 f, SLOT (context_run (
const QWidget*)));
2160 f, SLOT (toggle_bookmark (
const QWidget*)));
2163 f, SLOT (next_bookmark (
const QWidget*)));
2166 f, SLOT (previous_bookmark (
const QWidget*)));
2169 f, SLOT (remove_bookmark (
const QWidget*)));
2172 f, SLOT (toggle_breakpoint (
const QWidget*)));
2175 f, SLOT (next_breakpoint (
const QWidget*)));
2178 f, SLOT (previous_breakpoint (
const QWidget*)));
2181 f, SLOT (remove_all_breakpoints (
const QWidget*)));
2185 f, SLOT (scintilla_command (
const QWidget *,
unsigned int)));
2188 f, SLOT (comment_selected_text (
const QWidget*,
bool)));
2191 f, SLOT (uncomment_selected_text (
const QWidget*)));
2194 f, SLOT (indent_selected_text (
const QWidget*)));
2197 f, SLOT (unindent_selected_text (
const QWidget*)));
2200 f, SLOT (smart_indent_line_or_selected_text (
const QWidget*)));
2204 f, SLOT (convert_eol (
const QWidget*, QsciScintilla::EolMode)));
2210 f, SLOT (find_next (
const QWidget*)));
2213 f, SLOT (find_previous (
const QWidget*)));
2216 f, SLOT (goto_line (
const QWidget*,
int)));
2219 f, SLOT (move_match_brace (
const QWidget*,
bool)));
2222 f, SLOT (show_auto_completion (
const QWidget*)));
2228 f, SLOT (insert_debugger_pointer (
const QWidget*,
int)));
2231 f, SLOT (delete_debugger_pointer (
const QWidget*,
int)));
2234 int,
const QString&)),
2235 f, SLOT (do_breakpoint_marker (
bool,
const QWidget*,
int,
2248 for (
int i = 0;
i < num_files; ++
i)
2250 QString
text = QString (
"&%1 %2").
2254 QStringList action_data;
2275 settings->setValue (
"editor/mru_file_list",
m_mru_files);
2285 if (settings->value (
"useCustomFileEditor",
false).toBool ())
2290 if (
line < 0 && ! file_name.isEmpty ())
2303 bool old = settings->value (preference,def).toBool ();
2304 settings->setValue (preference,! old);
2310 const QString& new_name)
2312 QDir old_dir (old_name);
2322 QString rel_path_to_file = old_dir.relativeFilePath (
p->first);
2323 if (rel_path_to_file.left (3) != QString (
"../"))
2339 if (! new_name.isEmpty ())
2341 QDir new_dir (new_name);
2355 if (foc_w && foc_w->inherits (
"octave::octave_qscintilla"))
2373 QString tab_file =
p->first;
2374 if (
same_file (
file.toStdString (), tab_file.toStdString ())
2375 ||
file == tab_file)
2393 const QString&
text,
const char *member,
2399 if (receiver !=
nullptr)
2403 a = menu->addAction (icon,
text, r, member);
2406 a =
new QAction (
this);
2407 connect (
a, SIGNAL (triggered ()), r, member);
2411 a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
2420 QString base_name =
name;
2422 base_name.replace (
"&&",
"___octave_amp_replacement___");
2424 base_name.remove (
"&");
2426 base_name.replace (
"___octave_amp_replacement___",
"&&");
void fetab_zoom_normal(const QWidget *ID)
QAction * m_cut_line_action
QString load_file(const QString &fileName)
QAction * m_switch_right_tab_action
void update_octave_directory(const QString &dir)
QAction * m_styles_preferences_action
QAction * m_run_selection_action
void fetab_context_edit(const QWidget *ID)
QAction * m_mru_file_actions[MaxMRUFiles]
bool is_editor_console_tabbed(void)
void request_context_edit(bool)
void handle_insert_debugger_pointer_request(const QString &file, int line)
For example cd octave end example noindent changes the current working directory to file
file_editor_tab_widget * m_tab_widget
bool same_file(const std::string &f, const std::string &g)
void notice_settings(const QSettings *settings)
QAction * m_uncomment_selection_action
QAction * m_show_longline_action
void fetab_smart_indent_line_or_selected_text(const QWidget *ID)
void request_delete_start_word(bool)
QAction * m_edit_function_action
void request_delete_end_line(bool)
void edit_status_update(bool, bool)
QMenu * add_menu(QMenuBar *p, QString text)
void request_goto_line(bool)
void request_toggle_bookmark(bool)
void fetab_zoom_out(const QWidget *ID)
QAction * m_lower_case_action
void request_remove_breakpoint(bool)
void fetab_indent_selected_text(const QWidget *ID)
void request_sel_match_brace(bool)
void fetab_set_focus(const QWidget *ID)
void fetab_unindent_selected_text(const QWidget *ID)
void show_eol_chars(bool)
QAction * m_zoom_normal_action
void request_mru_open_file(QAction *action)
void fetab_toggle_bookmark(const QWidget *ID)
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 const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE * f
QAction * m_smart_indent_line_or_selection_action
QAction * m_conv_eol_mac_action
void fetab_check_modified_file(void)
QAction * m_conv_eol_windows_action
void request_remove_bookmark(bool)
void request_context_run(bool)
void create_context_menu(QMenu *)
void request_upper_case(bool)
void closeEvent(QCloseEvent *event)
void file_has_changed(const QString &path, bool do_close=false)
QStringList m_tmp_closed_files
void fetab_remove_bookmark(const QWidget *ID)
QAction * m_comment_var_selection_action
void request_indent_selected_text(bool)
QAction * m_show_whitespace_action
void execute_command_in_terminal_signal(const QString &)
void request_duplicate_selection(bool)
QAction * m_delete_start_line_action
void request_lower_case(bool)
void fetab_file_name_query(const QWidget *ID)
void dragEnterEvent(QDragEnterEvent *event)
QAction * m_indent_selection_action
void handle_file_remove(const QString &, const QString &)
QAction * m_selectall_action
void fetab_insert_debugger_pointer(const QWidget *ID, int line=-1)
QHash< QMenu *, QStringList > m_hash_menu_text
static bool was_cancelled(void)
QAction * m_unindent_selection_action
QAction * m_move_to_matching_brace
void request_save_file(bool)
void fetab_toggle_breakpoint(const QWidget *ID)
QAction * m_comment_selection_action
void fetab_find(const QWidget *ID, QList< QAction *>)
void request_conv_eol_mac(bool)
void request_close_all_files(bool)
void show_long_line(bool)
std::map< QString, tab_info >::const_iterator editor_tab_map_const_iterator
void fetab_print_file(const QWidget *ID)
bool call_custom_editor(const QString &file_name=QString(), int line=-1)
void update_window_title(bool modified)
QAction * m_move_tab_right_action
void fetab_zoom_in(const QWidget *ID)
void request_previous_bookmark(bool)
void request_copy_line(bool)
QAction * m_show_linenum_action
void request_smart_indent_line_or_selected_text(void)
void handle_mru_add_file(const QString &file_name, const QString &encoding)
void fetab_remove_all_breakpoints(const QWidget *ID)
void request_comment_var_selected_text(bool)
bool conditional_close(void)
QAction * m_find_next_action
QAction * m_delete_end_line_action
QAction * m_show_indguide_action
QAction * m_previous_breakpoint_action
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
void request_delete_end_word(bool)
void handle_delete_debugger_pointer_request(const QString &file, int line)
QAction * m_copy_line_action
void fetab_previous_breakpoint(const QWidget *ID)
QAction * m_remove_all_breakpoints_action
QAction * m_switch_left_tab_action
void handle_add_filename_to_list(const QString &fileName, const QString &encoding, QWidget *ID)
nd deftypefn *std::string name
QAction * m_zoom_in_action
QAction * add_action(QMenu *menu, const QString &text, const char *member, QWidget *receiver=nullptr)
void show_indent_guides(bool)
void fetab_recover_from_exit(void)
QAction * m_next_breakpoint_action
void request_settings_dialog(const QString &)
void fetab_set_directory(const QString &dir)
QAction * m_delete_line_action
static void set_shortcut(QAction *action, const QString &key)
QAction * m_show_hscrollbar_action
QList< QAction * > m_fetab_actions
void fetab_previous_bookmark(const QWidget *ID)
void active_tab_changed(int index)
QAction * m_zoom_out_action
void request_completion(bool)
QAction * m_move_tab_left_action
std::complex< double > w(std::complex< double > z, double relerr=0)
void dropEvent(QDropEvent *event)
void request_move_match_brace(bool)
void fetab_move_match_brace(const QWidget *ID, bool select)
void handle_visibility(bool visible)
void request_unindent_selected_text(bool)
static void reset_cancel(void)
octave_qscintilla * qsci_edit_area(void)
octave_value arg(void) const
void request_next_breakpoint(bool)
void fetab_find_previous(const QWidget *ID)
void handle_file_name_changed(const QString &fileName, const QString &toolTip)
void show_white_space(bool)
void fetab_completion(const QWidget *)
void handle_enter_debug_mode(void)
void request_uncomment_selected_text(bool)
void request_context_help(bool)
void fetab_run_file(const QWidget *ID)
void handle_tab_remove_request(void)
QAction * m_find_previous_action
QAction * m_delete_end_word_action
QAction * m_delete_start_word_action
void request_close_file(bool)
void enable_menu_shortcuts(bool)
QMenu * get_context_menu(void)
void request_find_previous(bool)
void show_statusbar(bool)
QAction * m_show_statusbar_action
void fetab_settings_changed(const QSettings *settings)
void show_hscrollbar(bool)
QAction * m_remove_bookmark_action
QAction * m_sel_to_matching_brace
QAction * m_close_others_action
void request_styles_preferences(bool)
void restore_session(QSettings *settings)
Represents the main window.
With real return the complex result
QStringList m_mru_files_encodings
QAction * m_show_toolbar_action
void request_delete_start_line(bool)
QAction * m_preferences_action
static octave_idx_type find(octave_idx_type i, octave_idx_type *pp)
void request_next_bookmark(bool)
void set_focus(QWidget *fet)
void request_preferences(bool)
void file_loaded_signal(void)
static QIcon icon(const QString &icon_name, bool fallback=true)
void fetab_context_help(const QWidget *ID, bool)
void fetab_do_breakpoint_marker(bool insert, const QWidget *ID, int line=-1, const QString &="")
QAction * m_show_eol_action
QAction * m_duplicate_selection_action
void request_new_file(const QString &commands)
void handle_editor_state_changed(bool enableCopy, bool is_octave_file)
void toggle_preference(const QString &preference, bool def)
void fetab_next_breakpoint(const QWidget *ID)
void fetab_scintilla_command(const QWidget *ID, unsigned int sci_msg)
void request_run_file(bool)
void handle_dir_remove(const QString &old_name, const QString &new_name)
QAction * m_conv_eol_unix_action
QAction * m_transpose_line_action
void request_open_file_external(const QString &file_name, int line)
void handle_exit_debug_mode(void)
QAction * m_completion_action
std::map< QString, tab_info > m_editor_tab_map
void fetab_context_run(const QWidget *ID)
void request_close_other_files(bool)
void request_transpose_line(bool)
QAction * m_save_as_action
QAction * m_context_help_action
void request_comment_selected_text(bool)
void show_line_numbers(bool)
void fetab_save_file(const QWidget *ID, const QString &fileName, bool remove_on_success)
void request_delete_line(bool)
void check_conflict_save(const QString &fileName, bool remove_on_success)
void handle_file_renamed(bool load_new=true)
void fetab_comment_selected_text(const QWidget *ID, bool)
void add_file_editor_tab(file_editor_tab *f, const QString &fn)
static QSettings * get_settings(void)
void fetab_convert_eol(const QWidget *ID, QsciScintilla::EolMode eol_mode)
void request_toggle_breakpoint(bool)
void fetab_save_file_as(const QWidget *ID)
void fetab_delete_debugger_pointer(const QWidget *ID, int line=-1)
void handle_update_breakpoint_marker_request(bool insert, const QString &file, int line, const QString &cond)
void set_encoding(const QString &new_encoding)
QAction * m_next_bookmark_action
void request_find_next(bool)
QAction * m_toggle_bookmark_action
void request_previous_breakpoint(bool)
void fetab_next_bookmark(const QWidget *ID)
void handle_edit_file_request(const QString &file)
void request_context_doc(bool)
void request_cut_line(bool)
void new_file(const QString &commands=QString())
bool editor_tab_has_focus(void)
void handle_tab_close_request(int index)
void request_conv_eol_windows(bool)
QAction * m_context_doc_action
void fetab_change_request(const QWidget *ID)
void mru_menu_update(void)
QAction * m_upper_case_action
void request_open_file(const QString &fileName, const QString &encoding=QString(), int line=-1, bool debug_pointer=false, bool breakpoint_marker=false, bool insert=true, const QString &cond="")
QAction * m_find_files_action
QAction * m_goto_line_action
QAction * m_previous_bookmark_action
void pasteClipboard(void)
void request_save_file_as(bool)
void empty_script(bool startup, bool visible)
QWidget * find_tab_widget(const QString &openFileName)
QMenu * m_view_editor_menu
QAction * m_popdown_mru_action
void fetab_find_next(const QWidget *ID)
void request_print_file(bool)
QAction * m_close_all_action
void fetab_goto_line(const QWidget *ID, int line=-1)
void fetab_uncomment_selected_text(const QWidget *ID)
void insert_global_actions(QList< QAction *>)
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
QAction * m_toggle_breakpoint_action
void request_conv_eol_unix(bool)