Canorus 0.0
menutoolbutton.h
Go to the documentation of this file.
1
8#ifndef MENUTOOLBUTTON_H_
9#define MENUTOOLBUTTON_H_
10
11#include "widgets/toolbutton.h"
12#include <QButtonGroup>
13#include <QGroupBox>
14#include <QGridLayout>
15#include <QHash>
16
17class CAMainWin;
18
20Q_OBJECT
21public:
23protected:
24 void paintEvent( QPaintEvent* );
25};
26
28 Q_OBJECT
29public:
30 CAMenuToolButton( QString title, int numIconsRow = 4, QWidget * parent = 0 );
32
33 void addButton( const QIcon icon, int buttonId, const QString toolTip="" );
34 inline QAbstractButton *getButton( int buttonId ) { return _buttonGroup->button( buttonId ); }
35
36 inline const QList<QToolButton*>& buttonList() const { return _buttonList; }
37
38 inline int spacing() { return _spacing; }
39 inline int layoutMargin() { return _layoutMargin; }
40 inline int margin() { return _margin;}
41 inline int numIconsPerRow() { return _numIconsRow; }
42
43 inline void setSpacing(int spacing) { _spacing = spacing; }
45 inline void setMargin(int margin) { _margin = margin; }
46 inline void setNumIconsPerRow( int numIconsRow ) { _numIconsRow = numIconsRow; }
47 void setCurrentId(int id, bool triggerSignal=false);
48 void showButtons();
49
50public slots:
51 void onButtonPressed( int );
52
53private:
54 void wheelEvent(QWheelEvent*);
55
56 QButtonGroup *_buttonGroup; // Abstract group for the button actions
57 QGroupBox *_groupBox; // Group box containing title and buttons
58 QGridLayout *_boxLayout; // Layout for the group box
59 QGridLayout *_menuLayout; // Layout for the button menu
60 QList<QToolButton*> _buttonList; // List of created buttons in button box
61 QHash<QString, int> _buttonIds; // hash of IDs of buttons
62 int _buttonXPos; // X position of next button
63 int _buttonYPos; // Y position of next button
64 int _numIconsRow; // Number of icons per row
65 int _spacing; // Space between buttons
66 int _margin; // Margin around the buttons
67 int _layoutMargin; // Margin of layout
68};
69#endif /* MENUTOOLBUTTON_H_ */
Definition: menutoolbutton.h:19
CAGroupBoxToolButton(QWidget *w)
Definition: menutoolbutton.h:22
void paintEvent(QPaintEvent *)
Definition: menutoolbutton.cpp:21
Canorus main window Class CAMainWin represents Canorus main window. The core layout is generated usin...
Definition: plugins_swig.h:6
Tool button with a menu at the side and a button box when clicked on.
Definition: menutoolbutton.h:27
QAbstractButton * getButton(int buttonId)
Definition: menutoolbutton.h:34
void setSpacing(int spacing)
Definition: menutoolbutton.h:43
QGridLayout * _boxLayout
Definition: menutoolbutton.h:58
int _buttonYPos
Definition: menutoolbutton.h:63
const QList< QToolButton * > & buttonList() const
Definition: menutoolbutton.h:36
QGroupBox * _groupBox
Definition: menutoolbutton.h:57
int _margin
Definition: menutoolbutton.h:66
int margin()
Definition: menutoolbutton.h:40
int layoutMargin()
Definition: menutoolbutton.h:39
void showButtons()
Definition: menutoolbutton.cpp:163
int spacing()
Definition: menutoolbutton.h:38
void addButton(const QIcon icon, int buttonId, const QString toolTip="")
Definition: menutoolbutton.cpp:104
~CAMenuToolButton()
Definition: menutoolbutton.cpp:94
QGridLayout * _menuLayout
Definition: menutoolbutton.h:59
void setMargin(int margin)
Definition: menutoolbutton.h:45
int _spacing
Definition: menutoolbutton.h:65
QList< QToolButton * > _buttonList
Definition: menutoolbutton.h:60
void setNumIconsPerRow(int numIconsRow)
Definition: menutoolbutton.h:46
void setCurrentId(int id, bool triggerSignal=false)
Definition: menutoolbutton.cpp:197
void setLayoutMargin(int margin)
Definition: menutoolbutton.h:44
QHash< QString, int > _buttonIds
Definition: menutoolbutton.h:61
CAMenuToolButton(QString title, int numIconsRow=4, QWidget *parent=0)
Definition: menutoolbutton.cpp:50
QButtonGroup * _buttonGroup
Definition: menutoolbutton.h:56
void wheelEvent(QWheelEvent *)
Definition: menutoolbutton.cpp:171
int _layoutMargin
Definition: menutoolbutton.h:67
int _buttonXPos
Definition: menutoolbutton.h:62
int _numIconsRow
Definition: menutoolbutton.h:64
int numIconsPerRow()
Definition: menutoolbutton.h:41
void onButtonPressed(int)
Definition: menutoolbutton.cpp:148
Tool button with a menu at the side.
Definition: toolbutton.h:18