diff options
author | Marius Kintel <marius@kintel.net> | 2013-05-28 05:25:03 (GMT) |
---|---|---|
committer | Marius Kintel <marius@kintel.net> | 2013-05-28 05:25:03 (GMT) |
commit | 33e873d8dae644b28dd3d6cbcf04450d6675fafd (patch) | |
tree | a0d6e570b21f18763ef33099b486d735ec22f2f4 /src/MainWindow.h | |
parent | eade7ede546f2415dfe6a8ff36a77136f883d03b (diff) |
Changed compile GUI logic to properly handler automatic reload on cascading changes
Diffstat (limited to 'src/MainWindow.h')
-rw-r--r-- | src/MainWindow.h | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/MainWindow.h b/src/MainWindow.h index bd32bdd..fc64137 100644 --- a/src/MainWindow.h +++ b/src/MainWindow.h @@ -28,6 +28,7 @@ public: QTimer *autoReloadTimer; std::string autoReloadId; + QTimer *waitAfterReloadTimer; ModuleContext top_ctx; FileModule *root_module; // Result of parsing @@ -77,8 +78,8 @@ private: void updateTemporalVariables(); bool fileChangedOnDisk(); bool includesChanged(); - bool compileTopLevelDocument(bool reload); - bool compile(bool reload, bool procevents); + void compileTopLevelDocument(); + void compile(bool reload, bool forcedone = false); void compileCSG(bool procevents); bool maybeSave(); bool checkEditorModified(); @@ -103,6 +104,10 @@ private slots: void actionReload(); void actionShowLibraryFolder(); + void instantiateRoot(); + void compileDone(bool didchange); + void compileEnded(); + private slots: void pasteViewportTranslation(); void pasteViewportRotation(); @@ -110,10 +115,13 @@ private slots: void preferences(); private slots: - void actionCompile(); + void actionRenderCSG(); + void csgRender(); + void csgReloadRender(); #ifdef ENABLE_CGAL void actionRenderCGAL(); void actionRenderCGALDone(class CGAL_Nef_polyhedron *); + void cgalRender(); #endif void actionDisplayAST(); void actionDisplayCSGTree(); @@ -132,6 +140,7 @@ public: void clearCurrentOutput(); public slots: + void actionReloadRenderCSG(); #ifdef ENABLE_OPENCSG void viewModeOpenCSG(); #endif @@ -164,13 +173,16 @@ public slots: void helpManual(); void helpLibrary(); void quit(); - void actionReloadCompile(); void checkAutoReload(); + void waitAfterReload(); void autoReloadSet(bool); private: static void report_func(const class AbstractNode*, void *vp, int mark); + char const * afterCompileSlot; + bool procevents; + class ProgressWidget *progresswidget; class CGALWorker *cgalworker; QMutex consolemutex; |