XGUI_PropertyPanel::XGUI_PropertyPanel(QWidget* theParent)
: ModuleBase_IPropertyPanel(theParent),
myActiveWidget(NULL),
+ myPreselectionWidget(NULL),
myPanelPage(NULL)
{
this->setWindowTitle(tr("Property Panel"));
ModuleBase_Tools::zeroMargins(aBtnLay);
aMainLayout->addWidget(aFrm, aPanelRow++, kPanelColumn);
+ myHeaderWidget = aFrm;
+
QStringList aBtnNames;
aBtnNames << QString(PROP_PANEL_HELP)
<< QString(PROP_PANEL_OK)
if (theFeature->isAction() || !theFeature->data())
return;
foreach(ModuleBase_ModelWidget* eachWidget, myWidgets) {
- eachWidget->setFeature(theFeature);
+ if (!eachWidget->feature().get())
+ eachWidget->setFeature(theFeature);
eachWidget->restoreValue();
}
// the repaint is used here to immediately react in GUI to the values change.
ModuleBase_ModelWidget* aNextWidget = 0;
QList<ModuleBase_ModelWidget*>::const_iterator anIt = myWidgets.begin(), aLast = myWidgets.end();
bool isFoundWidget = false;
+ activateWindow();
for (; anIt != aLast && !aNextWidget; anIt++) {
if (isFoundWidget || !theWidget) {
if ((*anIt)->focusTo()) {
aBtn->setDefaultAction(anAct);
}
}
+
+ModuleBase_ModelWidget* XGUI_PropertyPanel::preselectionWidget() const
+{
+ return myPreselectionWidget;
+}
+
+void XGUI_PropertyPanel::setPreselectionWidget(ModuleBase_ModelWidget* theWidget)
+{
+ myPreselectionWidget = theWidget;
+}