- void onFeatureTriggered();
- /// SLOT, that is called after the operation is started. Perform some specific for module
- /// actions, e.g. connect the sketch feature to the viewer selection and show the sketch preview.
- void onOperationStarted();
- /// SLOT, that is called after the operation is stopped. Disconnect the sketch feature
- /// from the viewer selection and show the sketch preview.
- void onOperationStopped(ModuleBase_Operation* theOperation);
- /// SLOT, that is called by the selection in the viewer is changed.
- /// The selection is sent to the current operation if it listen the selection.
- void onViewSelectionChanged();
-
-private:
- /// Displays or erase the current operation preview, if it has it.
- /// \param isDisplay the state whether the presentation should be displayed or erased
- void visualizePreview(bool isDisplay);
-
-private:
- XGUI_Workshop* myWorkshop;
+ /// SLOT, that is called by no more widget signal emitted by property panel
+ /// Set a specific flag to restart the sketcher operation
+ void onNoMoreWidgets();
+
+protected slots:
+ /// Called when previous operation is finished
+ virtual void onSelectionChanged();
+
+ /// SLOT, that is called by mouse press in the viewer.
+ /// \param theWnd - the window where the event happens
+ /// \param theEvent the mouse event
+ //void onMousePressed(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent);
+
+ /// SLOT, that is called by mouse release in the viewer.
+ /// \param theWnd - the window where the event happens
+ /// \param theEvent the mouse event
+ //void onMouseReleased(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent);
+
+ /// SLOT, that is called by mouse move in the viewer.
+ /// \param theWnd - the window where the event happens
+ /// \param theEvent the mouse event
+ //void onMouseMoved(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent);
+
+ /// SLOT, that is called by mouse double click in the viewer.
+ /// \param theWnd - the window where the event happens
+ /// \param theEvent the mouse event
+ //void onMouseDoubleClick(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent);
+
+ /// SLOT, that is called by key release in the viewer.
+ /// The mouse moved point is sent to the current operation to be processed.
+ /// \param theEvent the key event
+ void onKeyRelease(ModuleBase_IViewWindow* theWnd, QKeyEvent* theEvent);
+
+ /// SLOT, that is called by enter key released
+ /// Set a specific type of restarting the current operation
+ void onEnterReleased();
+
+ /// SLOT, that is called by the current operation filling with the preselection.
+ /// It commits the operation of it is can be committed
+ void onOperationActivatedByPreselection();
+
+
+ protected:
+ /// Register validators for this module
+ virtual void registerValidators();
+
+ /// Register selection filters for this module
+ virtual void registerFilters();
+
+ private slots:
+ void onVertexSelected(ObjectPtr theObject, const TopoDS_Shape& theShape);
+
+
+ private:
+
+ /// Breaks sequense of automatically resterted operations
+ void breakOperationSequence();
+
+ private:
+ QString myLastOperationId;
+ FeaturePtr myLastFeature;
+
+ // Automatical restarting mode flag
+ RestartingMode myRestartingMode;
+
+ /// A filter which provides selection within a current document or whole PartSet
+ Handle(PartSet_GlobalFilter) myDocumentShapeFilter;
+
+ PartSet_SketcherMgr* mySketchMgr;