+ /// Returns true if the action can be processed. By default it is empty and returns false.
+ /// \param theActionType an action type
+ /// \param isActionEnabled if true, the enable state of the action
+ virtual bool canProcessAction(ModuleBase_ActionType theActionType, bool& isActionEnabled);
+
+ /// Returns true if the event is processed. The default implementation is empty, returns false.
+ virtual bool processAction(ModuleBase_ActionType theActionType,
+ const ActionParamPtr& theParam = ActionParamPtr());
+
+ /// Returns list of accessible actions for Undo/Redo commands. By default it returns empty list.
+ /// \param theActionType type of action. It can be ActionUndo or ActionRedo.
+ virtual QList<ActionInfo> actionsList(ModuleBase_ActionType theActionType) const
+ { return QList<ActionInfo>(); }
+
+ /// Sends Update and Redisplay for the given object
+ /// \param theObj is updating object
+ void updateObject(ObjectPtr theObj);
+
+ /// Translate passed string with widget context()
+ virtual QString translate(const std::string& theStr) const;
+
+ /// Emit focus in widget to set this control as active in propety panel
+ void emitFocusInWidget() { emit focusInWidget(this); }
+
+ /// Finds model widget parent of the given sub widget
+ /// \param theWidget a candidate to be a child of the model widget
+ /// \param theProp a property panel instance
+ /// \return a model widget or NULL
+ static ModuleBase_ModelWidget* findModelWidget(ModuleBase_IPropertyPanel* theProp,
+ QWidget* theWidget);
+
+ /// Returns True if the widget uses feature attribute.
+ /// If not then it means that the widget do not need attribute at all.
+ virtual bool usesAttribute() const { return true; }
+
+ /// It is called when user press Ok or OkPlus buttons in the parent property panel
+ /// By default this slot does nothing
+ virtual void onFeatureAccepted() {}
+