summaryrefslogtreecommitdiff
path: root/src/MainWindow.h
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2013-05-28 05:25:03 (GMT)
committerMarius Kintel <marius@kintel.net>2013-05-28 05:25:03 (GMT)
commit33e873d8dae644b28dd3d6cbcf04450d6675fafd (patch)
treea0d6e570b21f18763ef33099b486d735ec22f2f4 /src/MainWindow.h
parenteade7ede546f2415dfe6a8ff36a77136f883d03b (diff)
Changed compile GUI logic to properly handler automatic reload on cascading changes
Diffstat (limited to 'src/MainWindow.h')
-rw-r--r--src/MainWindow.h20
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;
contact: Jan Huwald // Impressum