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:
hjk
2019-04-26 12:16:08 +02:00
parent 089734a6c8
commit 0a8546ab13
3 changed files with 29 additions and 4 deletions

View File

@@ -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());