#define XGUI_WORKSHOP_H
#include "XGUI.h"
+#include "XGUI_Constants.h"
#include <Events_Listener.h>
#include <QObject>
class XGUI_ObjectsBrowser;
class XGUI_ActionsMgr;
class XGUI_ErrorDialog;
+class XGUI_SalomeViewer;
+class XGUI_ViewerProxy;
+class XGUI_PropertyPanel;
+class XGUI_ContextMenuMgr;
+
class ModuleBase_Operation;
-class ModuleBase_PropPanelOperation;
class Config_FeatureMessage;
class Config_PointerMessage;
XGUI_SelectionMgr* selector() const { return mySelector; }
//! Returns displayer
- XGUI_Displayer* displayer() const;
+ XGUI_Displayer* displayer() const { return myDisplayer; }
//! ! Returns operation manager.
XGUI_OperationMgr* operationMgr() const { return myOperationMgr; }
//! ! Returns an actions manager
XGUI_ActionsMgr* actionsMgr() const { return myActionsMgr; };
+ //! Returns property panel widget
+ XGUI_PropertyPanel* propertyPanel() const { return myPropertyPanel; }
+
+ //! Returns context menu manager object
+ XGUI_ContextMenuMgr* contextMenuMgr() const { return myContextMenuMgr; }
+
//! Creates and adds a new workbench (menu group) with the given name and returns it
XGUI_Workbench* addWorkbench(const QString& theName);
//! Redefinition of Events_Listener method
virtual void processEvent(const Events_Message* theMessage);
+ //! Returns an object which provides interface to Salome Module (LightApp_Module)
XGUI_SalomeConnector* salomeConnector() const { return mySalomeConnector; }
+ //! Provides an object which provides interface to Salome Viewer
+ XGUI_SalomeViewer* salomeViewer() const;
+
//! Returns true if the application works as SALOME module
bool isSalomeMode() const { return mySalomeConnector != 0; }
void salomeViewerSelectionChanged();
+ XGUI_ViewerProxy* viewer() const { return myViewerProxy; }
+
+ //! Returns icon name according to feature Id
+ static QString featureIcon(const std::string& theId);
+
+ //! Activates or deactivates a part
+ //! If PartPtr is Null pointer then PartSet will be activated
+ void activatePart(FeaturePtr theFeature);
+
+ void deleteFeatures(QFeatureList theList);
+
signals:
void salomeViewerSelection();
+ void errorOccurred(const QString&);
public slots:
void updateCommandStatus();
void onNew();
void onOpen();
- void onSave();
- void onSaveAs();
+ bool onSave();
+ bool onSaveAs();
void onExit();
void onUndo();
void onRedo();
void hideObjectBrowser();
void onFeatureTriggered();
- void changeCurrentDocument();
+ void changeCurrentDocument(FeaturePtr thePart);
-signals:
- void errorOccurred(const QString&);
+ void activateLastPart();
protected:
//Event-loop processing methods:
/// \param theOpertion a stopped operation
void onOperationStopped(ModuleBase_Operation* theOperation);
+ void onContextMenuCommand(const QString& theId, bool isChecked);
+
private:
void initMenu();
// Creates Dock widgets: Object browser and Property panel
void createDockWidgets();
- void setPropertyPannelTitle(const QString& theTitle);
- QString myCurrentFile;
XGUI_MainWindow* myMainWindow;
XGUI_Module* myPartSetModule;
XGUI_ObjectsBrowser* myObjectBrowser;
- QDockWidget* myPropertyPanelDock;
+ XGUI_PropertyPanel* myPropertyPanel;
XGUI_SelectionMgr* mySelector;
XGUI_Displayer* myDisplayer;
XGUI_OperationMgr* myOperationMgr; ///< manager to manipulate through the operations
XGUI_ActionsMgr* myActionsMgr;
XGUI_SalomeConnector* mySalomeConnector;
XGUI_ErrorDialog* myErrorDlg;
+ XGUI_ViewerProxy* myViewerProxy;
+ XGUI_ContextMenuMgr* myContextMenuMgr;
+
+ QString myCurrentDir;
+ static QMap<QString, QString> myIcons;
+
};
#endif