X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_WidgetFactory.h;h=bc9c5d8307c6342f4c56573bded1923846d18c37;hb=2e60d80d7d0b998fded953311cc8d2931ef5bb4b;hp=fd416271ecd652c380da60843ea9e5600d3124cf;hpb=a8d47776cf43a5535c262115d529e2f9f445cef3;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_WidgetFactory.h b/src/ModuleBase/ModuleBase_WidgetFactory.h index fd416271e..bc9c5d830 100644 --- a/src/ModuleBase/ModuleBase_WidgetFactory.h +++ b/src/ModuleBase/ModuleBase_WidgetFactory.h @@ -1,11 +1,22 @@ -// Copyright (C) 2014-20xx CEA/DEN, EDF R&D - -/* - * ModuleBase_WidgetFactory.h - * - * Created on: Apr 3, 2014 - * Author: sbh - */ +// Copyright (C) 2014-2017 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 +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// 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 +// +// See http://www.salome-platform.org/ or +// email : webmaster.salome@opencascade.com +// #ifndef MODULEBASE_WIDGETFACTORY_H_ #define MODULEBASE_WIDGETFACTORY_H_ @@ -39,10 +50,16 @@ class MODULEBASE_EXPORT ModuleBase_WidgetFactory /// Creates content widget for property panel /// \param thePage a parent page - void createWidget(ModuleBase_PageBase* thePage); + /// \param alignToTop align to top flag (true by default) + void createWidget(ModuleBase_PageBase* thePage, bool alignToTop = true); + + /// Creates property panel content for the feature + /// \param thePage a parent page + /// \param theFeature a feature to fill the panel + void createPanel(ModuleBase_PageBase* thePage, const FeaturePtr& theFeature); /// Creates one widget for property panel for the widget with given index - /// \param theParent a parent widget + /// \param thePage a parent widget /// \param theWidgetId a widget index void createWidget(ModuleBase_PageBase* thePage, const std::string& theWidgetId); @@ -54,13 +71,18 @@ class MODULEBASE_EXPORT ModuleBase_WidgetFactory } /// Returns the value of the title key from XML definition of the attribute in the feature - /// \param theFeatureKind a value of a kind of a feature /// \param theAttributeId a value of a kind of the attribute under the feature /// \param theTitle the result title - void getAttributeTitle(const std::string& theFeatureKind, - const std::string& theAttributeId, + void getAttributeTitle(const std::string& theAttributeId, std::string& theTitle); + /// Returns the identifier of the first found attribute where greed field value is set and true + /// \param theAttributeId an outpup parameter with attribute + void getGreedAttribute(std::string& theAttributeId); + + /// Returns widget API from XML + const Config_WidgetAPI* widgetAPI() const { return myWidgetApi; } + protected: /// check if ModuleBase_Widget has expandable widgets in getControls bool hasExpandingControls(QWidget* theParent); @@ -96,9 +118,6 @@ protected: /// List of created model widgets QList myModelWidgets; - - /// Id of current parent - std::string myParentId; }; #endif /* ModuleBase_WidgetFactory_H_ */