/*!
@~chinese
@file dbaseexpand.h
@ingroup dtkwidget

@class Dtk::Widget::DBaseExpand
@brief 一个美观的可展开的控件.
@details 使用 DBaseExpand 类可以创建一个可展开的带有展开动画效果的控件，这个控件包含上下两部分，上面的控件为标题控件，这个控件会始终显示，下面的控件为内容控件，默认为不会显示，调用 DBaseExpand::setExpand 设置内容控件的可见性。
使用 DBaseExpand::setHeader 和 DBaseExpand::setContent 设置分别设置标题控件和内容控件。
@sa DHeaderLine
@image html DBaseExpand.gif

@fn void DBaseExpand::expandChange(bool e)
@brief 内容控件可见性发生改变的信号
@param[in] e 为 true 表示内容控件变为了可见，反之则反

@fn DBaseExpand::DBaseExpand(QWidget *parent)
@brief 获取 DBaseExpand::DBaseExpand 实例
@param[in] parent 作为实例的父控件

@fn void DBaseExpand::setHeader(QWidget *header)
@brief 设置标题控件
@note 标题控件会始终显示在布局里
@param[in] header 标题控件

@fn void DBaseExpand::setContent(QWidget *content, Qt::Alignment alignment)
@brief 设置内容控件
@note 内容控件默认是隐藏的，调用 DBaseExpand::setExpand 设置其可见性
@param[in] content 内容控件
@param[in] alignment 内容控件在布局中的对齐方式

@fn QWidget *DBaseExpand::getContent() const
@brief 获取内容控件对象
@return 内容控件对象

@fn void DBaseExpand::setHeaderHeight(int height)
@brief 设置标题控件的高度
@param[in] height 指定的高度

@fn void DBaseExpand::setExpand(bool value)
@brief 设置内容控件的可见性
@param[in] value 为 true 则内容控件可见，反之则反

@fn bool DBaseExpand::expand() const
@brief 获取当前内容控件的可见性
@return 当前内容控件的可见性

@fn void DBaseExpand::setAnimationDuration(int duration)
@brief 设置内容控件的可见性改变时动画的时间 
@param[in] duration 指定动画时间

@fn void DBaseExpand::setAnimationEasingCurve(QEasingCurve curve)
@brief 设置内容控件的可见性改变时动画的样式
@param[in] curve 指定动画样式

@fn void DBaseExpand::setSeparatorVisible(bool arg)
@brief 设置是否允许标题控件与内容控件之间的分割线 
@param[in] arg 为 ture 则显示分割线，反之则反

@fn void DBaseExpand::setExpandedSeparatorVisible(bool arg)
@brief 设置是否允许内容控件下的分割线
@param[in] arg 为 ture 则显示分割线，反之则反

*/

