aboutsummaryrefslogtreecommitdiffstats
path: root/gui/mainwindow.h
diff options
context:
space:
mode:
Diffstat (limited to 'gui/mainwindow.h')
-rw-r--r--gui/mainwindow.h140
1 files changed, 84 insertions, 56 deletions
diff --git a/gui/mainwindow.h b/gui/mainwindow.h
index e9645619..5464a6dd 100644
--- a/gui/mainwindow.h
+++ b/gui/mainwindow.h
@@ -1,56 +1,84 @@
-#ifndef MAINWINDOW_H
-#define MAINWINDOW_H
-
-#include "emb.h"
-#include "nextpnr.h"
-#include "qtpropertymanager.h"
-#include "qttreepropertybrowser.h"
-#include "qtvariantproperty.h"
-
-#include <QLineEdit>
-#include <QMainWindow>
-#include <QPlainTextEdit>
-
-// FIXME
-USING_NEXTPNR_NAMESPACE
-
-namespace Ui {
-class MainWindow;
-}
-
-class MainWindow : public QMainWindow
-{
- Q_OBJECT
-
- public:
- explicit MainWindow(Design *design, QWidget *parent = 0);
- ~MainWindow();
- Design *getDesign() { return design; }
-
- private:
- int executePython(std::string command);
- void addProperty(QtVariantProperty *property, const QString &id);
-
- private Q_SLOTS:
- void editLineReturnPressed();
- void prepareMenu(const QPoint &pos);
- void selectObject();
- void onItemClicked(QTreeWidgetItem *item, int);
-
- private:
- Ui::MainWindow *ui;
- emb::stdout_write_type write;
- Design *design;
- QtVariantPropertyManager *variantManager;
- QtVariantEditorFactory *variantFactory;
- QtTreePropertyBrowser *propertyEditor;
- QTreeWidgetItem *itemContextMenu;
-
- QMap<QtProperty *, QString> propertyToId;
- QMap<QString, QtVariantProperty *> idToProperty;
-
- QPlainTextEdit *plainTextEdit;
- QLineEdit *lineEdit;
-};
-
-#endif // MAINWINDOW_H
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include "emb.h"
+#include "nextpnr.h"
+#include "qtpropertymanager.h"
+#include "qttreepropertybrowser.h"
+#include "qtvariantproperty.h"
+
+#include <QLineEdit>
+#include <QMainWindow>
+#include <QPlainTextEdit>
+#include <QTabWidget>
+
+// FIXME
+USING_NEXTPNR_NAMESPACE
+
+namespace Ui {
+class MainWindow;
+}
+
+class PythonTab : public QWidget
+{
+ Q_OBJECT
+
+ public:
+ explicit PythonTab(QWidget *parent = 0);
+
+ private:
+ int executePython(std::string command);
+ private Q_SLOTS:
+ void editLineReturnPressed();
+
+ private:
+ QPlainTextEdit *plainTextEdit;
+ QLineEdit *lineEdit;
+ emb::stdout_write_type write;
+};
+
+class InfoTab : public QWidget
+{
+ Q_OBJECT
+
+ public:
+ explicit InfoTab(QWidget *parent = 0);
+ void info(std::string str);
+
+ private:
+ QPlainTextEdit *plainTextEdit;
+};
+
+class MainWindow : public QMainWindow
+{
+ Q_OBJECT
+
+ public:
+ explicit MainWindow(Design *design, QWidget *parent = 0);
+ ~MainWindow();
+ Design *getDesign() { return design; }
+
+ private:
+ void addProperty(QtVariantProperty *property, const QString &id);
+
+ private Q_SLOTS:
+ void prepareMenu(const QPoint &pos);
+ void selectObject();
+ void onItemClicked(QTreeWidgetItem *item, int);
+
+ private:
+ Ui::MainWindow *ui;
+ Design *design;
+ QtVariantPropertyManager *variantManager;
+ QtVariantEditorFactory *variantFactory;
+ QtTreePropertyBrowser *propertyEditor;
+ QTreeWidgetItem *itemContextMenu;
+
+ QMap<QtProperty *, QString> propertyToId;
+ QMap<QString, QtVariantProperty *> idToProperty;
+
+ QTabWidget *tabWidget;
+ InfoTab *info;
+};
+
+#endif // MAINWINDOW_H