class QListWidget;
class QComboBox;
class ModuleBase_IWorkshop;
-class GeomValidators_ShapeType;
class QAction;
/// \return a control list
virtual QList<QWidget*> getControls() const;
+ /// 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
virtual bool setSelection(QList<ModuleBase_ViewerPrs>& theValues,
const bool theToValidate);
+ /// Returns values which should be highlighted when the whidget is active
+ /// \param theValues a list of presentations
+ virtual void getHighlighted(QList<ModuleBase_ViewerPrs>& theValues);
+
/// Checks the widget validity. By default, it returns true.
/// \param thePrs a selected presentation in the view
/// \return a boolean value
virtual bool isValidSelectionCustom(const ModuleBase_ViewerPrs& thePrs);
- public slots:
+ /// Returns true if the event is processed. The default implementation is empty, returns false.
+ virtual bool processDelete();
+
+public slots:
/// Slot is called on selection type changed
void onSelectionTypeChanged();
/// Slot for copy command in a list pop-up menu
void onCopyItem();
+ /// Slot for delete command in a list pop-up menu
+ void onDeleteItem();
+
/// Slot is called on selection of list of selected items
void onListSelection();
protected:
+ /// The methiod called when widget is activated
+ virtual void activateCustom();
+
/// Saves the internal parameters to the given feature
/// \return True in success
virtual bool storeValueCustom() const;
/// For example, the "Edges" is converted to "edge"
std::string validatorType(const QString& theType) const;
+protected:
+ /// Returns attribute indices selected in the widget selection list
+ /// \param theIndices a list of indices
+ void getSelectedAttributeIndices(std::set<int>& theIndices);
+
+ /// Gets the feature attribute and fill a list of viewer presentation for the attribute
+ /// indices. If the the container of indices is empty, it returns all objects.
+ /// \param theAttributeIds indices in attribute list to be returned
+ /// \param theValues the result presentations, filled with object and shape of an attribute item
+ void convertIndicesToViewerSelection(std::set<int> theAttributeIds,
+ QList<ModuleBase_ViewerPrs>& theValues) const;
protected:
/// List control
QListWidget* myListControl;
/// An action for pop-up menu in a list control
QAction* myCopyAction;
+ QAction* myDeleteAction;
/// backup parameters of the model attribute. The class processes three types of attribute:
/// Reference, RefAttr and Selection. Depending on the attribute type, only the attribute parameter