X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPartSet%2FPartSet_OperationSketch.h;h=eb3fa84f4a182368c025a3d64b05881d1ea6ecfa;hb=d09c80de35c59f76714c776b456ce436409f9a3c;hp=94ddf02d91e173e034c2eedb3edc0354be737454;hpb=19bc85698899d6bee8704e7b0953ee045b0eb66f;p=modules%2Fshaper.git diff --git a/src/PartSet/PartSet_OperationSketch.h b/src/PartSet/PartSet_OperationSketch.h index 94ddf02d9..eb3fa84f4 100644 --- a/src/PartSet/PartSet_OperationSketch.h +++ b/src/PartSet/PartSet_OperationSketch.h @@ -12,6 +12,7 @@ #include #include +#include class Handle_AIS_InteractiveObject; @@ -41,36 +42,29 @@ Q_OBJECT virtual bool isGranted(ModuleBase_Operation* theOperation) const; - /// Returns the operation local selection mode - /// \param theFeature the feature object to get the selection mode - /// \return the selection mode - virtual std::list getSelectionModes(ObjectPtr theFeature) const; - /// Returns the operation sketch feature /// \returns the sketch instance - virtual FeaturePtr sketch() const; + virtual CompositeFeaturePtr sketch() const; /// Processes the mouse pressed in the point /// \param theEvent the mouse event /// \param theView a viewer to have the viewer the eye position /// \param theSelected the list of selected presentations /// \param theHighlighted the list of highlighted presentations - virtual void mousePressed(QMouseEvent* theEvent, Handle_V3d_View theView, - const std::list& theSelected, - const std::list& theHighlighted); + virtual void mousePressed(QMouseEvent* theEvent, ModuleBase_IViewer* theViewer, ModuleBase_ISelection* theSelection); + /// Processes the mouse release in the point /// \param theEvent the mouse event /// \param theView a viewer to have the viewer the eye position /// \param theSelected the list of selected presentations /// \param theHighlighted the list of highlighted presentations - virtual void mouseReleased(QMouseEvent* theEvent, Handle_V3d_View theView, - const std::list& theSelected, - const std::list& theHighlighted); + virtual void mouseReleased(QMouseEvent* theEvent, ModuleBase_IViewer* theViewer, + ModuleBase_ISelection* theSelection); /// Gives the current mouse point in the viewer /// \param thePoint a point clicked in the viewer /// \param theEvent the mouse event - virtual void mouseMoved(QMouseEvent* theEvent, Handle_V3d_View theView); + virtual void mouseMoved(QMouseEvent* theEvent, ModuleBase_IViewer* theViewer); /// Returns the list of the nested features /// \return the list of subfeatures @@ -92,7 +86,11 @@ Q_OBJECT /// Set the plane to the current sketch /// \param theShape the shape - void setSketchPlane(const TopoDS_Shape& theShape); + /// \return selected direction + boost::shared_ptr setSketchPlane(const TopoDS_Shape& theShape); + + /// Called on selection changed when the operation is active + virtual void selectionChanged(ModuleBase_ISelection* theSelection); /// If operation needs to redisplay its result during operation /// then this method has to return True @@ -107,13 +105,19 @@ signals: // signal about the viewer fit all perform void fitAllView(); + /// Signal to define sketch mode + void launchSketch(); + protected: /// Virtual method called when operation started (see start() method for more description) /// Default impl calls corresponding slot and commits immediately. virtual void startOperation(); + /// Virtual method called after operation committed (see commit() method for more description) + virtual void afterCommitOperation(); + private: - std::list myFeatures; ///< the features to apply the edit operation + QList myFeatures; ///< the features to apply the edit operation }; #endif