aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ecp5/arch.h2
-rw-r--r--ecp5/main.cc2
-rw-r--r--generic/arch.cc2
-rw-r--r--generic/main.cc5
-rw-r--r--gui/ecp5/mainwindow.cc10
-rw-r--r--gui/ecp5/mainwindow.h6
-rw-r--r--gui/generic/mainwindow.cc10
-rw-r--r--gui/generic/mainwindow.h6
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