X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FParametersPlugin%2FParametersPlugin_WidgetParamsMgr.h;h=0e55044b32dfbfc5d6ea1957240dbd689943a06b;hb=5fb6a80c4e86e21b1181b4e6ee940d946b5c52e4;hp=9f9fda3b06b4b7270c47dee2311ef5783322d431;hpb=7df6404a744a9002c5df0b33db96e81955a54e27;p=modules%2Fshaper.git diff --git a/src/ParametersPlugin/ParametersPlugin_WidgetParamsMgr.h b/src/ParametersPlugin/ParametersPlugin_WidgetParamsMgr.h index 9f9fda3b0..0e55044b3 100644 --- a/src/ParametersPlugin/ParametersPlugin_WidgetParamsMgr.h +++ b/src/ParametersPlugin/ParametersPlugin_WidgetParamsMgr.h @@ -1,27 +1,63 @@ -// Copyright (C) 2014-20xx CEA/DEN, EDF R&D --> - -// File: ParametersPlugin_WidgetParamsMgr.h -// Created: 11 Apr 2016 -// Author: Vitaly SMETANNIKOV +// 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 ParametersPlugin_WidgetParamsMgr_H_ #define ParametersPlugin_WidgetParamsMgr_H_ -#include +#include #include #include +#include -class QTreeWidget; class QTreeWidgetItem; class ParametersPlugin_ItemDelegate; class QPushButton; class QToolButton; + +/*! + * \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); +}; + + + /*! * \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: @@ -82,27 +118,40 @@ private: FeaturePtr createParameter() const; /// Creates a new item - QTreeWidgetItem* createNewItem() const; + QTreeWidgetItem* createNewItem(QTreeWidgetItem* theParent) const; /// Returns currently selected item QTreeWidgetItem* selectedItem() const; /// Select the given Item and scroll the table to make it visible - void selectItemScroll(QTreeWidgetItem* aItem); + void selectItemScroll(QTreeWidgetItem* theItem); /// Update values in features part + void updateItem(QTreeWidgetItem* theItem, const QList& theFeaturesList); + void updateFeaturesPart(); + 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; - QList featuresItems(const QList& theFeatures) const; + /// Enable or disable buttons for parameters managemnt + void enableButtons(bool theEnable); + + QList featuresItems(const QList& theFeatures, + QList& theFeatureList) const; + QList parametersItems(const QList& theFeatures) const; + + void updateParametersFeatures(); - QTreeWidget* myTable; + ParametersPlugin_TreeWidget* myTable; QTreeWidgetItem* myFeatures; QTreeWidgetItem* myParameters; ParametersPlugin_ItemDelegate* myDelegate; - QModelIndex myEditingIndex; QList myParametersList;