X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_WidgetFactory.cpp;h=0cc45bf0947f676388cd9fb748f86c0286a6169e;hb=be64ac512378281d54e4a73e8edb68ae43d0c5a7;hp=ecba43238c54b0249e6e9c63b8889e43e8a0fc49;hpb=7074394f8f08413d885f63be01df6bd5007b868c;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_WidgetFactory.cpp b/src/ModuleBase/ModuleBase_WidgetFactory.cpp index ecba43238..0cc45bf09 100644 --- a/src/ModuleBase/ModuleBase_WidgetFactory.cpp +++ b/src/ModuleBase/ModuleBase_WidgetFactory.cpp @@ -1,4 +1,4 @@ -// Copyright (C) 2014-2017 CEA/DEN, EDF R&D +// Copyright (C) 2014-2019 CEA/DEN, EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -12,10 +12,9 @@ // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// See http://www.salome-platform.org/ or -// email : webmaster.salome@opencascade.com +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // #include @@ -37,10 +36,12 @@ #include #include #include +#include #include #include #include #include +#include #include #include #include @@ -48,6 +49,8 @@ #include #include #include +#include +#include #include #include @@ -129,16 +132,17 @@ void ModuleBase_WidgetFactory::createWidget(ModuleBase_PageBase* thePage, bool a if (myWidgetApi->toChildWidget()) { do { QString aPageName = qs(myWidgetApi->getProperty(CONTAINER_PAGE_NAME)); + QString aTooltip = qs(myWidgetApi->getProperty(FEATURE_TOOLTIP)); QString aCaseId = qs(myWidgetApi->getProperty(_ID)); ModuleBase_PageBase* aPage = new ModuleBase_PageWidget(aWidget); createWidget(aPage); - if (aWdgType == WDG_SWITCH || aWdgType == WDG_TOOLBOX) { + if (aWdgType == WDG_SWITCH || aWdgType == WDG_TOOLBOX || aWdgType == WDG_RADIOBOX) { ModuleBase_PagedContainer* aContainer = qobject_cast(aWidget); QString anIconPath = qs( myWidgetApi->getProperty( CONTAINER_PAGE_ICON ) ); QPixmap anIcon = ModuleBase_IconFactory::loadPixmap( anIconPath ); - aContainer->addPage( aPage, aPageName, aCaseId, anIcon ); + aContainer->addPage( aPage, aPageName, aCaseId, anIcon, aTooltip); } } while (myWidgetApi->toNextWidget()); } @@ -270,7 +274,8 @@ ModuleBase_PageBase* ModuleBase_WidgetFactory::createPageByType(const std::strin if (theType == WDG_GROUP) { QString aGroupName = qs(myWidgetApi->getProperty(CONTAINER_PAGE_NAME)); ModuleBase_PageGroupBox* aPage = new ModuleBase_PageGroupBox(theParent); - aPage->setTitle(aGroupName); + aPage->setTitle(ModuleBase_Tools::translate( + myWidgetApi->myFeatureId, aGroupName.toStdString())); aResult = aPage; } else if (theType == WDG_OPTIONALBOX) { @@ -317,6 +322,9 @@ ModuleBase_ModelWidget* ModuleBase_WidgetFactory::createWidgetByType(const std:: } else if (theType == WDG_STRINGVALUE) { std::string aPlaceHolder = myWidgetApi->getProperty( WDG_PLACE_HOLDER ); result = new ModuleBase_WidgetLineEdit( theParent, myWidgetApi, aPlaceHolder ); + } else if (theType == WDG_NAMEVALUE) { + std::string aPlaceHolder = myWidgetApi->getProperty( WDG_PLACE_HOLDER ); + result = new ModuleBase_WidgetNameEdit( theParent, myWidgetApi, aPlaceHolder ); } else if (theType == WDG_EXPR_EDITOR) { std::string aPlaceHolder = myWidgetApi->getProperty( WDG_PLACE_HOLDER ); result = new ModuleBase_WidgetExprEditor( theParent, myWidgetApi, aPlaceHolder ); @@ -326,6 +334,8 @@ ModuleBase_ModelWidget* ModuleBase_WidgetFactory::createWidgetByType(const std:: result = new ModuleBase_WidgetConcealedObjects(theParent, myWidgetApi); } else if (theType == WDG_TOOLBOX) { result = new ModuleBase_WidgetToolbox(theParent, myWidgetApi); + } else if (theType == WDG_RADIOBOX) { + result = new ModuleBase_WidgetRadiobox(theParent, myWidgetApi); } else if (theType == WDG_SWITCH) { result = new ModuleBase_WidgetSwitch(theParent, myWidgetApi); } else if (theType == WDG_TOOLBOX_BOX || theType == WDG_SWITCH_CASE || @@ -334,6 +344,10 @@ ModuleBase_ModelWidget* ModuleBase_WidgetFactory::createWidgetByType(const std:: result = NULL; } else if (theType == WDG_ACTION) { result = new ModuleBase_WidgetAction(theParent, myWidgetApi); + } else if (theType == WDG_POINT_INPUT) { + result = new ModuleBase_WidgetPointInput(theParent, myWorkshop, myWidgetApi); + } else if (theType == WDG_SELECTION_FILTERS) { + result = new ModuleBase_WidgetSelectionFilter(theParent, myWorkshop, myWidgetApi); } else { result = myWorkshop->module()->createWidgetByType(theType, theParent, myWidgetApi); if (!result)