Canorus
0.0
src
widgets
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
17
class
CAMainWin
;
18
19
class
CAGroupBoxToolButton
:
public
QToolButton
{
20
Q_OBJECT
21
public
:
22
CAGroupBoxToolButton
(QWidget *w) :
QToolButton
(w) {}
23
protected
:
24
void
paintEvent
( QPaintEvent* );
25
};
26
27
class
CAMenuToolButton
:
public
CAToolButton
{
28
Q_OBJECT
29
public
:
30
CAMenuToolButton
( QString title,
int
numIconsRow = 4, QWidget * parent = 0 );
31
~CAMenuToolButton
();
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
; }
44
inline
void
setLayoutMargin
(
int
margin
) {
_layoutMargin
=
margin
; }
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
50
public
slots:
51
void
onButtonPressed
(
int
);
52
53
private
:
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_ */
CAGroupBoxToolButton
Definition:
menutoolbutton.h:19
CAGroupBoxToolButton::CAGroupBoxToolButton
CAGroupBoxToolButton(QWidget *w)
Definition:
menutoolbutton.h:22
CAGroupBoxToolButton::paintEvent
void paintEvent(QPaintEvent *)
Definition:
menutoolbutton.cpp:21
CAMainWin
Canorus main window Class CAMainWin represents Canorus main window. The core layout is generated usin...
Definition:
plugins_swig.h:6
CAMenuToolButton
Tool button with a menu at the side and a button box when clicked on.
Definition:
menutoolbutton.h:27
CAMenuToolButton::getButton
QAbstractButton * getButton(int buttonId)
Definition:
menutoolbutton.h:34
CAMenuToolButton::setSpacing
void setSpacing(int spacing)
Definition:
menutoolbutton.h:43
CAMenuToolButton::_boxLayout
QGridLayout * _boxLayout
Definition:
menutoolbutton.h:58
CAMenuToolButton::_buttonYPos
int _buttonYPos
Definition:
menutoolbutton.h:63
CAMenuToolButton::buttonList
const QList< QToolButton * > & buttonList() const
Definition:
menutoolbutton.h:36
CAMenuToolButton::_groupBox
QGroupBox * _groupBox
Definition:
menutoolbutton.h:57
CAMenuToolButton::_margin
int _margin
Definition:
menutoolbutton.h:66
CAMenuToolButton::margin
int margin()
Definition:
menutoolbutton.h:40
CAMenuToolButton::layoutMargin
int layoutMargin()
Definition:
menutoolbutton.h:39
CAMenuToolButton::showButtons
void showButtons()
Definition:
menutoolbutton.cpp:163
CAMenuToolButton::spacing
int spacing()
Definition:
menutoolbutton.h:38
CAMenuToolButton::addButton
void addButton(const QIcon icon, int buttonId, const QString toolTip="")
Definition:
menutoolbutton.cpp:104
CAMenuToolButton::~CAMenuToolButton
~CAMenuToolButton()
Definition:
menutoolbutton.cpp:94
CAMenuToolButton::_menuLayout
QGridLayout * _menuLayout
Definition:
menutoolbutton.h:59
CAMenuToolButton::setMargin
void setMargin(int margin)
Definition:
menutoolbutton.h:45
CAMenuToolButton::_spacing
int _spacing
Definition:
menutoolbutton.h:65
CAMenuToolButton::_buttonList
QList< QToolButton * > _buttonList
Definition:
menutoolbutton.h:60
CAMenuToolButton::setNumIconsPerRow
void setNumIconsPerRow(int numIconsRow)
Definition:
menutoolbutton.h:46
CAMenuToolButton::setCurrentId
void setCurrentId(int id, bool triggerSignal=false)
Definition:
menutoolbutton.cpp:197
CAMenuToolButton::setLayoutMargin
void setLayoutMargin(int margin)
Definition:
menutoolbutton.h:44
CAMenuToolButton::_buttonIds
QHash< QString, int > _buttonIds
Definition:
menutoolbutton.h:61
CAMenuToolButton::CAMenuToolButton
CAMenuToolButton(QString title, int numIconsRow=4, QWidget *parent=0)
Definition:
menutoolbutton.cpp:50
CAMenuToolButton::_buttonGroup
QButtonGroup * _buttonGroup
Definition:
menutoolbutton.h:56
CAMenuToolButton::wheelEvent
void wheelEvent(QWheelEvent *)
Definition:
menutoolbutton.cpp:171
CAMenuToolButton::_layoutMargin
int _layoutMargin
Definition:
menutoolbutton.h:67
CAMenuToolButton::_buttonXPos
int _buttonXPos
Definition:
menutoolbutton.h:62
CAMenuToolButton::_numIconsRow
int _numIconsRow
Definition:
menutoolbutton.h:64
CAMenuToolButton::numIconsPerRow
int numIconsPerRow()
Definition:
menutoolbutton.h:41
CAMenuToolButton::onButtonPressed
void onButtonPressed(int)
Definition:
menutoolbutton.cpp:148
CAToolButton
Tool button with a menu at the side.
Definition:
toolbutton.h:18
QToolButton
toolbutton.h
Generated by
1.9.3