From 8eaa50c0501b1e67f3e3521a27e399bafaf1c06e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Thu, 11 Jul 2019 14:00:32 +0200 Subject: [PATCH] GUI: Tweak the 'Human knowledge' tab --- gui/projectfiledialog.cpp | 9 ++ gui/projectfiledialog.ui | 241 ++++++++++++++++---------------------- 2 files changed, 110 insertions(+), 140 deletions(-) diff --git a/gui/projectfiledialog.cpp b/gui/projectfiledialog.cpp index a9523b978..03d2a411f 100644 --- a/gui/projectfiledialog.cpp +++ b/gui/projectfiledialog.cpp @@ -178,6 +178,15 @@ ProjectFileDialog::ProjectFileDialog(ProjectFile *projectFile, QWidget *parent) const QRegExp undefRegExp("\\s*([a-zA-Z_][a-zA-Z0-9_]*[; ]*)*"); mUI.mEditUndefines->setValidator(new QRegExpValidator(undefRegExp, this)); + // Human knowledge.. + mUI.mListUnknownFunctionReturn->clear(); + mUI.mListUnknownFunctionReturn->addItem("rand()"); + for (int row = 0; row < mUI.mListUnknownFunctionReturn->count(); ++row) { + QListWidgetItem *item = mUI.mListUnknownFunctionReturn->item(row); + item->setFlags(item->flags() | Qt::ItemIsUserCheckable); // set checkable flag + item->setCheckState(item->text() == "rand()" ? Qt::Checked : Qt::Unchecked); // AND initialize check state + } + connect(mUI.mButtons, &QDialogButtonBox::accepted, this, &ProjectFileDialog::ok); connect(mUI.mBtnBrowseBuildDir, &QPushButton::clicked, this, &ProjectFileDialog::browseBuildDir); connect(mUI.mBtnClearImportProject, &QPushButton::clicked, this, &ProjectFileDialog::clearImportProject); diff --git a/gui/projectfiledialog.ui b/gui/projectfiledialog.ui index 5f72bd9a4..bba5386f0 100644 --- a/gui/projectfiledialog.ui +++ b/gui/projectfiledialog.ui @@ -6,7 +6,7 @@ 0 0 - 642 + 888 585 @@ -415,154 +415,115 @@ - + - Custom + Human knowledge - - - Qt::ScrollBarAlwaysOff + + + Input from file/network/user/... - - true - - - - - 0 - 0 - 605 - 522 - - - - - - - Here it will be possible to configure "human knowledge" about your project. - - - - - - - Arbitrary input from file/network/user/... - - + + + + + If the return value from a function below is always completely unknown, then click on its checkbox + + + true + + + + + + + + + + 16777215 + 60 + + - - - TODO: Select the functions that give your project "arbitrary input" .... - - + + rand() + - - - - - - - Interface headers - - - - - - TODO: Select "interface" headers. All public functions/variables in these must be "safe". - - - - - - - - - - Possible values of function parameters - - - - - - Experimental: All function parameters can have arbitrary values - - - - - - - TODO: Configure possible values of function parameters - - - - - - - Note: It must be possible to define parameter values in the code using annotations in the code (SAL , code contracts, etc) - - - true - - - - - - - - - - Classes - - - - - - All classes must have a "safe" public interface - - - true - - - - - - - - - "Safe" classes: - - - - - - - - - - - - - - - Global variables - - - - - - TODO: Possible values of global variables - - - - - - - - + + + + + + false + + + Add.. + + + + + + + + + + Possible values of function parameters + + + + + + Experimental: All function parameters can have arbitrary values + + + + + + + TODO: Configure possible values of function parameters + + + + + + + Note: It must be possible to define parameter values in the code using annotations in the code (SAL , code contracts, etc) + + + true + + + + + + + + + + All classes must have a "safe" public interface + + + false + + + + + + + Qt::Vertical + + + + 20 + 40 + + + +