+ virtual ModuleBase_Operation* createOperation(const std::string& theCmdId);\r
+\r
+ /// Sends the operation for launching\r
+ /// \param theOperation the operation\r
+ virtual void sendOperation(ModuleBase_Operation* theOperation);\r
+\r
+ //! Returns data object by AIS\r
+ virtual ObjectPtr findPresentedObject(const AISObjectPtr& theAIS) const = 0;\r
+\r
+ /// Update state of pop-up menu items in object browser\r
+ /// \param theStdActions - a map of standard actions\r
+ virtual void updateObjectBrowserMenu(const QMap<QString, QAction*>& theStdActions) {}\r
+\r
+ /// Update state of pop-up menu items in viewer\r
+ /// \param theStdActions - a map of standard actions\r
+ virtual void updateViewerMenu(const QMap<QString, QAction*>& theStdActions) {}\r
+\r
+ //! Returns the feature error if the current state of the feature in the module is not correct\r
+ //! If the feature is correct, it returns an empty value\r
+ //! \return string value\r
+ virtual QString getFeatureError(const FeaturePtr& theFeature);\r
+\r
+ //! Returns the widget error, get it from the attribute validator and state of the widget\r
+ //! If the feature is correct, it returns an empty value\r
+ //! \return string value\r
+ virtual QString getWidgetError(ModuleBase_ModelWidget* theWidget);\r
+\r
+ /// Returns list of granted operation indices\r
+ virtual void grantedOperationIds(ModuleBase_Operation* theOperation, QStringList& theIds) const;\r
+\r
+ /// Connects or disconnects to the value changed signal of the property panel widgets\r
+ /// \param theWidget a property contol widget\r
+ /// \param isToConnect a boolean value whether connect or disconnect\r
+ virtual void connectToPropertyPanel(ModuleBase_ModelWidget* theWidget, const bool isToConnect) {};\r
+\r
+ /// Validates the operation to change the "Apply" button state.\r
+ /// \param thePreviousState the previous state of the widget\r
+ virtual void widgetStateChanged(int thePreviousState) {};\r
+\r
+ /// Returns true if the event is processed.\r
+ /// \param thePreviousAttributeID an index of the previous active attribute\r
+ virtual bool processEnter(const std::string& thePreviousAttributeID) { return false; };\r
+\r
+ /// Performs some GUI actions after an operation transaction is opened\r
+ /// Default realization is empty\r
+ virtual void beforeOperationStarted(ModuleBase_Operation* theOperation) {};\r
+\r
+ /// Performs some GUI actions before an operation transaction is stopped\r
+ /// Default realization is empty\r
+ virtual void beforeOperationStopped(ModuleBase_Operation* theOperation) {};\r
+\r
+signals:\r
+ /// Signal which is emitted when operation is launched\r
+ void operationLaunched();\r