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)
{ myWorkshop = theWorkshop; };
+ /// Current workshop
+ ModuleBase_IWorkshop* workshop() const { return myWorkshop; }
+
/// Returns the current operation or NULL
/// \return the current operation
ModuleBase_Operation* currentOperation() const;
ModuleBase_Operation* previousOperation(ModuleBase_Operation* theOperation) const;
/// Redefinition of virtual function
+ /// \param theObject a sender of the event
+ /// \param theEvent the event
virtual bool eventFilter(QObject *theObject, QEvent *theEvent);
/// Start the operation and append it to the stack of operations
/// \param theOperation an aborted operation
void abortOperation(ModuleBase_Operation* theOperation);
- /// Returns enable apply state
- /// \return theEnabled a boolean value
- bool isApplyEnabled() const;
-
- /// Returns valid state of the parent operation. If the current operation is the last one
- /// it returns the valid state of the operation
- /// \return boolean value
- bool isParentOperationValid() const;
+ /// Slot that commits the current operation.
+ bool onCommitOperation();
public slots:
- /// Slot that commits the current operation.
- void onCommitOperation();
/// Slot that aborts the current operation.
void onAbortOperation();
/// Slot that validates the current operation using the validateOperation method.
/// Emitted when current operation is aborted
void operationAborted(ModuleBase_Operation* theOperation);
- /// Signal is emitted after the current operation is filled with existing preselection.
- void operationActivatedByPreselection();
-
/// Signal is emitted after the key released click.
void keyEnterReleased();
- protected:
- /// Sets apply state to the value and emit signal about this state is changed
- /// \param theEnabled the state value
- void setApplyEnabled(const bool theEnabled);
-
public: // TEMPORARY, it should be protected and be performed automatically
/// Emits nestedStateChange for operations with an information about validity of the operation
/// \param theOperation the sent operation. If it is NULL, all operations in the stack are sent.
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();
void onOperationResumed();
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
/// Current workshop
ModuleBase_IWorkshop* myWorkshop;
- /// Lock/Unlock access to Ok button in property panel
- bool myIsApplyEnabled;
+ XGUI_ShortCutListener* myShortCutListener;
};
#endif