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 "buildenvironmentwidget.h"
|
||||||
#include "buildinfo.h"
|
#include "buildinfo.h"
|
||||||
#include "buildsteplist.h"
|
#include "buildsteplist.h"
|
||||||
|
#include "namedwidget.h"
|
||||||
#include "kit.h"
|
#include "kit.h"
|
||||||
#include "kitinformation.h"
|
#include "kitinformation.h"
|
||||||
#include "kitmanager.h"
|
#include "kitmanager.h"
|
||||||
@@ -47,6 +48,7 @@
|
|||||||
#include <utils/mimetypes/mimedatabase.h>
|
#include <utils/mimetypes/mimedatabase.h>
|
||||||
|
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
#include <QFormLayout>
|
||||||
|
|
||||||
static const char BUILD_STEP_LIST_COUNT[] = "ProjectExplorer.BuildConfiguration.BuildStepListCount";
|
static const char BUILD_STEP_LIST_COUNT[] = "ProjectExplorer.BuildConfiguration.BuildStepListCount";
|
||||||
static const char BUILD_STEP_LIST_PREFIX[] = "ProjectExplorer.BuildConfiguration.BuildStepList.";
|
static const char BUILD_STEP_LIST_PREFIX[] = "ProjectExplorer.BuildConfiguration.BuildStepList.";
|
||||||
@@ -103,6 +105,23 @@ void BuildConfiguration::setBuildDirectory(const Utils::FileName &dir)
|
|||||||
emitBuildDirectoryChanged();
|
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)
|
void BuildConfiguration::initialize(const BuildInfo &info)
|
||||||
{
|
{
|
||||||
setDisplayName(info.displayName);
|
setDisplayName(info.displayName);
|
||||||
@@ -194,6 +213,11 @@ void BuildConfiguration::emitBuildDirectoryChanged()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BuildConfiguration::setConfigWidgetDisplayName(const QString &display)
|
||||||
|
{
|
||||||
|
m_configWidgetDisplayName = display;
|
||||||
|
}
|
||||||
|
|
||||||
Target *BuildConfiguration::target() const
|
Target *BuildConfiguration::target() const
|
||||||
{
|
{
|
||||||
return static_cast<Target *>(parent());
|
return static_cast<Target *>(parent());
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ public:
|
|||||||
Utils::FileName rawBuildDirectory() const;
|
Utils::FileName rawBuildDirectory() const;
|
||||||
void setBuildDirectory(const Utils::FileName &dir);
|
void setBuildDirectory(const Utils::FileName &dir);
|
||||||
|
|
||||||
virtual NamedWidget *createConfigWidget() = 0;
|
virtual NamedWidget *createConfigWidget();
|
||||||
virtual QList<NamedWidget *> createSubConfigWidgets();
|
virtual QList<NamedWidget *> createSubConfigWidgets();
|
||||||
|
|
||||||
// Maybe the BuildConfiguration is not the best place for the environment
|
// Maybe the BuildConfiguration is not the best place for the environment
|
||||||
@@ -99,6 +99,8 @@ public:
|
|||||||
static void prependCompilerPathToEnvironment(Kit *k, Utils::Environment &env);
|
static void prependCompilerPathToEnvironment(Kit *k, Utils::Environment &env);
|
||||||
void updateCacheAndEmitEnvironmentChanged();
|
void updateCacheAndEmitEnvironmentChanged();
|
||||||
|
|
||||||
|
void setConfigWidgetDisplayName(const QString &display);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void environmentChanged();
|
void environmentChanged();
|
||||||
void buildDirectoryChanged();
|
void buildDirectoryChanged();
|
||||||
@@ -117,6 +119,7 @@ private:
|
|||||||
Utils::FileName m_buildDirectory;
|
Utils::FileName m_buildDirectory;
|
||||||
Utils::FileName m_lastEmmitedBuildDirectory;
|
Utils::FileName m_lastEmmitedBuildDirectory;
|
||||||
mutable Utils::Environment m_cachedEnvironment;
|
mutable Utils::Environment m_cachedEnvironment;
|
||||||
|
QString m_configWidgetDisplayName;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PROJECTEXPLORER_EXPORT BuildConfigurationFactory : public QObject
|
class PROJECTEXPLORER_EXPORT BuildConfigurationFactory : public QObject
|
||||||
|
|||||||
@@ -39,13 +39,11 @@ public:
|
|||||||
explicit NamedWidget(QWidget *parent = nullptr);
|
explicit NamedWidget(QWidget *parent = nullptr);
|
||||||
|
|
||||||
QString displayName() const;
|
QString displayName() const;
|
||||||
|
void setDisplayName(const QString &displayName);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void displayNameChanged(const QString &);
|
void displayNameChanged(const QString &);
|
||||||
|
|
||||||
protected:
|
|
||||||
void setDisplayName(const QString &displayName);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString m_displayName;
|
QString m_displayName;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user