X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_Workshop.h;h=628e721ce5bcd756319cc8ce474801f882d82226;hb=327f5bbd915fb32d21f2e524a8d97536e0e5dd4b;hp=aa7dfaa767f57d920f379fc750e61220ea033661;hpb=eecc1410339bbfe9a7ba175a7555c4030bb4a80a;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_Workshop.h b/src/XGUI/XGUI_Workshop.h index aa7dfaa76..628e721ce 100644 --- a/src/XGUI/XGUI_Workshop.h +++ b/src/XGUI/XGUI_Workshop.h @@ -62,10 +62,10 @@ Q_OBJECT //! Starting of the application void startApplication(); - // Activates the module controls. Should be called after module creation + /// Activates the module controls. Should be called after module creation void activateModule(); - // Deactivates the module controls. Should be called after module creation + /// Deactivates the module controls. Should be called after module creation void deactivateModule(); //! Returns main window (Desktop) of the application @@ -92,6 +92,12 @@ Q_OBJECT return myOperationMgr; } + //! ! Returns error manager. + XGUI_ErrorMgr* errorMgr() const + { + return myErrorMgr; + } + //! ! Returns an actions manager XGUI_ActionsMgr* actionsMgr() const { @@ -143,7 +149,7 @@ Q_OBJECT return myViewerProxy; } - /// Returns the module connectory + /// Returns the module connector /// \returns the instance of connector XGUI_ModuleConnector* moduleConnector() const { @@ -164,6 +170,11 @@ Q_OBJECT //! Move selected features to be after the current feature void moveObjects(); + //! Returns true if the object can be shaded. If the object is a compsolid result, the method + //! checks subobjects of the result + //! \return boolean value + bool canBeShaded(const ObjectPtr& theObject) const; + //! Returns true if there is at least one selected body/construction/group result //! \return boolean value bool canChangeColor() const; @@ -179,7 +190,7 @@ Q_OBJECT //! Show the given features in 3d Viewer void showOnlyObjects(const QObjectPtrList& theList); - /// Set display mode for the given onjects + /// Set display mode for the given objects /// \param theList a list of displayed objects /// \param theMode a mode to set (see \ref XGUI_Displayer) void setDisplayMode(const QObjectPtrList& theList, int theMode); @@ -190,10 +201,10 @@ Q_OBJECT return myModule; } - /// Returns current directory whic contains data files + /// Returns current directory which contains data files QString currentDataDir() const { return myCurrentDir; } - /// Returns current directory whic contains data files + /// Returns current directory which contains data files void setCurrentDataDir(const QString& theDir) { myCurrentDir = theDir; } /** @@ -204,12 +215,12 @@ Q_OBJECT void saveDocument(const QString& theName, std::list& theFileNames); /** - * If there is an active (uncommited) operation shows a prompt to abort it + * If there is an active (uncommitted) operation shows a prompt to abort it * and performs abortion if user agreed. Returns true if * - operation aborted successfully * - there is no active operation */ - bool isActiveOperationAborted(); + bool abortAllOperations(); //! Delete features. Delete the referenced features. There can be a question with a list of referenced //! objects. @@ -230,11 +241,24 @@ Q_OBJECT /// \param theUpdateViewer a boolean flag to update viewer immediately void deactivateActiveObject(const ObjectPtr& theObject, const bool theUpdateViewer); + /// Returns true if the action of the feature is created to contain Accept/Cancel button + /// \param theFeature a feature + bool isFeatureOfNested(const FeaturePtr& theFeature); + + /// Has to be called in order to display objects with visibility status = true + void synchronizeViewer(); + + /// Has to be called in order to display objects from a cpecifed group with visibility status = true + /// \param theDoc the document for objects synchronisation + /// \param theGroup the group name + /// \param theUpdateViewer update viewer flag + void synchronizeGroupInViewer(const DocumentPtr& theDoc, const std::string& theGroup, bool theUpdateViewer); + signals: /// Emitted when selection happens in Salome viewer void salomeViewerSelection(); - /// Emitted when error in applivation happens + /// Emitted when error in application happens void errorOccurred(const QString&); //! the signal about the workshop actions states are updated. @@ -253,14 +277,10 @@ signals: /// Update of commands status void updateCommandStatus(); - // Update enable state of accept all button. It is enabled if the the parent operation is - // valid and there are modifications in sesstion(undo can be performed). - void updateCompositeActionState(); - /// update history list (undo/redo commands) void updateHistory(); - /// Create a new dokument + /// Create a new document void onNew(); /// Open document from file @@ -299,31 +319,25 @@ signals: /// Hide object Browser void hideObjectBrowser(); - /// Reaction on command call - //void onFeatureTriggered(); - /// Close document void closeDocument(); protected: - /// Find the nested features and set them into the operation + /// Sets the granted operations for the parameter operation. Firstly, it finds the nested features + /// and set them into the operation. Secondly, it asks the module about ids of granted operations. /// \param theOperation an operation - void setNestedFeatures(ModuleBase_Operation* theOperation); + void setGrantedFeatures(ModuleBase_Operation* theOperation); /// Update the property panel content by the XML description of the operation and set the panel /// into the operation /// \param theOperation an operation void setPropertyPanel(ModuleBase_Operation* theOperation); - /// Connect to operation signals - /// \param theOperation an operation - void connectWithOperation(ModuleBase_Operation* theOperation); - private: /// Display all results //void displayAllResults(); - /// Displau results from document + /// Display results from document /// \param theDoc a document void displayDocumentResults(DocumentPtr theDoc); @@ -342,12 +356,12 @@ private: virtual void onOperationResumed(ModuleBase_Operation* theOperation); /// SLOT, that is called after the operation is stopped. Update workshop state, e.g. - /// hides the property panel and udpate the command status. + /// hides the property panel and update the command status. /// \param theOpertion a stopped operation virtual void onOperationStopped(ModuleBase_Operation* theOperation); /// SLOT, that is called after the operation is committed. - /// \param theOpertion a commmitted operation + /// \param theOpertion a committed operation virtual void onOperationCommitted(ModuleBase_Operation* theOperation); /// SLOT, that is called after the operation is aborted. @@ -362,6 +376,19 @@ private: /// Set waiting cursor void onStartWaiting(); + /// Called by Ok button clicked in the property panel. Asks the error manager whether + /// the operation can be committed and do it if it returns true. + void onAcceptActionClicked(); + + /// Listens the corresponded signal from operation manager and send it with the Ok + /// action to operation manager. + /// \param theEnabled an enabled state for the action + //void onValidationStateChanged(bool theEnabled); + + //connect(myOperationMgr, SIGNAL(validationStateChanged(bool)), + // aOkAct, SLOT(setEnabled(bool))); + + private: /// Init menu void initMenu();