X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FParametersPlugin%2FParametersPlugin_WidgetParamsMgr.h;h=58f717e45903db31fd8a32318398c5988b8ebc8d;hb=18e1dd362d39f72fe4e9437226e5d0f29fb9379d;hp=9762385768bc638a93dc6a822f0dad77bf46564e;hpb=910676bf0f3768ff264c7fb214f6e61e88845736;p=modules%2Fshaper.git diff --git a/src/ParametersPlugin/ParametersPlugin_WidgetParamsMgr.h b/src/ParametersPlugin/ParametersPlugin_WidgetParamsMgr.h index 976238576..58f717e45 100644 --- a/src/ParametersPlugin/ParametersPlugin_WidgetParamsMgr.h +++ b/src/ParametersPlugin/ParametersPlugin_WidgetParamsMgr.h @@ -1,13 +1,26 @@ -// Copyright (C) 2014-20xx CEA/DEN, EDF R&D --> - -// File: ParametersPlugin_WidgetParamsMgr.h -// Created: 11 Apr 2016 -// Author: Vitaly SMETANNIKOV +// Copyright (C) 2014-2021 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 ParametersPlugin_WidgetParamsMgr_H_ #define ParametersPlugin_WidgetParamsMgr_H_ -#include +#include #include #include #include @@ -16,15 +29,24 @@ class QTreeWidgetItem; class ParametersPlugin_ItemDelegate; class QPushButton; class QToolButton; +class ModuleBase_IWorkshop; - +/*! + * \ingroup GUI + * Redefinition of QTreeWidget for processing of closeEditor event + */ class ParametersPlugin_TreeWidget: public QTreeWidget { Q_OBJECT public: + /// Constructor + /// \param theParent a parent widget ParametersPlugin_TreeWidget(QWidget* theParent = 0) : QTreeWidget(theParent) {} protected slots: + /// Redefinition of virtual method + /// \param theEditor a editor widget + /// \param theHint end of editing hint virtual void closeEditor(QWidget* theEditor, QAbstractItemDelegate::EndEditHint theHint); }; @@ -34,12 +56,13 @@ protected slots: * \ingroup GUI * Represent a content of the property panel to show/modify parameters of some feature. */ -class ParametersPlugin_WidgetParamsMgr : public ModuleBase_ModelWidget +class ParametersPlugin_WidgetParamsMgr : public ModuleBase_ModelDialogWidget { Q_OBJECT public: /// Constructs a model widget - ParametersPlugin_WidgetParamsMgr(QWidget* theParent, const Config_WidgetAPI* theData); + ParametersPlugin_WidgetParamsMgr(QWidget* theParent, const Config_WidgetAPI* theData, + ModuleBase_IWorkshop* theWorkshop); /// Destructs the model widget virtual ~ParametersPlugin_WidgetParamsMgr() {} @@ -48,6 +71,10 @@ public: /// \return a control list virtual QList getControls() const; + /// Set general buttons from dialog + /// \param theButtons the dialog buttons + virtual void setDialogButtons(QDialogButtonBox* theButtons); + protected: /// Saves the internal parameters to the given feature /// \return True in success @@ -59,6 +86,10 @@ protected: /// The method called when widget is activated virtual void activateCustom(); + virtual void showEvent(QShowEvent* theEvent); + + virtual void hideEvent(QHideEvent* theEvent); + private slots: /// Slot for reaction on double click in the table (start editing) /// \param theIndex the clicked index @@ -90,6 +121,9 @@ private slots: /// Slot for reaction on selection in the table void onSelectionChanged(); + // A slot for show preview button + void onShowPreview(); + private: /// Creates a new parameter feature FeaturePtr createParameter() const; @@ -110,19 +144,23 @@ private: void updateParametersPart(); + /// Returns true if values in the widget are valid + bool isValid(); + /// Returns true if parameter with the given name already exists bool hasName(const QString& theName) const; /// Enable or disable buttons for parameters managemnt void enableButtons(bool theEnable); - bool checkIsValid(); - - QList featuresItems(const QList& theFeatures) const; + QList featuresItems(const QList& theFeatures, + QList& theFeatureList) const; QList parametersItems(const QList& theFeatures) const; void updateParametersFeatures(); + ModuleBase_IWorkshop* myWorkshop; + ParametersPlugin_TreeWidget* myTable; QTreeWidgetItem* myFeatures; QTreeWidgetItem* myParameters; @@ -137,6 +175,8 @@ private: QPushButton* myRemoveBtn; QToolButton* myUpBtn; QToolButton* myDownBtn; + + bool isUpplyBlocked; };