aboutsummaryrefslogtreecommitdiffstats
path: root/gui/basewindow.h
diff options
context:
space:
mode:
authorMiodrag Milanovic <mmicko@gmail.com>2018-08-02 18:50:08 +0200
committerMiodrag Milanovic <mmicko@gmail.com>2018-08-02 18:50:08 +0200
commit4fa0c81ed7ea8a8ad1c636b3d9f45deb8c73a2c4 (patch)
treeea0d077d066efc74df5ce0868e7b91d8483ae4df /gui/basewindow.h
parenta761b772c8294858590c4abced272d04bd58aad3 (diff)
downloadnextpnr-4fa0c81ed7ea8a8ad1c636b3d9f45deb8c73a2c4.tar.gz
nextpnr-4fa0c81ed7ea8a8ad1c636b3d9f45deb8c73a2c4.tar.bz2
nextpnr-4fa0c81ed7ea8a8ad1c636b3d9f45deb8c73a2c4.zip
Move common logic to basewindow
Diffstat (limited to 'gui/basewindow.h')
-rw-r--r--gui/basewindow.h39
1 files changed, 38 insertions, 1 deletions
diff --git a/gui/basewindow.h b/gui/basewindow.h
index a25a2854..536ce786 100644
--- a/gui/basewindow.h
+++ b/gui/basewindow.h
@@ -21,6 +21,7 @@
#define BASEMAINWINDOW_H
#include "nextpnr.h"
+#include "worker.h"
#include <QMainWindow>
#include <QMenu>
@@ -48,9 +49,16 @@ class BaseMainWindow : public QMainWindow
virtual ~BaseMainWindow();
Context *getContext() { return ctx.get(); }
+ void load_json(std::string filename);
protected:
void createMenusAndBars();
- void createGraphicsBar();
+ void disableActions();
+ virtual void onDisableActions() {};
+ virtual void onJsonLoaded() {};
+ virtual void onPackFinished() {};
+ virtual void onBudgetFinished() {};
+ virtual void onPlaceFinished() {};
+ virtual void onRouteFinished() {};
protected Q_SLOTS:
void writeInfo(std::string text);
@@ -60,12 +68,26 @@ class BaseMainWindow : public QMainWindow
virtual void open_proj() = 0;
virtual bool save_proj() = 0;
+ void open_json();
+ void budget();
+ void place();
+
+ void pack_finished(bool status);
+ void budget_finish(bool status);
+ void place_finished(bool status);
+ void route_finished(bool status);
+
+ void taskCanceled();
+ void taskStarted();
+ void taskPaused();
+
Q_SIGNALS:
void contextChanged(Context *ctx);
void updateTreeView();
protected:
std::unique_ptr<Context> ctx;
+ TaskManager *task;
QTabWidget *tabWidget;
QTabWidget *centralTabWidget;
PythonTab *console;
@@ -77,9 +99,24 @@ class BaseMainWindow : public QMainWindow
QAction *actionNew;
QAction *actionOpen;
QAction *actionSave;
+
+ QAction *actionLoadJSON;
+ QAction *actionPack;
+ QAction *actionAssignBudget;
+ QAction *actionPlace;
+ QAction *actionRoute;
+ QAction *actionPlay;
+ QAction *actionPause;
+ QAction *actionStop;
+
+ QMenu *menuDesign;
+ QToolBar *taskFPGABar;
+
QProgressBar *progressBar;
DesignWidget *designview;
FPGAViewWidget *fpgaView;
+ bool timing_driven;
+ std::string currentJson;
};
NEXTPNR_NAMESPACE_END