-// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
-
-// File: CollectionPlugin_WidgetField.h
-// Created: 16 Nov 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<mailto:webmaster.salome@opencascade.com>
+//
#ifndef CollectionPlugin_WidgetField_H
#define CollectionPlugin_WidgetField_H
#include <QList>
#include <QStringList>
+#include <QStyledItemDelegate>
class QWidget;
class QTableWidgetItem;
class QLineEdit;
+
+class DataTableItemDelegate : public QStyledItemDelegate
+{
+ Q_OBJECT
+public:
+ DataTableItemDelegate(ModelAPI_AttributeTables::ValueType theType);
+
+ virtual QWidget* createEditor(QWidget* theParent,
+ const QStyleOptionViewItem & theOption,
+ const QModelIndex& theIndex) const;
+
+ ModelAPI_AttributeTables::ValueType dataType() const { return myType; }
+
+ void setDataType(ModelAPI_AttributeTables::ValueType theType) { myType = theType; }
+
+private slots:
+ void onEditItem(const QString& theText);
+
+private:
+ ModelAPI_AttributeTables::ValueType myType;
+};
+
+
+
/*!
* \ingroup GUI
* Represent a content of the property panel to show/modify parameters of a Field feature.
/// The methiod called when widget is deactivated
virtual void deactivate();
+ /// Set the given wrapped value to the current widget
+ /// This value should be processed in the widget according to the needs
+ /// \param theValues the wrapped selection values
+ /// \param theToValidate a validation of the values flag
+ virtual bool setSelection(QList<std::shared_ptr<ModuleBase_ViewerPrs>>& theValues,
+ const bool theToValidate);
+
protected:
/// Saves the internal parameters to the given feature
/// \return True in success
//virtual void showEvent(QShowEvent* theEvent);
-protected slots:
- /// Slot which is called on selection event
- virtual void onSelectionChanged();
+ /// Return the attribute values wrapped in a list of viewer presentations
+ /// \return a list of viewer presentations, which contains an attribute result and
+ /// a shape. If the attribute do not uses the shape, it is empty
+ virtual QList<std::shared_ptr<ModuleBase_ViewerPrs>> getAttributeSelection() const;
private slots:
/// Slot called on number of component changed
bool myIsTabEdit;
bool myActivation;
+
+ DataTableItemDelegate* myDelegate;
};
#endif
\ No newline at end of file