Salome HOME
Merge relevant changes from V8_0_0_BR branch
[modules/jobmanager.git] / src / wrappers / BL_MainWindows_Qt.hxx
1 // Copyright (C) 2009-2015  CEA/DEN, EDF R&D
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19
20
21 #ifndef _BL_MAINWINDOWS_QT_HXX_
22 #define _BL_MAINWINDOWS_QT_HXX_
23
24 #ifdef WNT
25 #  if defined BL_Wrappers_Qt_EXPORTS
26 #    define BL_Wrappers_Qt_EXPORT __declspec( dllexport )
27 #  else
28 #    define BL_Wrappers_Qt_EXPORT __declspec( dllimport )
29 #  endif
30 #else
31 #  define BL_Wrappers_Qt_EXPORT
32 #endif
33
34 #include "BL_MainWindows_Wrap.hxx"
35
36 #include <QObject>
37 #include <map>
38
39 class QMenu;
40
41 namespace BL
42 {
43   class BL_Wrappers_Qt_EXPORT MainWindows_Qt : public MainWindows_Wrap, public QObject
44   {
45     public:
46       MainWindows_Qt(QMainWindow * main_window);
47       virtual ~MainWindows_Qt();
48
49       virtual QMainWindow * getDockParent();
50       virtual QMainWindow * getTabParent();
51
52       virtual QAction* createAction(const QString& toolTip,
53                                     const QIcon& icon,
54                                     const QString& menu,
55                                     const QString& status,
56                                     const int accel,
57                                     QObject* parent =0,
58                                     bool checkable = false,
59                                     QObject* receiver =0,
60                                     const char* member =0,
61                                     const QString& shortCut=QString());
62
63       virtual int createTopMenu(const QString & menu_name);
64       virtual void addActionToMenu(QAction * action, int menu_id);
65
66     protected:
67       QMainWindow * _main_window;
68       int _menuId;
69       int getMenuId() { return _menuId++; }
70       std::map<int, QMenu*> _menu_map;
71   };
72 }
73
74 #endif