Canorus  0.0
toolbutton.h
Go to the documentation of this file.
1 
8 #ifndef TOOLBUTTON_H_
9 #define TOOLBUTTON_H_
10 
11 #include <QToolButton>
12 
14 
15 class QWidget;
16 class CAMainWin;
17 
18 class CAToolButton : public QToolButton {
19  Q_OBJECT
20 public:
21  CAToolButton( QWidget *parent );
22  virtual ~CAToolButton();
23  inline int currentId() { return _currentId; }
24  virtual void setCurrentId(int id) { _currentId = id; }
25  inline bool buttonsVisible() { return (_popupWidget) ? _popupWidget->isVisible() : 0; } // Is the popup widget visible or not
26  void setDefaultAction( QAction* );
27  virtual void showButtons();
28  virtual void hideButtons();
29 
30 private slots:
31  void handleToggled( bool checked );
32  void handleTriggered();
33 
34 signals:
35  void toggled( bool checked, int id );
36 
37 protected:
38  inline CAMainWin *mainWin() { return _mainWin; }
39  inline void setMainWin( CAMainWin *m ) { _mainWin = m; }
40  inline void setPopupWidget(QWidget* w) { _popupWidget->setWidget(w); }
41  virtual void wheelEvent(QWheelEvent*) = 0;
42  void mousePressEvent( QMouseEvent* );
43  QPoint calculateTopLeft( QSize widgetSize );
44 
45  CAMainWin *_mainWin; // Pointer to the main window for toolbar location polling etc.
46  int _currentId; // current ID of the button
47  CAToolButtonPopup *_popupWidget; // container for the floating widget
48 };
49 
50 #endif /* TOOLBUTTON_H_ */
CAToolButton::wheelEvent
virtual void wheelEvent(QWheelEvent *)=0
CAToolButton::CAToolButton
CAToolButton(QWidget *parent)
Definition: toolbutton.cpp:29
CAToolButton::_popupWidget
CAToolButtonPopup * _popupWidget
Definition: toolbutton.h:47
CAToolButton::mousePressEvent
void mousePressEvent(QMouseEvent *)
Definition: toolbutton.cpp:61
CAToolButton::mainWin
CAMainWin * mainWin()
Definition: toolbutton.h:38
CAToolButton::setCurrentId
virtual void setCurrentId(int id)
Definition: toolbutton.h:24
CAToolButton::showButtons
virtual void showButtons()
Definition: toolbutton.cpp:43
CAToolButton::buttonsVisible
bool buttonsVisible()
Definition: toolbutton.h:25
QToolButton
CAToolButtonPopup
Container for tool button popup widgets.
Definition: toolbuttonpopup.h:13
CAToolButtonPopup::sizeHint
QSize sizeHint() const
Definition: toolbuttonpopup.h:20
CAToolButton::calculateTopLeft
QPoint calculateTopLeft(QSize widgetSize)
Definition: toolbutton.cpp:124
CAToolButton::_currentId
int _currentId
Definition: toolbutton.h:46
CAToolButton::setDefaultAction
void setDefaultAction(QAction *)
Definition: toolbutton.cpp:102
mainwin.h
toolbutton.h
CAToolButton
Tool button with a menu at the side.
Definition: toolbutton.h:18
QAction
CAToolButton::currentId
int currentId()
Definition: toolbutton.h:23
CAToolButton::_mainWin
CAMainWin * _mainWin
Definition: toolbutton.h:45
CAMainWin
Canorus main window Class CAMainWin represents Canorus main window. The core layout is generated usin...
Definition: plugins_swig.h:6
CAToolButton::setMainWin
void setMainWin(CAMainWin *m)
Definition: toolbutton.h:39
CAToolButton::setPopupWidget
void setPopupWidget(QWidget *w)
Definition: toolbutton.h:40
toolbuttonpopup.h
CAToolButton::handleTriggered
void handleTriggered()
Definition: toolbutton.cpp:84
CAToolButton::handleToggled
void handleToggled(bool checked)
Definition: toolbutton.cpp:94
CAToolButton::hideButtons
virtual void hideButtons()
Definition: toolbutton.cpp:53
CAToolButton::toggled
void toggled(bool checked, int id)
CAToolButtonPopup::setWidget
void setWidget(QWidget *w)
Definition: toolbuttonpopup.h:18
CAToolButton::~CAToolButton
virtual ~CAToolButton()
Definition: toolbutton.cpp:36