Mercurial > hg > octave-lyh
view gui/src/FileEditorMdiSubWindow.h @ 13650:b93bfa9486ad
editor: bookmarks now toggled by F7 (bug #34066), menu entry for removing all bookmarks
author | ttl <ttl@justmail.de> |
---|---|
date | Tue, 23 Aug 2011 21:51:14 +0200 |
parents | 0a19410e88c0 |
children | c67f7d390a1a |
line wrap: on
line source
/* OctaveGUI - A graphical user interface for Octave * Copyright (C) 2011 Jacob Dawid * jacob.dawid@googlemail.com * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef FILEEDITORMDISUBWINDOW_H #define FILEEDITORMDISUBWINDOW_H #include "TerminalEmulation.h" #include <QMdiSubWindow> #include <QToolBar> #include <QAction> #include <QMenuBar> #include <QStatusBar> #include <QCloseEvent> #include <Qsci/qsciscintilla.h> // Not available in the Debian repos yet! // #include <Qsci/qscilexeroctave.h> #include "lexer/lexeroctavegui.h" const char UNNAMED_FILE[] = "<unnamed>"; const char SAVE_FILE_FILTER[] = "Octave Files (*.m);;All Files (*.*)"; enum MARKER { MARKER_BOOKMARK, MARKER_BREAKPOINT }; class FileEditorMdiSubWindow:public QMdiSubWindow { Q_OBJECT public: FileEditorMdiSubWindow (QWidget * parent = 0); ~FileEditorMdiSubWindow (); void loadFile (QString fileName); void initEditor (TerminalEmulation *terminalEmulation, LexerOctaveGui *lexer); public slots: void newFile (); void openFile (); void saveFile (); void saveFile (QString fileName); void saveFileAs (); void showToolTipNew (); void showToolTipOpen (); void showToolTipSave (); void showToolTipSaveAs (); void showToolTipUndo (); void showToolTipRedo (); void registerModified (bool modified); protected: void closeEvent(QCloseEvent *event); private: int checkFileModified (QString msg); void construct (); QMenuBar *m_menuBar; QToolBar *m_toolBar; QsciScintilla *m_editor; QStatusBar *m_statusBar; QString m_fileName; TerminalEmulation* m_terminalEmulation; QAction* m_copyAction; QAction* m_cutAction; int m_markerBookmark; bool m_modified; private slots: void handleModificationChanged(bool modified); void handleMarginClicked(int line, int margin, Qt::KeyboardModifiers state); void handleCopyAvailable(bool enableCopy); void runFile(); void removeBookmark (); void toggleBookmark (); void nextBookmark(); void prevBookmark(); }; #endif // FILEEDITORMDISUBWINDOW_H