diff options
author | Miodrag Milanovic <mmicko@gmail.com> | 2018-08-03 18:23:40 +0200 |
---|---|---|
committer | Miodrag Milanovic <mmicko@gmail.com> | 2018-08-03 18:23:40 +0200 |
commit | e68ca65e9e0a1675a13e607a99f318ce5958c7e9 (patch) | |
tree | d67dffc52115992c5d77cb559756c56f77d6dffe | |
parent | 80e6b17ec9da25ff089a626b2fb5043876814307 (diff) | |
download | nextpnr-e68ca65e9e0a1675a13e607a99f318ce5958c7e9.tar.gz nextpnr-e68ca65e9e0a1675a13e607a99f318ce5958c7e9.tar.bz2 nextpnr-e68ca65e9e0a1675a13e607a99f318ce5958c7e9.zip |
Unify interfaces for gui
-rw-r--r-- | ecp5/arch.h | 2 | ||||
-rw-r--r-- | ecp5/main.cc | 2 | ||||
-rw-r--r-- | generic/arch.cc | 2 | ||||
-rw-r--r-- | generic/main.cc | 5 | ||||
-rw-r--r-- | gui/ecp5/mainwindow.cc | 10 | ||||
-rw-r--r-- | gui/ecp5/mainwindow.h | 6 | ||||
-rw-r--r-- | gui/generic/mainwindow.cc | 10 | ||||
-rw-r--r-- | gui/generic/mainwindow.h | 6 |
8 files changed, 34 insertions, 9 deletions
diff --git a/ecp5/arch.h b/ecp5/arch.h index cd103b12..38ca7f6b 100644 --- a/ecp5/arch.h +++ b/ecp5/arch.h @@ -384,7 +384,7 @@ struct PipRange struct ArchArgs { - enum + enum ArchArgsType { NONE, LFE5U_25F, diff --git a/ecp5/main.cc b/ecp5/main.cc index f40a5e61..805c0d26 100644 --- a/ecp5/main.cc +++ b/ecp5/main.cc @@ -148,7 +148,7 @@ int main(int argc, char *argv[]) #ifndef NO_GUI if (vm.count("gui")) { Application a(argc, argv); - MainWindow w(std::move(ctx)); + MainWindow w(std::move(ctx),args); w.show(); return a.exec(); diff --git a/generic/arch.cc b/generic/arch.cc index 1c22dbf7..ce15a689 100644 --- a/generic/arch.cc +++ b/generic/arch.cc @@ -175,7 +175,7 @@ void Arch::setGroupDecal(GroupId group, DecalXY decalxy) // --------------------------------------------------------------- -Arch::Arch(ArchArgs) {} +Arch::Arch(ArchArgs) : chipName("generic") {} void IdString::initialize_arch(const BaseCtx *ctx) {} diff --git a/generic/main.cc b/generic/main.cc index 3b8b3fe6..8653da01 100644 --- a/generic/main.cc +++ b/generic/main.cc @@ -90,7 +90,8 @@ int main(int argc, char *argv[]) return 1; } - std::unique_ptr<Context> ctx = std::unique_ptr<Context>(new Context(ArchArgs{})); + ArchArgs chipArgs{}; + std::unique_ptr<Context> ctx = std::unique_ptr<Context>(new Context(chipArgs)); if (vm.count("verbose")) { ctx->verbose = true; @@ -107,7 +108,7 @@ int main(int argc, char *argv[]) #ifndef NO_GUI if (vm.count("gui")) { Application a(argc, argv); - MainWindow w(std::move(ctx)); + MainWindow w(std::move(ctx), chipArgs); w.show(); return a.exec(); diff --git a/gui/ecp5/mainwindow.cc b/gui/ecp5/mainwindow.cc index 935daefd..0a33ee2b 100644 --- a/gui/ecp5/mainwindow.cc +++ b/gui/ecp5/mainwindow.cc @@ -23,19 +23,27 @@ static void initMainResource() { Q_INIT_RESOURCE(nextpnr); } NEXTPNR_NAMESPACE_BEGIN
-MainWindow::MainWindow(std::unique_ptr<Context> context, QWidget *parent) : BaseMainWindow(std::move(context), parent)
+MainWindow::MainWindow(std::unique_ptr<Context> context, ArchArgs args, QWidget *parent) : BaseMainWindow(std::move(context), parent), chipArgs(args)
{
initMainResource();
std::string title = "nextpnr-ecp5 - [EMPTY]";
setWindowTitle(title.c_str());
+ connect(this, &BaseMainWindow::contextChanged, this, &MainWindow::newContext);
+
createMenu();
Q_EMIT contextChanged(ctx.get());
}
MainWindow::~MainWindow() {}
+void MainWindow::newContext(Context *ctx)
+{
+ std::string title = "nextpnr-generic - " + ctx->getChipName() + " ( " + chipArgs.package + " )";
+ setWindowTitle(title.c_str());
+}
+
void MainWindow::createMenu() {}
void MainWindow::new_proj() {}
diff --git a/gui/ecp5/mainwindow.h b/gui/ecp5/mainwindow.h index e97bb4e7..8421b52a 100644 --- a/gui/ecp5/mainwindow.h +++ b/gui/ecp5/mainwindow.h @@ -29,7 +29,7 @@ class MainWindow : public BaseMainWindow Q_OBJECT
public:
- explicit MainWindow(std::unique_ptr<Context> context, QWidget *parent = 0);
+ explicit MainWindow(std::unique_ptr<Context> context, ArchArgs args, QWidget *parent = 0);
virtual ~MainWindow();
public:
@@ -39,6 +39,10 @@ class MainWindow : public BaseMainWindow virtual void new_proj();
virtual void open_proj();
virtual bool save_proj();
+ void newContext(Context *ctx);
+
+private:
+ ArchArgs chipArgs;
};
NEXTPNR_NAMESPACE_END
diff --git a/gui/generic/mainwindow.cc b/gui/generic/mainwindow.cc index 70ee600d..353668b9 100644 --- a/gui/generic/mainwindow.cc +++ b/gui/generic/mainwindow.cc @@ -23,19 +23,27 @@ static void initMainResource() { Q_INIT_RESOURCE(nextpnr); } NEXTPNR_NAMESPACE_BEGIN
-MainWindow::MainWindow(std::unique_ptr<Context> context, QWidget *parent) : BaseMainWindow(std::move(context), parent)
+MainWindow::MainWindow(std::unique_ptr<Context> context, ArchArgs args, QWidget *parent) : BaseMainWindow(std::move(context), parent), chipArgs(args)
{
initMainResource();
std::string title = "nextpnr-generic - [EMPTY]";
setWindowTitle(title.c_str());
+ connect(this, &BaseMainWindow::contextChanged, this, &MainWindow::newContext);
+
createMenu();
Q_EMIT contextChanged(ctx.get());
}
MainWindow::~MainWindow() {}
+void MainWindow::newContext(Context *ctx)
+{
+ std::string title = "nextpnr-generic - " + ctx->getChipName();
+ setWindowTitle(title.c_str());
+}
+
void MainWindow::createMenu() {}
void MainWindow::new_proj() {}
diff --git a/gui/generic/mainwindow.h b/gui/generic/mainwindow.h index e97bb4e7..fd7cb7d2 100644 --- a/gui/generic/mainwindow.h +++ b/gui/generic/mainwindow.h @@ -29,7 +29,7 @@ class MainWindow : public BaseMainWindow Q_OBJECT
public:
- explicit MainWindow(std::unique_ptr<Context> context, QWidget *parent = 0);
+ explicit MainWindow(std::unique_ptr<Context> context, ArchArgs args, QWidget *parent = 0);
virtual ~MainWindow();
public:
@@ -39,6 +39,10 @@ class MainWindow : public BaseMainWindow virtual void new_proj();
virtual void open_proj();
virtual bool save_proj();
+ void newContext(Context *ctx);
+
+private:
+ ArchArgs chipArgs;
};
NEXTPNR_NAMESPACE_END
|