+ /// Realizes some functionality by an operation start
+ /// \param theOperation a started operation
+ virtual ModuleBase_Operation* currentOperation() const;
+
+ /// Returns True if there are available Undos and the sketch manager allows undo
+ /// \return the boolean result
+ virtual bool canUndo() const;
+
+ //! Returns True if there are available Redos and the sketch manager allows redo
+ /// \return the boolean result
+ virtual bool canRedo() const;
+
+ /// Returns whether the object can be displayed at the bounds of the active operation.
+ /// Display only current operation results for usual operation and ask the sketcher manager
+ /// if it is a sketch operation
+ /// \param theObject a model object
+ virtual bool canDisplayObject(const ObjectPtr& theObject) const;
+
+ /// Add menu atems for viewer into the given menu
+ /// \param theMenu a popup menu to be shown in the viewer
+ /// \param theStdActions a map of standard actions
+ /// \return true if items are added and there is no necessity to provide standard menu
+ virtual bool addViewerItems(QMenu* theMenu, const QMap<QString, QAction*>& theStdActions) const;
+
+ /// Returns whether the mouse enter the viewer's window
+ /// \return true if items are added and there is no necessity to provide standard menu
+ bool isMouseOverWindow();
+
+ PartSet_SketcherMgr* sketchMgr() const { return mySketchMgr; }
+