X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_OperationMgr.h;h=eb0e7541a753675a929521bc09d0342576d81937;hb=331d9cfcdfa7db2c280e047b01ceac7196cbf335;hp=1cf7dcefcbbd5fcbb6a5cc6588f24f313d39a979;hpb=340b387f8fe22028900d0f2ba2b81eac538014c4;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_OperationMgr.h b/src/XGUI/XGUI_OperationMgr.h index 1cf7dcefc..eb0e7541a 100644 --- a/src/XGUI/XGUI_OperationMgr.h +++ b/src/XGUI/XGUI_OperationMgr.h @@ -50,6 +50,9 @@ Q_OBJECT /// Returns true is operation manager has an operation with given Id. bool hasOperation(const QString& theId) const; + /// Returns true if the operation can be aborted + bool canStopOperation(); + /// Find and return operation by its Id. ModuleBase_Operation* findOperation(const QString& theId) const; @@ -63,6 +66,7 @@ Q_OBJECT /// else, or if there is no parent - returns NULL ModuleBase_Operation* previousOperation(ModuleBase_Operation* theOperation) const; + /// Redefinition of virtual function virtual bool eventFilter(QObject *theObject, QEvent *theEvent); /// Start the operation and append it to the stack of operations @@ -70,18 +74,11 @@ Q_OBJECT /// \return the state whether the current operation is started bool startOperation(ModuleBase_Operation* theOperation); - bool abortAllOperations(); - /// Returns whether the operation can be started. Check if there is already started operation and /// the granted parameter of the launched operation /// \param theId id of the operation which is going to start bool canStartOperation(QString theId); - bool canStopOperation(); - - /// Returns true if the operation can be aborted - bool canAbortOperation(); - /// Blocking/unblocking enabling of Ok button in property panel. /// It is used when operation can not be validated even all attributes are valid void setLockValidating(bool toLock) { myIsValidationLock = toLock; } @@ -89,13 +86,25 @@ Q_OBJECT /// Returns state of validation locking bool isValidationLocked() const { return myIsValidationLock; } - public slots: + /// Sets apply state to the value and emit signal about this state is changed + /// \param theEnabled the state value + void setApplyEnabled(const bool theEnabled); + + /// Returns enable apply state + /// \return theEnabled a boolean value + bool isApplyEnabled() const; + + 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. void onValidateOperation(); + /// Commit all operations + bool commitAllOperations(); + /// Abort all operations + bool abortAllOperations(); signals: /// Signal about an operation is started. It is emitted after the start() of operation is done. @@ -114,8 +123,11 @@ signals: /// Emitted when current operation is aborted void operationAborted(ModuleBase_Operation* theOperation); - /// Signal is emitted after the validate methods calls. - void operationValidated(bool); + /// Signal is emitted after the apply enable state changed. + void validationStateChanged(bool); + + /// Signal is emitted after the apply enable state changed. + void nestedStateChanged(bool); /// Signal is emitted after the current operation is filled with existing preselection. void operationActivatedByPreselection(); @@ -123,20 +135,16 @@ signals: /// Signal is emitted after the key released click. void keyEnterReleased(); - 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 - /// \return the state whether the operation is resumed void resumeOperation(ModuleBase_Operation* theOperation); 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 bool onKeyReleased(QKeyEvent* theEvent); @@ -144,9 +152,17 @@ signals: /// 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(); + + /// Slot called on operation start void onOperationStarted(); + + /// Slot called on operation abort void onOperationAborted(); + + /// Slot called on operation commit void onOperationCommitted(); + + /// Slot called on operation resume void onOperationResumed(); private: @@ -156,6 +172,8 @@ signals: /// Lock/Unlock access to Ok button in property panel bool myIsValidationLock; + /// Lock/Unlock access to Ok button in property panel + bool myIsApplyEnabled; }; #endif