QGIS API Documentation 3.99.0-Master (21b3aa880ba)
Loading...
Searching...
No Matches
QgsCollapsibleGroupBox Class Reference

A groupbox that collapses/expands when toggled and can save its collapsed and checked states. More...

#include <qgscollapsiblegroupbox.h>

Inheritance diagram for QgsCollapsibleGroupBox:

Public Member Functions

 QgsCollapsibleGroupBox (const QString &title, QWidget *parent=nullptr, QgsSettings *settings=nullptr)
 QgsCollapsibleGroupBox (QWidget *parent=nullptr, QgsSettings *settings=nullptr)
 ~QgsCollapsibleGroupBox () override
bool saveCheckedState () const
 Returns whether the checked state of this group box is saved and loaded persistently in QgsSettings.
bool saveCollapsedState () const
 Returns whether the collapsed state of this group box is saved and loaded persistently in QgsSettings.
void setSaveCheckedState (bool save)
 Set this to true to save/restore checked state.
void setSaveCollapsedState (bool save)
 Sets this to false to not save/restore collapsed state.
void setSettingGroup (const QString &group)
 Sets this to a defined string to share save/restore states across different parent dialogs.
void setSettings (QgsSettings *settings)
QString settingGroup () const
 Returns the name of the setting group in which the collapsed state will be saved.
Public Member Functions inherited from QgsCollapsibleGroupBoxBasic
 QgsCollapsibleGroupBoxBasic (const QString &title, QWidget *parent=nullptr)
 QgsCollapsibleGroupBoxBasic (QWidget *parent=nullptr)
bool isCollapsed () const
 Returns the current collapsed state of this group box.
bool scrollOnExpand () const
 If this is set to false the parent QScrollArea will not be automatically scrolled to this widget's contents when expanded.
void setCollapsed (bool collapse)
 Collapse or uncollapse this groupbox.
void setScrollOnExpand (bool scroll)
 Sets this to false to not automatically scroll parent QScrollArea to this widget's contents when expanded.
void setSyncGroup (const QString &grp)
 Named group which synchronizes collapsing action when triangle is clicked while holding alt modifier key.
QString syncGroup () const
 Named group which synchronizes collapsing action when triangle is clicked while holding alt modifier key.

Protected Slots

void loadState ()
 Will load the collapsed and checked state.
void saveState () const
 Will save the collapsed and checked state.

Protected Member Functions

QString saveKey () const
void showEvent (QShowEvent *event) override
Protected Member Functions inherited from QgsCollapsibleGroupBoxBasic
void changeEvent (QEvent *event) override
void clearModifiers ()
void collapseExpandFixes ()
 Visual fixes for when group box is collapsed/expanded.
void mousePressEvent (QMouseEvent *event) override
void mouseReleaseEvent (QMouseEvent *event) override
void showEvent (QShowEvent *event) override
QRect titleRect () const
void updateStyle ()

Properties

bool saveCheckedState
 Shall the checked state of this group box be saved and loaded persistently in QgsSettings.
bool saveCollapsedState
 Shall the collapsed state of this group box be saved and loaded persistently in QgsSettings.
Properties inherited from QgsCollapsibleGroupBoxBasic
bool collapsed
 The collapsed state of this group box.
bool scrollOnExpand
 If this property is set to true, a parent scroll area will try to make sure that the whole group box is visible when uncollapsing it.
QString syncGroup
 An optional group to be collapsed and uncollapsed in sync with this group box if the Alt-modifier is pressed while collapsing / uncollapsing.

Additional Inherited Members

Public Slots inherited from QgsCollapsibleGroupBoxBasic
void checkClicked (bool ckd)
void checkToggled (bool ckd)
void setStyleSheet (const QString &style)
 Overridden to prepare base call and avoid crash due to specific QT versions.
void toggleCollapsed ()
Signals inherited from QgsCollapsibleGroupBoxBasic
void collapsedStateChanged (bool collapsed)
 Signal emitted when groupbox collapsed/expanded state is changed, and when first shown.
Protected Attributes inherited from QgsCollapsibleGroupBoxBasic
bool mAltDown
QgsGroupBoxCollapseButtonmCollapseButton = nullptr
bool mCollapsed
QIcon mCollapseIcon
QIcon mExpandIcon
bool mInitFlat
bool mInitFlatChecked
QScrollArea * mParentScrollArea = nullptr
bool mScrollOnExpand
bool mShiftDown
bool mShown
QString mSyncGroup
QWidget * mSyncParent = nullptr
bool mTitleClicked

Detailed Description

A groupbox that collapses/expands when toggled and can save its collapsed and checked states.

By default, it auto-saves only its collapsed state to the global settings based on the widget and its parent names.

