forked from segfault87/stitchy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmainwindow.h
132 lines (113 loc) · 3 KB
/
mainwindow.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#ifndef _MAINWINDOW_H_
#define _MAINWINDOW_H_
#include <QMainWindow>
class QActionGroup;
class QClipboard;
class QCloseEvent;
class QMenu;
class Canvas;
class Document;
class GlobalState;
class MetaColorManager;
class PaletteWidget;
class Settings;
class MainWindow : public QMainWindow
{
Q_OBJECT;
public:
MainWindow(QWidget *parent = NULL);
~MainWindow();
signals:
void needsUpdate();
void documentChanged(Document *document);
private slots:
void newFile();
void openFile();
void importFile();
void closeFile();
void saveFile();
void saveFileAs();
void quit();
void about();
void viewModeAction(QAction *action);
void showColorEditor();
void toolModeAction(QAction *action);
void updateTitle();
void setActiveDocument(Document *document);
void documentChangeAction(Document *document);
void selectionChanged(const QRect &rect);
void selectionCleared();
void clipboardChanged();
private:
QAction* createAction(const QString &name, QObject *receiver,
const char *slot, const QKeySequence &shortcut,
const QIcon &icon);
QAction* createAction(const QString &name, const QKeySequence &shortcut,
const QIcon &icon);
void closeEvent(QCloseEvent *event);
bool confirmClose();
bool saveDocument(bool newName);
void setEnabled(QList<QAction *> &actions, bool enabled);
void initWidgets();
void initActions();
void initMenus();
void initToolbars();
void initConnections();
void initConnections(Document *doc);
void disconnectConnections(Document *doc);
private:
PaletteWidget *palette_;
Canvas *canvas_;
Settings *settings_;
GlobalState *state_;
QClipboard *clipboard_;
QMenu *menuFile_;
QMenu *menuEdit_;
QMenu *menuView_;
QMenu *menuTool_;
QMenu *menuWindow_;
QMenu *menuHelp_;
/* file actions */
QAction *actionNewFile_;
QAction *actionOpenFile_;
QAction *actionImportFile_;
QAction *actionCloseFile_;
QAction *actionSaveFile_;
QAction *actionSaveFileAs_;
QAction *actionQuit_;
/* edit actions */
QAction *actionUndo_;
QAction *actionRedo_;
QAction *actionCut_;
QAction *actionCopy_;
QAction *actionPaste_;
QAction *actionDeleteSelected_;
QAction *actionDocumentProperties_;
/* view actions */
QAction *actionZoomIn_;
QAction *actionZoomOut_;
QAction *actionZoomReset_;
QActionGroup *actionViewMode_;
QAction *actionViewFull_;
QAction *actionViewSimplified_;
QAction *actionViewSymbols_;
QAction *actionViewGrids_;
/* tool actions */
QActionGroup *actionGroupMode_;
QAction *actionModeSelect_;
QAction *actionModeMove_;
QAction *actionModeErase_;
QAction *actionModeRectangle_;
QAction *actionModeDrawFull_;
QAction *actionModeDrawHalf_;
QAction *actionModeDrawPetite_;
QAction *actionModeDrawQuarter_;
/* window actions */
QAction *actionColorEditor_;
/* help actions */
QAction *actionAbout_;
QAction *actionAboutQt_;
QList<QAction *> documentActions_;
QList<QAction *> selectionActions_;
};
#endif