Mercurial > hg > dmlib
diff edmain.h @ 376:40e33ad0d153
Work towards a working editor .. some day.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Wed, 17 Oct 2012 02:27:55 +0300 |
parents | |
children | feaeec4c6c55 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/edmain.h Wed Oct 17 02:27:55 2012 +0300 @@ -0,0 +1,98 @@ +#ifndef EDMAIN_H +#define EDMAIN_H + +// Program name etc +#define PROGRAM_NAME "DMPE Editor" +#define PROGRAM_VERSION "0.1" + +// Defaults +#define DOC_DEF_FILENAME "Untitled" +#define DOC_UNDO_MAX 30 + +#include "eddemoobj.h" + +#include <QDebug> +#include <QFile> +#include <QApplication> +#include <QMainWindow> +#include <QTableView> +#include <QAction> +#include <QActionGroup> +#include <QSlider> +#include <QMessageBox> +#include <QCheckBox> + + +class DemoEditor : public QMainWindow +{ + Q_OBJECT + +public: + DemoEditor(); + ~DemoEditor(); + + void settingsRestore(); + void settingsSave(); + + +private slots: + void actionFileNew(); + void actionFileOpen(); + void actionFileSave(); + void actionFileSaveAs(); + + void actionAboutBox(); + + //void actionCut(); + //void actionCopy(); + //void actionPaste(); + //void actionDelete(); + + void performUndo(); + void performRedo(); + +private: + bool changed, initSDL; + DemoObject *demo; + DMEngineData engine; + + + QTableView *list; + QAction *menuActUndo, *menuActRedo, *menuActOpen, *menuActSave, *menuActSaveAs; +// QAction *menuActCut, *menuActCopy, *menuActPaste, *menuActDelete; + + QAction * createToolButton(QActionGroup *group, QString name, QIcon icon, QString statustip, QVariant data); + QAction * createMenuAction(QString name, const QKeySequence &shortcut, QString tooltip); + QAction * createMenuGroupAction(QMenu *, QActionGroup *, QString name, const QKeySequence &shortcut, QString tooltip, QVariant data); + void setActionGroupChecked(QActionGroup *group, QVariant data); + + + void showFileErrorDialog(QString operation, int code, QFile::FileError err); + QMessageBox::StandardButton showDocumentModifiedDialog(); + void statusMsg(QString message); + void closeEvent(QCloseEvent *event); + void createMainGUI(); + void updateMenuStates(); + + int reopenResources(); + int loadResources(); + bool initializeVideo(); + + + void rehashFile(); + void createNewFile(); + void readFromFile(QString filename); + void saveToFile(QString filename); + + + QList<DemoObject *> undoHistory; + int undoHistoryPos, undoHistoryMax; + + void historyReset(); + void historyPush(QString description); + void historyTop(); + void historyPop(); +}; + + +#endif // EDMAIN_H