class ModuleBase_IWorkshop;
class XGUI_Workshop;
+class XGUI_ShortCutListener;
/**\class XGUI_OperationMgr
* \ingroup GUI
/// Destructor
virtual ~XGUI_OperationMgr();
+ /// Switch on short cut listener
+ void activate();
+ /// Switch off short cut listener
+ void deactivate();
+
/// Set reference to workshop
/// \param theWorkshop reference to workshop
void setWorkshop(ModuleBase_IWorkshop* theWorkshop)
ModuleBase_Operation* previousOperation(ModuleBase_Operation* theOperation) const;
/// Redefinition of virtual function
+ /// \param theObject a sender of the event
virtual bool eventFilter(QObject *theObject, QEvent *theEvent);
/// Start the operation and append it to the stack of operations
public slots:
/// SLOT, that is called by the key in the property panel is clicked.
+ /// \param theObject a sender of the event
/// \param theEvent the mouse event
- bool onKeyReleased(QKeyEvent* theEvent);
+ bool onKeyReleased(QObject *theObject, QKeyEvent* theEvent);
+
+ /// The functionaly, that should be done by delete click
+ /// Fistly the active widget processes it, then workshop. If no one does not
+ /// process it, do nothing
+ /// \param theObject a sender of the event
+ bool onProcessDelete(QObject* theObject);
+ protected slots:
/// The functionaly, that should be done by enter click
- /// Fistly the active widget processes it, then module. If no one do not
+ /// Fistly the active widget processes it, then module. If no one does not
/// process it, the current operation is committed
- bool onProcessEnter();
+ /// \param theObject a sender of the event
+ bool onProcessEnter(QObject *theObject);
- protected slots:
/// Slot that is called by an operation stop. Removes the stopped operation form the stack.
/// If there is a suspended operation, restart it.
void onOperationStopped();
private:
XGUI_Workshop* workshop() const;
+ /// Checks if the object is a parent or a child under
+ /// \param theObject an investivated object
+ /// \param theParent a candidate to be a parent
+ static bool isChildObject(const QObject* theObject, const QObject* theParent);
+
private:
typedef QList<ModuleBase_Operation*> Operations; ///< definition for a list of operations
Operations myOperations; ///< a stack of started operations. The active operation is on top,
/// Current workshop
ModuleBase_IWorkshop* myWorkshop;
+
+ XGUI_ShortCutListener* myShortCutListener;
};
#endif