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: QtxWorkstackAction.h
20 // Author: Sergey TELKOV
22 #ifndef QTXWORKSTACKACTION_H
23 #define QTXWORKSTACKACTION_H
25 #include "QtxAction.h"
30 #pragma warning( disable:4251 )
33 class QTX_EXPORT QtxWorkstackAction : public QtxAction
38 enum { VSplit = 0x0001,
41 Split = VSplit | HSplit,
42 Standard = Split | Windows };
45 QtxWorkstackAction( QtxWorkstack*, QObject* = 0, const char* = 0 );
46 virtual ~QtxWorkstackAction();
48 QtxWorkstack* workstack() const;
51 void setItems( const int );
52 bool hasItems( const int ) const;
54 int accel( const int ) const;
55 QIconSet iconSet( const int ) const;
56 QString menuText( const int ) const;
57 QString statusTip( const int ) const;
59 void setAccel( const int, const int );
60 void setIconSet( const int, const QIconSet& );
61 void setMenuText( const int, const QString& );
62 void setStatusTip( const int, const QString& );
64 virtual bool addTo( QWidget* );
65 virtual bool addTo( QWidget*, const int );
66 virtual bool removeFrom( QWidget* );
68 void perform( const int );
72 void onItemActivated( int );
73 void onPopupDestroyed( QObject* );
76 void checkPopup( QPopupMenu* );
77 void updatePopup( QPopupMenu* );
79 int clearPopup( QPopupMenu* );
80 void fillPopup( QPopupMenu*, const int );
83 typedef QMap<QPopupMenu*, QIntList> MenuMap;
84 typedef QMap<int, QtxAction*> ItemMap;
90 QtxWorkstack* myWorkstack;
94 #pragma warning( default:4251 )