21 #ifndef __ctkCollapsibleButton_h 22 #define __ctkCollapsibleButton_h 25 #include <QAbstractButton> 30 #include "ctkWidgetsExport.h" 32 class ctkCollapsibleButtonPrivate;
33 class QStyleOptionButton;
48 Q_PROPERTY(
bool collapsed READ collapsed WRITE setCollapsed NOTIFY contentsCollapsed)
52 Q_PROPERTY(
int collapsedHeight READ collapsedHeight WRITE setCollapsedHeight)
58 Q_PROPERTY(
bool flat READ isFlat WRITE setFlat)
60 Q_PROPERTY(QFrame::Shape contentsFrameShape READ contentsFrameShape WRITE setContentsFrameShape)
61 Q_PROPERTY(QFrame::Shadow contentsFrameShadow READ contentsFrameShadow WRITE setContentsFrameShadow)
62 Q_PROPERTY(
int contentsLineWidth READ contentsLineWidth WRITE setContentsLineWidth)
63 Q_PROPERTY(
int contentsMidLineWidth READ contentsMidLineWidth WRITE setContentsMidLineWidth)
65 Q_PROPERTY(Qt::Alignment buttonTextAlignment READ buttonTextAlignment WRITE setButtonTextAlignment)
66 Q_PROPERTY(Qt::Alignment indicatorAlignment READ indicatorAlignment WRITE setIndicatorAlignment)
77 void setCollapsed(
bool);
78 bool collapsed()const;
82 void setCollapsedHeight(
int heightInPixels);
83 int collapsedHeight()const;
87 void setFlat(
bool flat);
96 QFrame::Shape contentsFrameShape() const;
97 void setContentsFrameShape(QFrame::Shape);
102 QFrame::Shadow contentsFrameShadow() const;
103 void setContentsFrameShadow(QFrame::Shadow);
107 int contentsLineWidth() const;
108 void setContentsLineWidth(
int);
112 int contentsMidLineWidth() const;
113 void setContentsMidLineWidth(
int);
118 void setButtonTextAlignment(Qt::Alignment textAlignment);
119 Qt::Alignment buttonTextAlignment()const;
124 void setIndicatorAlignment(Qt::Alignment indicatorAlignment);
125 Qt::Alignment indicatorAlignment()const;
129 virtual QSize minimumSizeHint()const;
133 virtual QSize sizeHint()const;
137 virtual
bool event(QEvent* event);
141 virtual
bool eventFilter(QObject* child, QEvent* e);
146 virtual
void setVisible(
bool);
151 void contentsCollapsed(
bool);
156 virtual
void collapse(
bool c);
157 virtual
void onToggled(
bool clicked = false);
160 virtual
void paintEvent(QPaintEvent*);
163 virtual
void childEvent(QChildEvent* c);
165 virtual
bool hitButton(const QPoint & pos) const;
167 virtual QSize buttonSizeHint() const;
172 virtual
void initStyleOption(QStyleOptionButton* option)const;
175 QScopedPointer<ctkCollapsibleButtonPrivate> d_ptr;