X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_Workshop.h;h=764e19f2d626079bbe01ce7dffca429f9ddd32ba;hb=c58d52e4c1562a78b91e222190b2fd6e5bba0ef0;hp=458b8a4c415a9a35c8d358ce98d574adc325900a;hpb=8dc74f82810d5f597b78633b457efb0ef4f89f9f;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_Workshop.h b/src/XGUI/XGUI_Workshop.h index 458b8a4c4..764e19f2d 100644 --- a/src/XGUI/XGUI_Workshop.h +++ b/src/XGUI/XGUI_Workshop.h @@ -31,6 +31,7 @@ class XGUI_ModuleConnector; class ModuleBase_Operation; class ModuleBase_IModule; +class ModuleBase_IViewer; class Config_FeatureMessage; class Config_PointerMessage; @@ -104,7 +105,7 @@ Q_OBJECT XGUI_Workbench* addWorkbench(const QString& theName); //! Redefinition of Events_Listener method - virtual void processEvent(const Events_Message* theMessage); + virtual void processEvent(const boost::shared_ptr& theMessage); //! Returns an object which provides interface to Salome Module (LightApp_Module) XGUI_SalomeConnector* salomeConnector() const @@ -113,7 +114,7 @@ Q_OBJECT } //! Provides an object which provides interface to Salome Viewer - XGUI_SalomeViewer* salomeViewer() const; + ModuleBase_IViewer* salomeViewer() const; //! Returns true if the application works as SALOME module bool isSalomeMode() const @@ -154,11 +155,37 @@ Q_OBJECT //! Show the given features in 3d Viewer void showObjects(const QList& theList, bool isVisible); + //! Show the given features in 3d Viewer + void showOnlyObjects(const QList& theList); + + void setDisplayMode(const QList& theList, int theMode); + ModuleBase_IModule* module() const { return myModule; } + /// Returns current directory whic contains data files + QString currentDataDir() const { return myCurrentDir; } + + /// Returns current directory whic contains data files + void setCurrentDataDir(const QString& theDir) { myCurrentDir = theDir; } + + /** + * Save the current document into a directory + * \param theName - path to the directory + * \param theFileNames - returned file names created in this directory + */ + void saveDocument(const QString& theName, std::list& theFileNames); + + /* + * If there is an active (uncommited) 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(); + signals: void salomeViewerSelection(); void errorOccurred(const QString&); @@ -174,6 +201,7 @@ signals: void onExit(); void onUndo(); void onRedo(); + void onRebuild(); void onPreferences(); void showPropertyPanel(); @@ -186,16 +214,18 @@ signals: void activateLastPart(); + void closeDocument(); + protected: + bool event(QEvent * theEvent); //Event-loop processing methods: - void addFeature(const Config_FeatureMessage*); + void addFeature(const boost::shared_ptr&); void connectWithOperation(ModuleBase_Operation* theOperation); - void saveDocument(QString theName); - void onFeatureUpdatedMsg(const ModelAPI_ObjectUpdatedMessage* theMsg); - void onFeatureCreatedMsg(const ModelAPI_ObjectUpdatedMessage* theMsg); - void onFeatureRedisplayMsg(const ModelAPI_ObjectUpdatedMessage* theMsg); - void onObjectDeletedMsg(const ModelAPI_ObjectDeletedMessage* theMsg); + void onFeatureUpdatedMsg(const boost::shared_ptr& theMsg); + void onFeatureCreatedMsg(const boost::shared_ptr& theMsg); + void onFeatureRedisplayMsg(const boost::shared_ptr& theMsg); + void onObjectDeletedMsg(const boost::shared_ptr& theMsg); void validateOperation(const QString& theOperationId); @@ -205,7 +235,7 @@ signals: void displayDocumentResults(DocumentPtr theDoc); void displayGroupResults(DocumentPtr theDoc, std::string theGroup); - protected slots: + private slots: /// SLOT, that is called after the operation is started. Update workshop state according to /// the started operation, e.g. visualizes the property panel and connect to it. void onOperationStarted(); @@ -250,6 +280,11 @@ signals: QString myCurrentDir; static QMap myIcons; + + bool myUpdatePrefs; + + // Flag to check that part document is in process of activating + bool myPartActivating; }; #endif