X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPartSet%2FPartSet_OperationFeatureEdit.h;h=267b494c67d2bc75b0a5833e1982e0b667481fe1;hb=d22fc665c79c31c9eea0625e04c2e941adfdf7be;hp=293c63d952fd60f68267e7d34dafd04fc3d808bf;hpb=b851613e697ad60c47e633121933a5ee4b640789;p=modules%2Fshaper.git diff --git a/src/PartSet/PartSet_OperationFeatureEdit.h b/src/PartSet/PartSet_OperationFeatureEdit.h index 293c63d95..267b494c6 100644 --- a/src/PartSet/PartSet_OperationFeatureEdit.h +++ b/src/PartSet/PartSet_OperationFeatureEdit.h @@ -71,6 +71,14 @@ Q_OBJECT /// Destructor virtual ~PartSet_OperationFeatureEdit(); + + /// Initialisation of operation with preliminary selection + /// \param theSelected the list of selected presentations + /// \param theHighlighted the list of highlighted presentations + /// \param theViewer a viewer to have the viewer the eye position + virtual void initSelection(ModuleBase_ISelection* theSelection, + ModuleBase_IViewer* theViewer); + /// Processes the mouse pressed in the point /// \param theEvent the mouse event /// \param theView a viewer to have the viewer the eye position @@ -116,6 +124,10 @@ Q_OBJECT CompositeFeaturePtr theCompositeFeature = CompositeFeaturePtr()); protected: + void fillFeature2Attribute(const QList& thePresentations, + ModuleBase_IViewer* theViewer, + std::map >& theFeature2Attribute); + /// Emits a signal about the selection blocking. Emits a signal to change the selection. /// If the block is true, the signal clear selection, otherwise if restore selection flag allows, /// the internal operation features are to be selected @@ -124,11 +136,21 @@ Q_OBJECT //void blockSelection(bool isBlocked, const bool isRestoreSelection = true); /// Sends the features - void sendFeatures(); + /// \param theIsAllFeatures a boolean value whether all features should be send or only the highlighted ones + void sendFeatures(const bool theIsAllFeatures); + + /// Sends signal about the current features are to be deactivated + void emitFeaturesDeactivation(); private: + // the next map should be removed when selection is processed in the move function + std::map > myHighlightedFeature2Attribute; /// a map of a feature to attributes + std::map > myAllFeature2Attribute; /// a map of a feature to attributes + Point myCurPoint; ///< the current 3D point clicked or moved bool myIsBlockedSelection; ///< the state of the last state of selection blocked signal + bool myIsBlockedByDoubleClick; ///< the block value by double click is processed to avoid + ///< the mouse button release processing before the double click is finished }; #endif