#include "XGUI.h"
#include "XGUI_Constants.h"
#include <Events_Listener.h>
+#include <ModuleBase_Definitions.h>
+#include <ModelAPI_ResultPart.h>
+#include <ModelAPI_Document.h>
#include <QObject>
#include <QMap>
#include <QIcon>
#include <QKeySequence>
+
class XGUI_MainWindow;
class XGUI_Command;
-class XGUI_Module;
class XGUI_Workbench;
class XGUI_SelectionMgr;
class XGUI_Displayer;
class XGUI_ViewerProxy;
class XGUI_PropertyPanel;
class XGUI_ContextMenuMgr;
+class XGUI_ModuleConnector;
class ModuleBase_Operation;
+class ModuleBase_IModule;
class Config_FeatureMessage;
class Config_PointerMessage;
class QWidget;
class QDockWidget;
+class ModelAPI_ObjectUpdatedMessage;
+class ModelAPI_ObjectDeletedMessage;
+class QAction;
+
/**\class XGUI_Workshop
* \ingroup GUI
* \brief Class which defines a configuration of the application (Workshop) and launches it.
XGUI_ViewerProxy* viewer() const { return myViewerProxy; }
+ /// Returns the module connectory
+ /// \returns the instance of connector
+ XGUI_ModuleConnector* moduleConnector() const { return myModuleConnector; }
+
//! 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 activatePart(ResultPartPtr theFeature);
+
+ //! Delete features
+ void deleteObjects(const QList<ObjectPtr>& theList);
- void deleteFeatures(QFeatureList theList);
+ //! Show the given features in 3d Viewer
+ void showObjects(const QList<ObjectPtr>& theList, bool isVisible);
+
+ ModuleBase_IModule* module() const { return myModule; }
signals:
void salomeViewerSelection();
public slots:
void updateCommandStatus();
+ void updateCommandsOnViewSelection();
void onNew();
void onOpen();
- void onSave();
- void onSaveAs();
+ bool onSave();
+ bool onSaveAs();
void onExit();
void onUndo();
void onRedo();
+ void onPreferences();
void showPropertyPanel();
void hidePropertyPanel();
void hideObjectBrowser();
void onFeatureTriggered();
- void changeCurrentDocument(FeaturePtr thePart);
+ void changeCurrentDocument(ObjectPtr theObj);
void activateLastPart();
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 validateOperation(const QString& theOperationId);
+
+ QList<QAction*> getModuleCommands() const;
+
+ void displayAllResults();
+ void displayDocumentResults(DocumentPtr theDoc);
+ void displayGroupResults(DocumentPtr theDoc, std::string theGroup);
+
protected 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 onContextMenuCommand(const QString& theId, bool isChecked);
+ void onWidgetValuesChanged();
+
+ void onStartWaiting();
+
private:
void initMenu();
- XGUI_Module* loadModule(const QString& theModule);
+ void registerValidators() const;
+
+
+ ModuleBase_IModule* loadModule(const QString& theModule);
bool activateModule();
QDockWidget* createObjectBrowser(QWidget* theParent);
void createDockWidgets();
XGUI_MainWindow* myMainWindow;
- XGUI_Module* myPartSetModule;
+ ModuleBase_IModule* myModule;
XGUI_ObjectsBrowser* myObjectBrowser;
XGUI_PropertyPanel* myPropertyPanel;
XGUI_SelectionMgr* mySelector;
XGUI_ErrorDialog* myErrorDlg;
XGUI_ViewerProxy* myViewerProxy;
XGUI_ContextMenuMgr* myContextMenuMgr;
+ XGUI_ModuleConnector* myModuleConnector;
QString myCurrentDir;
static QMap<QString, QString> myIcons;
-
};
#endif