forked from qt-creator/qt-creator
ProjectExplorer: Prepare more flexibility to aspect layouting
This hides the explicit use of a QFormLayout from the aspect interface in a new LayoutBuilder class. That currently works only on a QFormLayout in the back, but opens the possibility to use e.g. a QGridLayout as use on the Kits and some option pages. The aspects now only announce sub-widgets they like to add, actuall positioning is does by a new LayoutBuilder class, also cramming several widgets in an hbox in the right column of the QFormLayout is done there. Change-Id: I2b788192c465f2ab82261849d34e514697c5a491 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -248,13 +248,14 @@ QString RunConfiguration::disabledReason() const
|
||||
QWidget *RunConfiguration::createConfigurationWidget()
|
||||
{
|
||||
auto widget = new QWidget;
|
||||
auto formLayout = new QFormLayout(widget);
|
||||
formLayout->setContentsMargins(0, 0, 0, 0);
|
||||
formLayout->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow);
|
||||
|
||||
for (ProjectConfigurationAspect *aspect : m_aspects) {
|
||||
if (aspect->isVisible())
|
||||
aspect->addToConfigurationLayout(formLayout);
|
||||
{
|
||||
LayoutBuilder builder(widget);
|
||||
for (ProjectConfigurationAspect *aspect : m_aspects) {
|
||||
if (aspect->isVisible()) {
|
||||
builder.startNewRow();
|
||||
aspect->addToLayout(builder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Core::VariableChooser::addSupportForChildWidgets(widget, macroExpander());
|
||||
|
||||
Reference in New Issue
Block a user