1 // Copyright (C) 2005 OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
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.
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.
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
17 // See http://www.salome-platform.org/
19 // File: QtxWorkspaceAction.h
20 // Author: Sergey TELKOV
22 #ifndef QTXWORKSPACEACTION_H
23 #define QTXWORKSPACEACTION_H
25 #include "QtxAction.h"
30 #pragma warning( disable:4251 )
33 class QTX_EXPORT QtxWorkspaceAction : public QtxAction
38 enum { Cascade = 0x0001,
43 Standard = Cascade | Tile | Windows,
44 Operations = Cascade | Tile | VTile | HTile,
45 All = Standard | HTile | VTile };
48 QtxWorkspaceAction( QWorkspace*, QObject* = 0, const char* = 0 );
49 virtual ~QtxWorkspaceAction();
51 QWorkspace* workspace() const;
54 void setItems( const int );
55 bool hasItems( const int ) const;
57 int accel( const int ) const;
58 QIconSet iconSet( const int ) const;
59 QString menuText( const int ) const;
60 QString statusTip( const int ) const;
62 void setAccel( const int, const int );
63 void setIconSet( const int, const QIconSet& );
64 void setMenuText( const int, const QString& );
65 void setStatusTip( const int, const QString& );
67 virtual bool addTo( QWidget* );
68 virtual bool addTo( QWidget*, const int );
69 virtual bool removeFrom( QWidget* );
71 void perform( const int );
77 void tileHorizontal();
81 void onItemActivated( int );
82 void onPopupDestroyed( QObject* );
85 void checkPopup( QPopupMenu* );
86 void updatePopup( QPopupMenu* );
88 int clearPopup( QPopupMenu* );
89 void fillPopup( QPopupMenu*, const int );
92 typedef QMap<QPopupMenu*, QIntList> MenuMap;
93 typedef QMap<int, QtxAction*> ItemMap;
99 QWorkspace* myWorkspace;
103 #pragma warning( default:4251 )