X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_OperationMgr.h;h=25a155617e1558996221e6e5c00facc2a590b954;hb=61da4e89d2ec63daa429d304f928482a0e6fa0b7;hp=f363da6b5203f3e0e91d31481098f072bd6f36c0;hpb=19ca8d1eebb8e531a4e95cb072a96710fae47542;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_OperationMgr.h b/src/XGUI/XGUI_OperationMgr.h index f363da6b5..25a155617 100644 --- a/src/XGUI/XGUI_OperationMgr.h +++ b/src/XGUI/XGUI_OperationMgr.h @@ -37,29 +37,40 @@ Q_OBJECT /// Returns the current operation or NULL /// \return the current operation ModuleBase_Operation* currentOperation() const; + /// Check if the given operation is active operation. + /// Also, returns false is ther is no active operation. + bool isCurrentOperation(ModuleBase_Operation* theOperation); /// Returns true is operation manager has at least one non-null operation. bool hasOperation() const; /// Returns number of operations in the stack int operationsCount() const; + /// Returns list of all operations IDs + QStringList operationList() const; + + /// Returns previous (parent) operation if given operation started. + /// else, or if there is no parent - returns NULL + ModuleBase_Operation* previousOperation(ModuleBase_Operation* theOperation) const; + + virtual bool eventFilter(QObject *theObject, QEvent *theEvent); + /// Start the operation and append it to the stack of operations /// \param theOperation the started operation /// \return the state whether the current operation is started bool startOperation(ModuleBase_Operation* theOperation); - /// Abort the operation and append it to the stack of operations - /// \return the state whether the current operation is aborted - bool abortOperation(); - ///Returns list of all operations IDs - QStringList operationList(); - - virtual bool eventFilter(QObject *theObject, QEvent *theEvent); + bool abortAllOperations(); public slots: - void validateCurrentOperation(); + /// 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. + void onValidateOperation(); signals: /// Signal about an operation is started. It is emitted after the start() of operation is done. - void operationStarted(); + void operationStarted(ModuleBase_Operation* theOperation); /// Signal about an operation is stopped. It is emitted after the stop() of operation is done. /// \param theOperation a stopped operation void operationStopped(ModuleBase_Operation* theOperation); @@ -67,11 +78,11 @@ signals: void operationResumed(); /// Signal is emitted after the validate methods calls. void operationValidated(bool); - /// Signal about the necessety of the next widget activating - /// \param theWidget the model widget - void activateNextWidget(ModuleBase_ModelWidget* theWidget); protected: + + /// Commits the current operatin if it is valid + bool commitOperation(); /// Sets the current operation or NULL /// \param theOperation the started operation /// \param isCheckBeforeStart the flag whether to check whether the operation can be started @@ -83,32 +94,22 @@ signals: /// \param theOperation an operation to check bool canStartOperation(ModuleBase_Operation* theOperation); - /// Returns whether the operation can be stopped. bool canStopOperation(); /// Returns true if the operation can be aborted bool canAbortOperation(); - void validateOperation(ModuleBase_Operation* theOperation); - - protected slots: - /// Slot that commits the current operation. - void onCommitOperation(); - /// Slot that aborts the current operation. - void onAbortOperation(); - - /// 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(); - + public slots: /// SLOT, that is called by the key in the property panel is clicked. /// \param theName the attribute name /// \param theEvent the mouse event - void onKeyReleased(const std::string& theName, QKeyEvent* theEvent); + bool onKeyReleased(QKeyEvent* theEvent); - /// SLOT, that reacts to the widget activation - /// \param theWidget an activated widget - void onWidgetActivated(ModuleBase_ModelWidget* theWidget); + 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 onOperationStarted(); private: typedef QList Operations; ///< definition for a list of operations