Holding Alt modifier key when toggling collapsed state will synchronize the toggling across other collapsible group boxes with the same syncGroup QString value

Holding Shift modifier key when attempting to toggle collapsed state will expand current group box, then collapse any others with the same syncGroup QString value

See also
QgsCollapsibleGroupBoxBasic which does not auto-save states
Note
To add Collapsible properties in promoted QtDesigner widgets, you can add the following "Dynamic properties" by clicking on the green + in the properties palette: bool collapsed, bool saveCollapsedState, bool saveCheckedState, QString syncGroup

Definition at line 195 of file qgscollapsiblegroupbox.h.

Constructor & Destructor Documentation

◆ QgsCollapsibleGroupBox() [1/2]

QgsCollapsibleGroupBox::QgsCollapsibleGroupBox ( QWidget * parent = nullptr,
QgsSettings * settings = nullptr )

Definition at line 491 of file qgscollapsiblegroupbox.cpp.

◆ QgsCollapsibleGroupBox() [2/2]

QgsCollapsibleGroupBox::QgsCollapsibleGroupBox ( const QString & title,
QWidget * parent = nullptr,
QgsSettings * settings = nullptr )

Definition at line 498 of file qgscollapsiblegroupbox.cpp.

◆ ~QgsCollapsibleGroupBox()

QgsCollapsibleGroupBox::~QgsCollapsibleGroupBox ( )
override

Definition at line 505 of file qgscollapsiblegroupbox.cpp.

Member Function Documentation

◆ loadState

void QgsCollapsibleGroupBox::loadState ( )
protectedslot

Will load the collapsed and checked state.

The configuration path from which it is loaded is defined by

  • The object name
  • The settingGroup

Definition at line 587 of file qgscollapsiblegroupbox.cpp.

◆ saveCheckedState()

bool QgsCollapsibleGroupBox::saveCheckedState ( ) const
inline

Returns whether the checked state of this group box is saved and loaded persistently in QgsSettings.

Definition at line 235 of file qgscollapsiblegroupbox.h.

◆ saveCollapsedState()

bool QgsCollapsibleGroupBox::saveCollapsedState ( ) const
inline

Returns whether the collapsed state of this group box is saved and loaded persistently in QgsSettings.

Definition at line 230 of file qgscollapsiblegroupbox.h.

◆ saveKey()

QString QgsCollapsibleGroupBox::saveKey ( ) const
protected

Definition at line 565 of file qgscollapsiblegroupbox.cpp.

◆ saveState

void QgsCollapsibleGroupBox::saveState ( ) const
protectedslot

Will save the collapsed and checked state.

The configuration path to which it is saved is defined by

  • The object name
  • The settingGroup

Definition at line 617 of file qgscollapsiblegroupbox.cpp.

◆ setSaveCheckedState()

void QgsCollapsibleGroupBox::setSaveCheckedState ( bool save)
inline

Set this to true to save/restore checked state.

Note
only turn on mSaveCheckedState for groupboxes NOT used in multiple places or used as options for different parent objects

Definition at line 225 of file qgscollapsiblegroupbox.h.

◆ setSaveCollapsedState()

void QgsCollapsibleGroupBox::setSaveCollapsedState ( bool save)
inline

Sets this to false to not save/restore collapsed state.

Definition at line 218 of file qgscollapsiblegroupbox.h.

◆ setSettingGroup()

void QgsCollapsibleGroupBox::setSettingGroup ( const QString & group)
inline

Sets this to a defined string to share save/restore states across different parent dialogs.

Definition at line 238 of file qgscollapsiblegroupbox.h.

◆ setSettings()

void QgsCollapsibleGroupBox::setSettings ( QgsSettings * settings)

Definition at line 513 of file qgscollapsiblegroupbox.cpp.

◆ settingGroup()

QString QgsCollapsibleGroupBox::settingGroup ( ) const
inline

Returns the name of the setting group in which the collapsed state will be saved.

Definition at line 240 of file qgscollapsiblegroupbox.h.

◆ showEvent()

void QgsCollapsibleGroupBox::showEvent ( QShowEvent * event)
overrideprotected

Definition at line 544 of file qgscollapsiblegroupbox.cpp.

Property Documentation

◆ saveCheckedState

bool QgsCollapsibleGroupBox::saveCheckedState
readwrite

Shall the checked state of this group box be saved and loaded persistently in QgsSettings.

Definition at line 207 of file qgscollapsiblegroupbox.h.

◆ saveCollapsedState

bool QgsCollapsibleGroupBox::saveCollapsedState
readwrite

Shall the collapsed state of this group box be saved and loaded persistently in QgsSettings.

Definition at line 202 of file qgscollapsiblegroupbox.h.


The documentation for this class was generated from the following files: