Public Slots | Public Member Functions | Protected Member Functions | Properties | Friends

QxtGroupBox Class Reference
[QxtGui]

A collapsive and checkable QGroupBox. More...

#include <qxtgroupbox.h>

Collaboration diagram for QxtGroupBox:
Collaboration graph
[legend]

List of all members.

Public Slots

void setCollapsed (bool collapsed=true)
void setExpanded (bool expanded=true)

Public Member Functions

 QxtGroupBox (QWidget *parent=0)
 QxtGroupBox (const QString &title, QWidget *parent=0)
virtual ~QxtGroupBox ()
bool isCollapsive () const
void setCollapsive (bool enabled)

Protected Member Functions

virtual void childEvent (QChildEvent *event)

Properties

bool collapsive
 This property holds whether the group box is collapsive.

Friends

class QxtGroupBoxPrivate

Detailed Description

A collapsive and checkable QGroupBox.

QxtGroupBox is a checkable group box automatically expanding/collapsing its content according to the check state. QxtGroupBox shows its children when checked and hides its children when unchecked.

qxtgroupbox.png

Two QxtGroupBoxes - an expanded and a collapsed - on top of each other.

Definition at line 34 of file qxtgroupbox.h.


Constructor & Destructor Documentation

QxtGroupBox::QxtGroupBox ( QWidget *  parent = 0 ) [explicit]

Constructs a new QxtGroupBox with parent.

Definition at line 58 of file qxtgroupbox.cpp.

References QXT_INIT_PRIVATE, and setExpanded().

        : QGroupBox(parent)
{
    QXT_INIT_PRIVATE(QxtGroupBox);
    setCheckable(true);
    setChecked(true);
    connect(this, SIGNAL(toggled(bool)), this, SLOT(setExpanded(bool)));

}
QxtGroupBox::QxtGroupBox ( const QString &  title,
QWidget *  parent = 0 
) [explicit]

Constructs a new QxtGroupBox with title and parent.

Definition at line 71 of file qxtgroupbox.cpp.

References QXT_INIT_PRIVATE, and setExpanded().

        : QGroupBox(title, parent)
{
    QXT_INIT_PRIVATE(QxtGroupBox);
    setCheckable(true);
    setChecked(true);
    connect(this, SIGNAL(toggled(bool)), this, SLOT(setExpanded(bool)));
}
QxtGroupBox::~QxtGroupBox (  ) [virtual]

Destructs the group box.

Definition at line 83 of file qxtgroupbox.cpp.

{}

Member Function Documentation

void QxtGroupBox::childEvent ( QChildEvent *  event ) [protected, virtual]

Definition at line 148 of file qxtgroupbox.cpp.

{
    QObject* child = event->child();
    if (event->added() && child->isWidgetType())
    {
        QWidget* widget = static_cast<QWidget*>(child);
        if (qxt_d().collapsive && !isChecked())
            widget->hide();
    }
}
bool QxtGroupBox::isCollapsive (  ) const

Definition at line 90 of file qxtgroupbox.cpp.

{
    return qxt_d().collapsive;
}
void QxtGroupBox::setCollapsed ( bool  collapsed = true ) [slot]

Sets the group box collapsed.

A collapsed group box hides its children.

See also:
setExpanded(), QGroupBox::toggled()

Definition at line 114 of file qxtgroupbox.cpp.

References setExpanded().

{
    setExpanded(!collapsed);
}
void QxtGroupBox::setCollapsive ( bool  enabled )

Definition at line 95 of file qxtgroupbox.cpp.

References collapsive, and setExpanded().

{
    if (qxt_d().collapsive != enable)
    {
        qxt_d().collapsive = enable;
        if (!enable)
            setExpanded(true);
        else if (!isChecked())
            setExpanded(false);
    }
}
void QxtGroupBox::setExpanded ( bool  expanded = true ) [slot]

Sets the group box expanded.

An expanded group box shows its children.

See also:
setCollapsed(), QGroupBox::toggled()

Definition at line 126 of file qxtgroupbox.cpp.

References collapsive.

Referenced by QxtGroupBox(), setCollapsed(), and setCollapsive().

{
    if (qxt_d().collapsive || expanded)
    {
        // show/hide direct children
        foreach(QObject* child, children())
        {
            if (child->isWidgetType())
                static_cast<QWidget*>(child)->setVisible(expanded);
        }
        if (expanded) {
          setFlat(qxt_d().flat);
        } else {
          qxt_d().flat = isFlat();
          setFlat(true);
        }
    }
}

Friends And Related Function Documentation

friend class QxtGroupBoxPrivate [friend]

Definition at line 37 of file qxtgroupbox.h.


Property Documentation

QxtGroupBox::collapsive [read, write]

This property holds whether the group box is collapsive.

Definition at line 37 of file qxtgroupbox.h.

Referenced by setCollapsive(), and setExpanded().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines