Salome HOME
Merge from V6_main 01/04/2013
[modules/jobmanager.git] / src / wrappers / BL_MainWindows_Qt.hxx
1 // Copyright (C) 2009-2013  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.
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 #include <map>
36
37 namespace BL
38 {
39   class BL_Wrappers_Qt_EXPORT MainWindows_Qt : public MainWindows_Wrap, public QObject
40   {
41     public:
42       MainWindows_Qt(QMainWindow * main_window);
43       virtual ~MainWindows_Qt();
44
45       virtual QMainWindow * getDockParent();
46       virtual QMainWindow * getTabParent();
47
48       virtual QAction* createAction(const QString& toolTip,
49                                     const QIcon& icon,
50                                     const QString& menu,
51                                     const QString& status,
52                                     const int accel,
53                                     QObject* parent =0,
54                                     bool checkable = false,
55                                     QObject* receiver =0,
56                                     const char* member =0,
57                                     const QString& shortCut=QString());
58
59       virtual int createTopMenu(const QString & menu_name);
60       virtual void addActionToMenu(QAction * action, int menu_id);
61
62     protected:
63       QMainWindow * _main_window;
64       int _menuId;
65       int getMenuId() { return _menuId++; }
66       std::map<int, QMenu*> _menu_map;
67   };
68 }
69
70 #endif