aboutsummaryrefslogtreecommitdiffstats
path: root/gui/basewindow.h
diff options
context:
space:
mode:
authorSergiusz Bazanski <q3k@q3k.org>2018-06-22 14:29:28 +0100
committerSergiusz Bazanski <q3k@q3k.org>2018-06-22 14:29:28 +0100
commit858acc5c1c0ee4bbdfb8d2012b80cda656ca39db (patch)
tree7cc94b94e40c05c5a7baae61c9d0db4f23a31b60 /gui/basewindow.h
parent98b1f0c041b01d07f64e8e04503f8eccb05a93de (diff)
parentf86a0d6c8c8792c36c87cf345665ce7c9fbcc60f (diff)
downloadnextpnr-858acc5c1c0ee4bbdfb8d2012b80cda656ca39db.tar.gz
nextpnr-858acc5c1c0ee4bbdfb8d2012b80cda656ca39db.tar.bz2
nextpnr-858acc5c1c0ee4bbdfb8d2012b80cda656ca39db.zip
Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into q3k/gl
Diffstat (limited to 'gui/basewindow.h')
-rw-r--r--gui/basewindow.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/gui/basewindow.h b/gui/basewindow.h
new file mode 100644
index 00000000..55e4affc
--- /dev/null
+++ b/gui/basewindow.h
@@ -0,0 +1,49 @@
+#ifndef BASEMAINWINDOW_H
+#define BASEMAINWINDOW_H
+
+#include "infotab.h"
+#include "nextpnr.h"
+
+#include <QMainWindow>
+#include <QMenu>
+#include <QMenuBar>
+#include <QStatusBar>
+#include <QTabWidget>
+#include <QToolBar>
+
+Q_DECLARE_METATYPE(std::string)
+
+NEXTPNR_NAMESPACE_BEGIN
+
+class BaseMainWindow : public QMainWindow
+{
+ Q_OBJECT
+
+ public:
+ explicit BaseMainWindow(Context *ctx, QWidget *parent = 0);
+ virtual ~BaseMainWindow();
+ Context *getContext() { return ctx; }
+
+ protected:
+ void createMenusAndBars();
+
+ protected Q_SLOTS:
+ void writeInfo(std::string text);
+
+ virtual void open() = 0;
+ virtual bool save() = 0;
+
+ protected:
+ Context *ctx;
+ QTabWidget *tabWidget;
+ QTabWidget *centralTabWidget;
+ InfoTab *info;
+
+ QMenuBar *menuBar;
+ QToolBar *mainToolBar;
+ QStatusBar *statusBar;
+};
+
+NEXTPNR_NAMESPACE_END
+
+#endif // BASEMAINWINDOW_H