]> SALOME platform Git repositories - modules/gui.git/blob - src/SUIT/SUIT_ToolButton.h
Salome HOME
6b8f51601eaf4e31af4c5c01d08faf53bef3b816
[modules/gui.git] / src / SUIT / SUIT_ToolButton.h
1 // Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA 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/
18 //
19 #ifndef SUIT_TOOLBUTTON_H
20 #define SUIT_TOOLBUTTON_H
21
22 #include <qtoolbutton.h>
23 #include <qaction.h>
24
25 #include "SUIT.h"
26
27 /*! To draw down arrow on toolbutton.*/
28 class SUIT_EXPORT SUIT_ToolButton : public QToolButton
29 {
30   Q_OBJECT
31
32 public:
33   /*! @name constructors*/
34   //@{
35   SUIT_ToolButton( QWidget *parent = 0, 
36                    const char *name = 0,
37                    bool changeItemAfterClick = true );
38   SUIT_ToolButton(  const QPixmap & pm, const QString &textLabel,
39                     const QString& grouptext,
40                     QObject * receiver, const char* slot,
41                     QToolBar * parent, const char* name = 0,
42                     bool changeItemAfterClick = true );
43   //@}
44
45   void drawButton( QPainter * pQPainter);
46
47   void AddAction(QAction* theAction);
48
49   void SetItem(int theIndex);
50
51 public slots:
52   void OnSelectAction(int theItemID);
53
54 protected:
55   void  mouseReleaseEvent (QMouseEvent * theEvent);
56
57 private:
58   void initialize();
59
60   QPopupMenu* myPopup;
61   QSignal* mySignal;
62   bool myChangeItemAfterClick;
63
64 };
65
66 #endif
67