aboutsummaryrefslogtreecommitdiffstats
path: root/gui/basewindow.h
diff options
context:
space:
mode:
authorMiodrag Milanović <mmicko@gmail.com>2018-08-03 03:31:37 -0700
committerGitHub <noreply@github.com>2018-08-03 03:31:37 -0700
commit751a5457dcd8ce3acd9aa08591f56310c85210d4 (patch)
tree40f9789b2d1a96797e7b530e78b0de39ba2bd753 /gui/basewindow.h
parent1c1fd99b8ba686c21b17dd8d413a0a5ae6ba1a6d (diff)
parent90623b80e8c37e71e095cc377ce9e8c032af679b (diff)
downloadnextpnr-751a5457dcd8ce3acd9aa08591f56310c85210d4.tar.gz
nextpnr-751a5457dcd8ce3acd9aa08591f56310c85210d4.tar.bz2
nextpnr-751a5457dcd8ce3acd9aa08591f56310c85210d4.zip
Merge pull request #20 from YosysHQ/gui4all
Refactor GUI
Diffstat (limited to 'gui/basewindow.h')
-rw-r--r--gui/basewindow.h51
1 files changed, 45 insertions, 6 deletions
diff --git a/gui/basewindow.h b/gui/basewindow.h
index a25a2854..5cec24c5 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,17 @@ 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,26 +69,56 @@ 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:
+ // state variables
std::unique_ptr<Context> ctx;
+ TaskManager *task;
+ bool timing_driven;
+ std::string currentJson;
+
+ // main widgets
QTabWidget *tabWidget;
QTabWidget *centralTabWidget;
PythonTab *console;
+ DesignWidget *designview;
+ FPGAViewWidget *fpgaView;
+ // Menus, bars and actions
QMenuBar *menuBar;
- QToolBar *mainToolBar;
- QToolBar *graphicsToolBar;
+ QMenu *menuDesign;
QStatusBar *statusBar;
+ QToolBar *mainActionBar;
+ QProgressBar *progressBar;
+
QAction *actionNew;
QAction *actionOpen;
QAction *actionSave;
- QProgressBar *progressBar;
- DesignWidget *designview;
- FPGAViewWidget *fpgaView;
+
+ QAction *actionLoadJSON;
+ QAction *actionPack;
+ QAction *actionAssignBudget;
+ QAction *actionPlace;
+ QAction *actionRoute;
+ QAction *actionPlay;
+ QAction *actionPause;
+ QAction *actionStop;
};
NEXTPNR_NAMESPACE_END