/*!
@~chinese
@file darrowbutton.h
@ingroup dtkwidget
@class Dtk::Widget::DArrowButton
@brief 可以使用 DArrowButton 类快速创建箭头形状的按钮。
@details DArrowButton 提供了快速的方式创建包含箭头标识的按钮，并允许通过 setArrowDirection() 设置箭头方向来直接改按钮的箭头图标的方向。
此外，还可以通过 arrowButtonDirection 和 arrowButtonState 属性获取和修改箭头按钮的状态。
@sa QLabel

@enum Dtk::Widget::DArrowButton::ArrowDirection
@brief 表示箭头图标的方向
@var Dtk::Widget::DArrowButton::ArrowDirection Dtk::Widget::DArrowButton::ArrowUp
@brief 箭头朝上
@var Dtk::Widget::DArrowButton::ArrowDirection Dtk::Widget::DArrowButton::ArrowDown
@brief 箭头朝下
@var Dtk::Widget::DArrowButton::ArrowDirection Dtk::Widget::DArrowButton::ArrowLeft
@brief 箭头朝左
@var Dtk::Widget::DArrowButton::ArrowDirection Dtk::Widget::DArrowButton::ArrowRight
@brief 箭头朝右

@enum Dtk::Widget::DArrowButton::ArrowButtonState
@brief 表示箭头图标的方向
@var Dtk::Widget::DArrowButton::ArrowButtonState Dtk::Widget::DArrowButton::ArrowStateNormal
@brief 普通状态
@var Dtk::Widget::DArrowButton::ArrowButtonState Dtk::Widget::DArrowButton::ArrowStateHover
@brief 鼠标在按钮上方悬停状态
@var Dtk::Widget::DArrowButton::ArrowButtonState Dtk::Widget::DArrowButton::ArrowStatePress
@brief 按钮被按下状态

@fn  DArrowButton::DArrowButton(QWidget *parent) : QLabel(parent)
@brief 构造一个 DArrowButton 箭头按钮，默认箭头方向向下
@param parent 父控件指针.

@fn void DArrowButton::setArrowDirection(ArrowDirection direction)
@brief 设置按钮的箭头方向.
@param direction 箭头的方向.
@sa DArrowButton::ArrowDirection DArrowButton::arrowDirection()

@fn int DArrowButton::arrowDirection() const
@brief 获取箭头方向.
@return 返回箭头方向.

@fn int DArrowButton::buttonState() const
@brief 获得按钮状态
@return 返回按钮的状态.

@fn void DArrowButton::setButtonState(ArrowButtonState state)
@brief 设置按钮状态
@param state 箭头按钮的状态.

@fn void DArrowButton::updateIconDirection(ArrowDirection direction)
@brief 更新箭头按钮中箭头的方向

@fn void DArrowButton::updateIconState(ArrowButtonState state)
@brief 更新箭头按钮中图标的状态
*/
/*!
@~chinese
@file darrowbutton.h
@ingroup dtkwidget
@class Dtk::Widget::ArrowButtonIcon

@fn ArrowButtonIcon::ArrowButtonIcon(QWidget *parent)
@brief 构造一个 ArrowButtonIcon 箭头按钮，默认箭头方向向下
@details ArrowButtonIcon默认设置了`Qt::WA_TransparentForMouseEvents`属性
当该属性被激活启用时，将会使所有发送到窗体和窗体内部子控件的鼠标事件无效。
鼠标事件被分发到其它的窗体部件，就像本窗体部件及本窗体内的子控件没有出现在窗体层次体系中。
鼠标单击和鼠标其它事件穿过（即绕开）本窗体部件及其内的子控件，这个属性默认是开启的。
(说人话就是透明点击)

@fn void ArrowButtonIcon::setArrowDirection(int direction)
@brief 设置按钮的箭头方向.
@param[in] direction 箭头的方向.

@fn int ArrowButtonIcon::arrowDirection() const
@brief 获取箭头方向.

@fn int ArrowButtonIcon::buttonState() const
@brief 获得按钮状态

@fn void ArrowButtonIcon::setButtonState(int state)
@brief 设置按钮状态
@param[in] state 箭头按钮的状态.

*/
