X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_OperationMgr.h;h=25a155617e1558996221e6e5c00facc2a590b954;hb=61da4e89d2ec63daa429d304f928482a0e6fa0b7;hp=954f61e88327c1a95b17b8bbbffe3ff67a8b5fde;hpb=89f7d71d9de698384a8e504f8275d08cd49b32af;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_OperationMgr.h b/src/XGUI/XGUI_OperationMgr.h index 954f61e88..25a155617 100644 --- a/src/XGUI/XGUI_OperationMgr.h +++ b/src/XGUI/XGUI_OperationMgr.h @@ -37,12 +37,19 @@ 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(); + 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); @@ -63,7 +70,7 @@ Q_OBJECT 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); @@ -71,24 +78,17 @@ 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 - void commitOperation(); + 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 /// \return the state whether the operation is resumed void resumeOperation(ModuleBase_Operation* theOperation); - /// Checks if given operation is Valid, if so sends operationValidated signal - /// \param theOperation to be validated - /// \return validation state (true means valid) - bool validateOperation(ModuleBase_Operation* theOperation); /// Returns whether the operation can be started. Check if there is already started operation and /// the granted parameter of the launched operation /// \param theOperation an operation to check @@ -99,19 +99,17 @@ signals: /// Returns true if the operation can be aborted bool canAbortOperation(); - 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(); - + 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(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