+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
/*
* ModuleBase_PageBase.cpp
*
placePageWidget(thePage);
}
+void ModuleBase_PageBase::addWidget(QWidget* theWidget)
+{
+ placeWidget(theWidget);
+}
+
void ModuleBase_PageBase::clearPage()
{
+ myWidgetList.clear();
+
QLayoutItem *aChild;
while ((aChild = pageLayout()->takeAt(0)) != 0) {
if(aChild->widget()) {
- aChild->widget()->deleteLater();
+ delete aChild->widget();
} else {
delete aChild;
}
}
- myWidgetList.clear();
+
+ // Issue #460: this patch is necessary since the row stretch information
+ // is stored independently on the items: when the items are removed
+ // from the layout the stretch information is kept, so in the next
+ // filling of the layout some "additional" (old) rows may be stretched
+ // without necessity.
+ // In this patch we clear the stretch information specifying the default value: 0.
+ QGridLayout* aLayout = dynamic_cast<QGridLayout*>( pageLayout() );
+ if( aLayout )
+ {
+ int r = aLayout->rowCount();
+ for( int i=0; i<r; i++ )
+ aLayout->setRowStretch( i, 0 );
+ }
}
return myWidgetList.first()->focusTo();
}
-QList<ModuleBase_ModelWidget*> ModuleBase_PageBase::modelWidgets()
+QList<ModuleBase_ModelWidget*> ModuleBase_PageBase::modelWidgets() const
{
return myWidgetList;
}
addPageStretch();
}
}
+
+void ModuleBase_PageBase::placePageWidget(ModuleBase_PageBase* theWidget)
+{
+ QWidget* aWidget = dynamic_cast<QWidget*>(theWidget);
+ placeWidget(aWidget);
+}