18 #ifndef QGSCOLLAPSIBLEGROUPBOX_H
19 #define QGSCOLLAPSIBLEGROUPBOX_H
26 #include <QToolButton>
27 #include <QMouseEvent>
38 :
QToolButton( parent ), mAltDown( false ), mShiftDown( false ) {}
51 mAltDown = (
event->modifiers() & ( Qt::AltModifier | Qt::ControlModifier ) );
52 mShiftDown = (
event->modifiers() & Qt::ShiftModifier );
79 Q_PROPERTY(
bool collapsed READ isCollapsed WRITE setCollapsed USER
true )
85 Q_PROPERTY(
QString syncGroup READ syncGroup WRITE setSyncGroup )
91 Q_PROPERTY(
bool scrollOnExpand READ scrollOnExpand WRITE setScrollOnExpand )
101 bool isCollapsed()
const {
return mCollapsed; }
107 void setCollapsed(
bool collapse );
117 void setSyncGroup(
QString grp );
127 void collapsedStateChanged(
bool collapsed );
130 void checkToggled(
bool ckd );
131 void checkClicked(
bool ckd );
132 void toggleCollapsed();
138 void collapseExpandFixes();
146 QRect titleRect()
const;
147 void clearModifiers();
184 Q_PROPERTY(
bool saveCollapsedState READ saveCollapsedState WRITE setSaveCollapsedState )
189 Q_PROPERTY(
bool saveCheckedState READ saveCheckedState WRITE setSaveCheckedState )
200 void setSaveCollapsedState(
bool save ) { mSaveCollapsedState = save; }
229 void saveState()
const;
QString settingGroup() const
Returns the name of the setting group in which the collapsed state will be saved. ...
A groupbox that collapses/expands when toggled and can save its collapsed and checked states...
void setSaveCheckedState(bool save)
set this to true to save/restore checked state
QScrollArea * mParentScrollArea
void setScrollOnExpand(bool scroll)
Set this to false to not automatically scroll parent QScrollArea to this widget's contents when expan...
void showEvent(QShowEvent *event) override
QgsGroupBoxCollapseButton * mCollapseButton
A groupbox that collapses/expands when toggled.
virtual void mouseReleaseEvent(QMouseEvent *event)
bool scrollOnExpand()
If this is set to false the parent QScrollArea will not be automatically scrolled to this widget's co...
static QIcon mCollapseIcon
void setSettingGroup(const QString &group)
Set this to a defined string to share save/restore states across different parent dialogs...
virtual void changeEvent(QEvent *ev)
bool saveCollapsedState()
virtual void mousePressEvent(QMouseEvent *event)
QPointer< QSettings > mSettings
QString syncGroup() const
Named group which synchronizes collapsing action when triangle is clicked while holding alt modifier ...