Salome HOME
Compilation by CMake.
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_Module.h
1
2 #ifndef HYDROGUI_MODULE_HEADER
3 #define HYDROGUI_MODULE_HEADER
4
5 #include <HYDROGUI.h>
6 #include <LightApp_Module.h>
7
8 class SUIT_ViewWindow;
9
10 /**\class HYDROGUI_Module
11  *\brief The class representing the HYDROGUI module
12  */
13 class HYDROGUI_Module : public LightApp_Module
14 {
15   Q_OBJECT
16
17 public:
18   HYDROGUI_Module();
19   virtual ~HYDROGUI_Module();
20
21   virtual void initialize( CAM_Application* );
22   virtual void windows( QMap<int, int>& ) const;
23   virtual void viewManagers( QStringList& ) const;
24
25 public slots:
26   virtual bool activateModule( SUIT_Study* );
27
28 protected:
29   virtual LightApp_Operation* createOperation( const int ) const;
30
31 protected slots:
32   void onOperation();
33   virtual void onViewManagerAdded( SUIT_ViewManager* );
34   virtual void onViewWindowAdded( SUIT_ViewWindow* );
35
36 private:
37   void CreateActions();
38   void CreateMenus();
39   void CreatePopups();
40   void CreateToolbars();
41
42 private:
43   QAction* CreateAction( const int theId, const QString& theSuffix,
44                          const QString& theImg = QString::null,
45                          const int theKey = 0, const bool isToggle = false,
46                          const QString& theSlot = QString::null );
47 };
48
49 #endif