X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPartSet%2FPartSet_OperationSketch.h;h=eb3fa84f4a182368c025a3d64b05881d1ea6ecfa;hb=d09c80de35c59f76714c776b456ce436409f9a3c;hp=f885503e308e0c81013b4a1541381540ffefdf8c;hpb=c48f5ad61510889aa8ba86c3b2710a072fb1cc58;p=modules%2Fshaper.git diff --git a/src/PartSet/PartSet_OperationSketch.h b/src/PartSet/PartSet_OperationSketch.h index f885503e3..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,6 +105,9 @@ 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. @@ -116,7 +117,7 @@ signals: virtual void afterCommitOperation(); private: - std::list myFeatures; ///< the features to apply the edit operation + QList myFeatures; ///< the features to apply the edit operation }; #endif