/// \return the selection mode
virtual std::list<int> getSelectionModes(boost::shared_ptr<ModelAPI_Feature> theFeature) const;
+ /// Initializes some fields accorging to the feature
+ /// \param theSelected the list of selected presentations
+ /// \param theHighlighted the list of highlighted presentations
+ virtual void init(boost::shared_ptr<ModelAPI_Feature> theFeature,
+ const std::list<XGUI_ViewerPrs>& theSelected,
+ const std::list<XGUI_ViewerPrs>& theHighlighted);
+
/// Returns the operation sketch feature
/// \returns the sketch instance
virtual boost::shared_ptr<ModelAPI_Feature> sketch() const;
/// Emits a signal to hide the preview of the operation
virtual void stopOperation();
+ /// Returns whether the nested operations are enabled.
+ /// The state can depend on the operation current state.
+ /// It returns true after the sketch plane is choosen.
+ /// \return enabled state
+ virtual bool isNestedOperationsEnabled() const;
+
signals:
/// signal about the sketch plane is selected
/// \param theX the value in the X direction of the plane
void planeSelected(double theX, double theY, double theZ);
protected:
+ /// Virtual method called when operation started (see start() method for more description)
+ /// Default impl calls corresponding slot and commits immediately.
+ virtual void startOperation();
+
+ /// Returns whether the sketch plane is set
+ /// \return the boolean value whether the sketch is set
+ bool hasSketchPlane() const;
+
/// Set the plane to the current sketch
/// \param theShape the shape
void setSketchPlane(const TopoDS_Shape& theShape);
private:
- bool myIsEditMode; /// the edit mode of this operation
std::list<XGUI_ViewerPrs> myFeatures; ///< the features to apply the edit operation
};