X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_PagedContainer.cpp;h=d069b57f604a783df4b4960bf4a91e1dff638657;hb=69ab96aa2914d1a7d0032b682b968c5f7a791927;hp=d067e100c6132365785787373c2bdb665079a8c7;hpb=ec6aaa4d8bd3609b04ea85683e1b1175b6632238;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_PagedContainer.cpp b/src/ModuleBase/ModuleBase_PagedContainer.cpp index d067e100c..d069b57f6 100644 --- a/src/ModuleBase/ModuleBase_PagedContainer.cpp +++ b/src/ModuleBase/ModuleBase_PagedContainer.cpp @@ -13,15 +13,17 @@ #include #include -#include +#include #include -ModuleBase_PagedContainer::ModuleBase_PagedContainer(QWidget* theParent, const Config_WidgetAPI* theData, - const std::string& theParentId) -: ModuleBase_ModelWidget(theParent, theData, theParentId), +ModuleBase_PagedContainer::ModuleBase_PagedContainer(QWidget* theParent, const Config_WidgetAPI* theData) +: ModuleBase_ModelWidget(theParent, theData), myIsFocusOnCurrentPage(false) { + // it is not obligatory to be ignored when property panel tries to activate next active widget + // but if focus is moved to this control, it can accept it. + myIsObligatory = false; } ModuleBase_PagedContainer::~ModuleBase_PagedContainer() @@ -29,10 +31,15 @@ ModuleBase_PagedContainer::~ModuleBase_PagedContainer() } int ModuleBase_PagedContainer::addPage(ModuleBase_PageBase* thePage, - const QString& theName, const QString& theCaseId) + const QString& theName, const QString& theCaseId, + const QPixmap& theIcon ) { + if (!myPages.count()) { + setDefaultValue(theCaseId.toStdString()); + } myCaseIds << theCaseId; myPages << thePage; + return myPages.count(); } @@ -65,7 +72,7 @@ void ModuleBase_PagedContainer::enableFocusProcessing() myIsFocusOnCurrentPage = true; } -bool ModuleBase_PagedContainer::restoreValue() +bool ModuleBase_PagedContainer::restoreValueCustom() { // A rare case when plugin was not loaded. if(!myFeature) @@ -86,7 +93,7 @@ void ModuleBase_PagedContainer::activateCustom() focusTo(); } -bool ModuleBase_PagedContainer::storeValueCustom() const +bool ModuleBase_PagedContainer::storeValueCustom() { // A rare case when plugin was not loaded. if(!myFeature) @@ -95,6 +102,7 @@ bool ModuleBase_PagedContainer::storeValueCustom() const AttributeStringPtr aStringAttr = aData->string(attributeID()); QString aWidgetValue = myCaseIds.at(currentPageIndex()); aStringAttr->setValue(aWidgetValue.toStdString()); + updateObject(myFeature); // for preview return true; }