39 // Stuff for dialogs |
40 // Stuff for dialogs |
40 #define IMPLEMENT_DIALOG_BUTTONS \ |
41 #define IMPLEMENT_DIALOG_BUTTONS \ |
41 bbx_buttons = new QDialogButtonBox (QDialogButtonBox::Ok | QDialogButtonBox::Cancel); \ |
42 bbx_buttons = new QDialogButtonBox (QDialogButtonBox::Ok | QDialogButtonBox::Cancel); \ |
42 connect (bbx_buttons, SIGNAL (accepted()), this, SLOT (accept())); \ |
43 connect (bbx_buttons, SIGNAL (accepted()), this, SLOT (accept())); \ |
43 connect (bbx_buttons, SIGNAL (rejected()), this, SLOT (reject())); \ |
44 connect (bbx_buttons, SIGNAL (rejected()), this, SLOT (reject())); \ |
44 |
45 |
45 // ============================================================================= |
46 // ============================================================================= |
46 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
47 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
47 // ============================================================================= |
48 // ============================================================================= |
48 #define DEFINE_ACTION(NAME, DEFSHORTCUT) \ |
49 #define DEFINE_ACTION(NAME, DEFSHORTCUT) \ |
49 cfg (KeySequence, key_##NAME, DEFSHORTCUT); \ |
50 cfg (KeySequence, key_action##NAME, DEFSHORTCUT); \ |
50 void actiondef_##NAME() |
51 void ForgeWindow::slot_action##NAME() |
51 |
|
52 #define ACTION(N) g_win->action##N() |
|
53 |
52 |
54 // Convenience macros for key sequences. |
53 // Convenience macros for key sequences. |
55 #define KEY(N) (Qt::Key_##N) |
54 #define KEY(N) (Qt::Key_##N) |
56 #define CTRL(N) (Qt::CTRL | Qt::Key_##N) |
55 #define CTRL(N) (Qt::CTRL | Qt::Key_##N) |
57 #define SHIFT(N) (Qt::SHIFT | Qt::Key_##N) |
56 #define SHIFT(N) (Qt::SHIFT | Qt::Key_##N) |
123 { m_quickColors = colors; |
125 { m_quickColors = colors; |
124 } |
126 } |
125 |
127 |
126 void setStatusBarText (str text); |
128 void setStatusBarText (str text); |
127 void addMessage (str msg); |
129 void addMessage (str msg); |
128 Ui_LDForgeUI* interface() const; |
130 Ui_LDForgeUI* getInterface() const; |
129 void refreshObjectList(); |
131 void refreshObjectList(); |
130 void beginAction (QAction* act); |
132 void updateActionShortcuts(); |
|
133 KeySequenceConfig& shortcutForAction (QAction* act); |
131 void endAction(); |
134 void endAction(); |
132 |
|
133 #define act(N) QAction* action##N(); |
|
134 #include "actions.h" |
|
135 |
135 |
136 public slots: |
136 public slots: |
137 #if 0 |
137 #if 0 |
138 void primitiveLoaderStart (int max); |
138 void primitiveLoaderStart (int max); |
139 void primitiveLoaderUpdate (int prog); |
139 void primitiveLoaderUpdate (int prog); |
140 void primitiveLoaderEnd(); |
140 void primitiveLoaderEnd(); |
141 #endif // 0 |
141 #endif // 0 |
|
142 void changeCurrentFile(); |
142 void slot_action(); |
143 void slot_action(); |
143 void changeCurrentFile(); |
144 void slot_actionNew(); |
|
145 void slot_actionNewFile(); |
|
146 void slot_actionOpen(); |
|
147 void slot_actionDownloadFrom(); |
|
148 void slot_actionSave(); |
|
149 void slot_actionSaveAs(); |
|
150 void slot_actionSaveAll(); |
|
151 void slot_actionClose(); |
|
152 void slot_actionCloseAll(); |
|
153 void slot_actionInsertFrom(); |
|
154 void slot_actionExportTo(); |
|
155 void slot_actionSettings(); |
|
156 void slot_actionSetLDrawPath(); |
|
157 void slot_actionScanPrimitives(); |
|
158 void slot_actionExit(); |
|
159 void slot_actionResetView(); |
|
160 void slot_actionAxes(); |
|
161 void slot_actionWireframe(); |
|
162 void slot_actionBFCView(); |
|
163 void slot_actionSetOverlay(); |
|
164 void slot_actionClearOverlay(); |
|
165 void slot_actionScreenshot(); |
|
166 void slot_actionInsertRaw(); |
|
167 void slot_actionNewSubfile(); |
|
168 void slot_actionNewLine(); |
|
169 void slot_actionNewTriangle(); |
|
170 void slot_actionNewQuad(); |
|
171 void slot_actionNewCLine(); |
|
172 void slot_actionNewComment(); |
|
173 void slot_actionNewBFC(); |
|
174 void slot_actionNewVertex(); |
|
175 void slot_actionUndo(); |
|
176 void slot_actionRedo(); |
|
177 void slot_actionCut(); |
|
178 void slot_actionCopy(); |
|
179 void slot_actionPaste(); |
|
180 void slot_actionDelete(); |
|
181 void slot_actionSelectAll(); |
|
182 void slot_actionSelectByColor(); |
|
183 void slot_actionSelectByType(); |
|
184 void slot_actionModeDraw(); |
|
185 void slot_actionModeSelect(); |
|
186 void slot_actionModeCircle(); |
|
187 void slot_actionSetDrawDepth(); |
|
188 void slot_actionSetColor(); |
|
189 void slot_actionAutocolor(); |
|
190 void slot_actionUncolorize(); |
|
191 void slot_actionInline(); |
|
192 void slot_actionInlineDeep(); |
|
193 void slot_actionInvert(); |
|
194 void slot_actionMakePrimitive(); |
|
195 void slot_actionSplitQuads(); |
|
196 void slot_actionEditRaw(); |
|
197 void slot_actionBorders(); |
|
198 void slot_actionCornerVerts(); |
|
199 void slot_actionRoundCoordinates(); |
|
200 void slot_actionVisibilityHide(); |
|
201 void slot_actionVisibilityReveal(); |
|
202 void slot_actionVisibilityToggle(); |
|
203 void slot_actionReplaceCoords(); |
|
204 void slot_actionFlip(); |
|
205 void slot_actionDemote(); |
|
206 void slot_actionYtruder(); |
|
207 void slot_actionRectifier(); |
|
208 void slot_actionIntersector(); |
|
209 void slot_actionIsecalc(); |
|
210 void slot_actionCoverer(); |
|
211 void slot_actionEdger2(); |
|
212 void slot_actionHelp(); |
|
213 void slot_actionAbout(); |
|
214 void slot_actionAboutQt(); |
|
215 void slot_actionGridCoarse(); |
|
216 void slot_actionGridMedium(); |
|
217 void slot_actionGridFine(); |
|
218 void slot_actionEdit(); |
|
219 void slot_actionMoveUp(); |
|
220 void slot_actionMoveDown(); |
|
221 void slot_actionMoveXNeg(); |
|
222 void slot_actionMoveXPos(); |
|
223 void slot_actionMoveYNeg(); |
|
224 void slot_actionMoveYPos(); |
|
225 void slot_actionMoveZNeg(); |
|
226 void slot_actionMoveZPos(); |
|
227 void slot_actionRotateXNeg(); |
|
228 void slot_actionRotateXPos(); |
|
229 void slot_actionRotateYNeg(); |
|
230 void slot_actionRotateYPos(); |
|
231 void slot_actionRotateZNeg(); |
|
232 void slot_actionRotateZPos(); |
|
233 void slot_actionRotationPoint(); |
|
234 void slot_actionAddHistoryLine(); |
|
235 void slot_actionJumpTo(); |
|
236 void slot_actionSubfileSelection(); |
|
237 void slot_actionDrawAngles(); |
144 |
238 |
145 protected: |
239 protected: |
146 void closeEvent (QCloseEvent* ev); |
240 void closeEvent (QCloseEvent* ev); |
147 |
241 |
148 private: |
242 private: |
154 QList<QToolButton*> m_colorButtons; |
248 QList<QToolButton*> m_colorButtons; |
155 QList<QAction*> m_recentFiles; |
249 QList<QAction*> m_recentFiles; |
156 MessageManager* m_msglog; |
250 MessageManager* m_msglog; |
157 Ui_LDForgeUI* ui; |
251 Ui_LDForgeUI* ui; |
158 |
252 |
159 void invokeAction (QAction* act, void (*func)()); |
|
160 |
|
161 |
|
162 private slots: |
253 private slots: |
163 void slot_selectionChanged(); |
254 void slot_selectionChanged(); |
164 void slot_recentFile(); |
255 void slot_recentFile(); |
165 void slot_quickColor(); |
256 void slot_quickColor(); |
166 void slot_lastSecondCleanup(); |
257 void slot_lastSecondCleanup(); |
167 void slot_editObject (QListWidgetItem* listitem); |
258 void slot_editObject (QListWidgetItem* listitem); |
168 }; |
259 }; |
169 |
|
170 #define INVOKE_ACTION(N) actiondef_##N(); |
|
171 #define act(N) void actiondef_##N(); |
|
172 #include "actions.h" |
|
173 |
260 |
174 // ----------------------------------------------------------------------------- |
261 // ----------------------------------------------------------------------------- |
175 // Pointer to the instance of ForgeWindow. |
262 // Pointer to the instance of ForgeWindow. |
176 extern ForgeWindow* g_win; |
263 extern ForgeWindow* g_win; |
177 |
264 |