X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FModuleBase%2FModuleBase_WidgetSwitch.h;h=c47d2d708c05b24aee88e862b3ef224e2bab97d3;hb=db0bda841e8d70e188a800f3a662d259246d4a20;hp=1f10c2eead1072a7116d95eeaf2e156248d7a4d8;hpb=31e91a8d11e03ddce87e8c2aa04695961a266a97;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_WidgetSwitch.h b/src/ModuleBase/ModuleBase_WidgetSwitch.h index 1f10c2eea..c47d2d708 100644 --- a/src/ModuleBase/ModuleBase_WidgetSwitch.h +++ b/src/ModuleBase/ModuleBase_WidgetSwitch.h @@ -1,126 +1,73 @@ -// Copyright (C) 2014-20xx CEA/DEN, EDF R&D - -/* - * ModuleBase_WidgetSwitch.h - * - * Created on: Apr 16, 2014 - * Author: sbh - */ - -#ifndef ModuleBase_WidgetSwitch_H_ -#define ModuleBase_WidgetSwitch_H_ +// Copyright (C) 2014-2020 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_WIDGETSWITCH_H_ +#define MODULEBASE_WIDGETSWITCH_H_ #include -#include +#include class QComboBox; -class QVBoxLayout; +class QStackedLayout; /** * \ingroup GUI -* Implements a model widget for swithch as a container widget. It can be defined in XML with "switch" keyword +* Implements a model widget for switch as a container widget. It can be defined in XML with "switch" keyword */ -class MODULEBASE_EXPORT ModuleBase_WidgetSwitch : public ModuleBase_ModelWidget +class MODULEBASE_EXPORT ModuleBase_WidgetSwitch : public ModuleBase_PagedContainer { Q_OBJECT public: /// Constructor - /// \param parent a parent widget + /// \param theParent the parent object + /// \param theData the widget configuration. The attribute of the model widget is obtained from ModuleBase_WidgetSwitch(QWidget* theParent, - const Config_WidgetAPI* theData, - const std::string& theParentId); + const Config_WidgetAPI* theData); virtual ~ModuleBase_WidgetSwitch(); - virtual bool restoreValue() { - return false; - } - - virtual QList getControls() const; - - virtual bool focusTo() { - return false; - } + /// Defines if it is supported to set the value in this widget + /// It returns false because this is an info widget + virtual bool canAcceptFocus() const { return false; }; /// Add a page to the widget /// \param theWidget a page widget /// \param theName a name of page - int addPage(QWidget* theWidget, const QString & theName); - - /// Returns count of pages - int count() const; - - /// Returns index of current page - int currentIndex() const; - - /// Returns current widget (page) - QWidget * currentWidget() const; - - /// Returns index of widget (page) - /// \param theWidget a widget page - int indexOf(QWidget * theWidget) const; + /// \param theCaseId an Id of the page + /// \param theIcon an icon of the page + virtual int addPage( ModuleBase_PageBase* theWidget, + const QString& theName, + const QString& theCaseId, + const QPixmap& theIcon, + const QString& theTooltip); - /// Insert page - /// \param index an index (position) to insert - /// \param theWidget a page widget - /// \param theName a name of the page - int insertPage(int index, QWidget * theWidget, const QString & theName); - - /// Returns True if a page by given index is enabled - /// \param index index of the page - bool isPageEnabled(int index) const; - - /// Returns text of the page by its id - /// \param index index of the page - QString pageText(int index) const; - - /// Returns tooltip of the page by its id - /// \param index index of the page - QString pageToolTip(int index) const; - - /// Remove page by its id - /// \param index index of the page - void removePage(int index); - - /// Enale/disable a page by its Id - /// \param index index of the page - /// \param enabled an enable flag - void setPageEnabled(int index, bool enabled); - - /// Set page name - /// \param index index of the page - /// \param text a name of the page - void setPageName(int index, const QString & text); - - /// Set page tooltip - /// \param index index of the page - /// \param toolTip a tooltip of the page - void setPageToolTip(int index, const QString & toolTip); + protected: + /// Returns index of the current page + virtual int currentPageIndex() const; - public slots: - /// Set current page by index + /// Set current page by index /// \param index index of the page - void setCurrentIndex(int index); - -signals: - /// Emitted on current page change - void currentPageChanged(int); - - protected: - virtual bool storeValueCustom() const { - return false; - } - /// Update widget - void refresh(); + virtual void setCurrentPageIndex(int index); private: - /// Layout - QVBoxLayout* myMainLay; - /// Combo box QComboBox* myCombo; - - /// List of pages - QWidgetList myCases; + QStackedLayout* myPagesLayout; }; #endif /* ModuleBase_WidgetSwitch_H_ */