forked from qt-creator/qt-creator
ProjectExplorer: Add a BuildConfig::createConfigWidget() implementation
Mimicking the other aspect-unsing setups. It is currently re-implemented in all derived classes, i.e. unused. Change-Id: Ia1c16318347baa13a869d3eb03717a0f5ff0d8f8 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -28,6 +28,7 @@
|
||||
#include "buildenvironmentwidget.h"
|
||||
#include "buildinfo.h"
|
||||
#include "buildsteplist.h"
|
||||
#include "namedwidget.h"
|
||||
#include "kit.h"
|
||||
#include "kitinformation.h"
|
||||
#include "kitmanager.h"
|
||||
@@ -47,6 +48,7 @@
|
||||
#include <utils/mimetypes/mimedatabase.h>
|
||||
|
||||
#include <QDebug>
|
||||
#include <QFormLayout>
|
||||
|
||||
static const char BUILD_STEP_LIST_COUNT[] = "ProjectExplorer.BuildConfiguration.BuildStepListCount";
|
||||
static const char BUILD_STEP_LIST_PREFIX[] = "ProjectExplorer.BuildConfiguration.BuildStepList.";
|
||||
@@ -103,6 +105,23 @@ void BuildConfiguration::setBuildDirectory(const Utils::FileName &dir)
|
||||
emitBuildDirectoryChanged();
|
||||
}
|
||||
|
||||
NamedWidget *BuildConfiguration::createConfigWidget()
|
||||
{
|
||||
auto widget = new NamedWidget;
|
||||
widget->setDisplayName(m_configWidgetDisplayName);
|
||||
|
||||
auto formLayout = new QFormLayout(widget);
|
||||
formLayout->setMargin(0);
|
||||
formLayout->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow);
|
||||
|
||||
for (ProjectConfigurationAspect *aspect : aspects()) {
|
||||
if (aspect->isVisible())
|
||||
aspect->addToConfigurationLayout(formLayout);
|
||||
}
|
||||
|
||||
return widget;
|
||||
}
|
||||
|
||||
void BuildConfiguration::initialize(const BuildInfo &info)
|
||||
{
|
||||
setDisplayName(info.displayName);
|
||||
@@ -194,6 +213,11 @@ void BuildConfiguration::emitBuildDirectoryChanged()
|
||||
}
|
||||
}
|
||||
|
||||
void BuildConfiguration::setConfigWidgetDisplayName(const QString &display)
|
||||
{
|
||||
m_configWidgetDisplayName = display;
|
||||
}
|
||||
|
||||
Target *BuildConfiguration::target() const
|
||||
{
|
||||
return static_cast<Target *>(parent());
|
||||
|
||||
@@ -55,7 +55,7 @@ public:
|
||||
Utils::FileName rawBuildDirectory() const;
|
||||
void setBuildDirectory(const Utils::FileName &dir);
|
||||
|
||||
virtual NamedWidget *createConfigWidget() = 0;
|
||||
virtual NamedWidget *createConfigWidget();
|
||||
virtual QList<NamedWidget *> createSubConfigWidgets();
|
||||
|
||||
// Maybe the BuildConfiguration is not the best place for the environment
|
||||
@@ -99,6 +99,8 @@ public:
|
||||
static void prependCompilerPathToEnvironment(Kit *k, Utils::Environment &env);
|
||||
void updateCacheAndEmitEnvironmentChanged();
|
||||
|
||||
void setConfigWidgetDisplayName(const QString &display);
|
||||
|
||||
signals:
|
||||
void environmentChanged();
|
||||
void buildDirectoryChanged();
|
||||
@@ -117,6 +119,7 @@ private:
|
||||
Utils::FileName m_buildDirectory;
|
||||
Utils::FileName m_lastEmmitedBuildDirectory;
|
||||
mutable Utils::Environment m_cachedEnvironment;
|
||||
QString m_configWidgetDisplayName;
|
||||
};
|
||||
|
||||
class PROJECTEXPLORER_EXPORT BuildConfigurationFactory : public QObject
|
||||
|
||||
@@ -39,13 +39,11 @@ public:
|
||||
explicit NamedWidget(QWidget *parent = nullptr);
|
||||
|
||||
QString displayName() const;
|
||||
void setDisplayName(const QString &displayName);
|
||||
|
||||
signals:
|
||||
void displayNameChanged(const QString &);
|
||||
|
||||
protected:
|
||||
void setDisplayName(const QString &displayName);
|
||||
|
||||
private:
|
||||
QString m_displayName;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user