Brief description of class still missing. More...
#include <ExpandTabTitle.h>
Signals | |
| void | addActions (QMenu *) |
| void | dock () |
| void | moveDown () |
| void | moveUp () |
| void | resize (int dy) |
Public Member Functions | |
| QWidget * | content () const |
| bool | docked () const |
| bool | expanded () const |
| ExpandTabTitle (QWidget *parent=0) | |
| void | setContent (QWidget *w) |
| void | setDocked (bool d) |
| void | setExpanded (bool e) |
| void | setTitle (QString t) |
| QString | title () const |
| ~ExpandTabTitle () | |
Protected Member Functions | |
| virtual void | contextMenuEvent (QContextMenuEvent *e) |
| virtual QSize | minimumSizeHint () const |
| virtual void | mouseMoveEvent (QMouseEvent *e) |
| virtual void | mousePressEvent (QMouseEvent *e) |
| virtual void | mouseReleaseEvent (QMouseEvent *e) |
| virtual void | paintEvent (QPaintEvent *e) |
Properties | |
| bool | expanded |
| QString | title |
Brief description of class still missing.
Full description of class still missing
| QGpGuiTools::ExpandTabTitle::ExpandTabTitle | ( | QWidget * | parent = 0 | ) |
Description of constructor still missing
References TRACE.
: QWidget(parent)
{
TRACE;
_content=0;
_expanded=true;
_docked=true;
_expandHover=false;
_moveUpHover=false;
_moveDownHover=false;
_dockHover=false;
_expandPress=false;
_moveUpPress=false;
_moveDownPress=false;
_dockPress=false;
_resizeStart=-1;
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
}
| void QGpGuiTools::ExpandTabTitle::addActions | ( | QMenu * | ) | [signal] |
Referenced by contextMenuEvent().
| QWidget* QGpGuiTools::ExpandTabTitle::content | ( | ) | const [inline] |
| void QGpGuiTools::ExpandTabTitle::contextMenuEvent | ( | QContextMenuEvent * | e | ) | [protected, virtual] |
References addActions(), and TRACE.
{
TRACE;
QMenu m;
emit addActions(&m);
if(!m.actions().isEmpty())
m.exec(mapToGlobal( e->pos()) );
}
| void QGpGuiTools::ExpandTabTitle::dock | ( | ) | [signal] |
Referenced by mouseReleaseEvent().
| bool QGpGuiTools::ExpandTabTitle::docked | ( | ) | const [inline] |
| bool QGpGuiTools::ExpandTabTitle::expanded | ( | ) | const [inline] |
{return _expanded;}
| QSize QGpGuiTools::ExpandTabTitle::minimumSizeHint | ( | ) | const [protected, virtual] |
| void QGpGuiTools::ExpandTabTitle::mouseMoveEvent | ( | QMouseEvent * | e | ) | [protected, virtual] |
References contains(), resize(), and TRACE.
{
TRACE;
_expandHover=false;
_moveUpHover=false;
_moveDownHover=false;
if(_expandPress && expandRect().contains(e->pos()) ) {
_expandHover=true;
} else if(_moveUpPress && moveUpRect().contains(e->pos()) ) {
_moveUpHover=true;
} else if(_moveDownPress && moveDownRect().contains(e->pos()) ) {
_moveDownHover=true;
} else if(_dockPress && dockRect().contains(e->pos()) ) {
_dockHover=true;
} else if(_resizeStart>=0) {
emit resize(e->globalY()-_resizeStart);
_resizeStart=e->globalY();
}
update();
}
| void QGpGuiTools::ExpandTabTitle::mousePressEvent | ( | QMouseEvent * | e | ) | [protected, virtual] |
References contains(), and TRACE.
{
TRACE;
if(expandRect().contains(e->pos()) ) {
_expandPress=true;
_expandHover=true;
} else if(moveUpRect().contains(e->pos()) ) {
_moveUpPress=true;
_moveUpHover=true;
} else if(moveDownRect().contains(e->pos()) ) {
_moveDownPress=true;
_moveDownHover=true;
} else if(dockRect().contains(e->pos()) ) {
_dockPress=true;
_dockHover=true;
} else {
_resizeStart=e->globalY();
}
update();
}
| void QGpGuiTools::ExpandTabTitle::mouseReleaseEvent | ( | QMouseEvent * | e | ) | [protected, virtual] |
References dock(), moveDown(), moveUp(), setExpanded(), and TRACE.
{
TRACE;
if(_expandHover) {
setExpanded( !_expanded);
_expandHover=false;
} else if(_moveUpHover) {
emit moveUp();
_moveUpHover=false;
} else if(_moveDownHover) {
emit moveDown();
_moveDownHover=false;
} else if(_dockHover) {
emit dock();
_dockHover=false;
} else if(_resizeStart>=0) {
_resizeStart=-1;
}
_expandPress=false;
_moveUpPress=false;
_moveDownPress=false;
_dockPress=false;
update();
}
| void QGpGuiTools::ExpandTabTitle::moveDown | ( | ) | [signal] |
Referenced by mouseReleaseEvent().
| void QGpGuiTools::ExpandTabTitle::moveUp | ( | ) | [signal] |
Referenced by mouseReleaseEvent().
| void QGpGuiTools::ExpandTabTitle::paintEvent | ( | QPaintEvent * | e | ) | [protected, virtual] |
References TRACE.
{
TRACE;
QPainter p(this);
QStyleOptionButton option;
option.state=QStyle::State_Active;
#ifdef Q_WS_MAC
option.state |= QStyle::State_Raised;
#endif
option.state &= ~QStyle::State_HasFocus;
option.rect=rect();
option.palette=palette();
option.features=QStyleOptionButton::None;
style()->drawControl(QStyle::CE_PushButton, &option, &p, this);
QStyleOption buttonOption;
buttonOption.palette=palette();
// Expanded/Collapse button
buttonOption.rect=expandRect();
buttonOption.state=QStyle::State_Children;
if(_expandHover) {
buttonOption.rect.translate(1,1);
if(!_expanded) buttonOption.state |= QStyle::State_Open;
} else {
if(_expanded) buttonOption.state |= QStyle::State_Open;
}
style()->drawPrimitive(QStyle::PE_IndicatorBranch, &buttonOption, &p, this);
// Move up button
buttonOption.rect=moveUpRect();
if(_moveUpHover) buttonOption.rect.translate(1,1);
buttonOption.state=isEnabled() ? QStyle::State_Enabled : QStyle::State_None;
style()->drawPrimitive(QStyle::PE_IndicatorArrowUp, &buttonOption, &p, this);
// Move down button
buttonOption.rect=moveDownRect();
if(_moveDownHover) buttonOption.rect.translate(1,1);
style()->drawPrimitive(QStyle::PE_IndicatorArrowDown, &buttonOption, &p, this);
// Dock/Undock button
buttonOption.rect=dockRect();
if(_dockHover) buttonOption.rect.translate(1,1);
if(_docked)
style()->drawItemPixmap(&p, buttonOption.rect, Qt::AlignCenter, style()->standardPixmap(QStyle::SP_TitleBarNormalButton) );
else
style()->drawItemPixmap(&p, buttonOption.rect, Qt::AlignCenter, style()->standardPixmap(QStyle::SP_TitleBarMaxButton) );
// Title
QRect textrect=QRect(2*_spacing + _expandSize, 0, width() - 2*_upDownSize - _expandSize - 5*_spacing, height());
style()->drawItemText(&p, textrect, Qt::AlignCenter, palette(), isEnabled(), _title);
}
| void QGpGuiTools::ExpandTabTitle::resize | ( | int | dy | ) | [signal] |
Referenced by mouseMoveEvent().
| void QGpGuiTools::ExpandTabTitle::setContent | ( | QWidget * | w | ) | [inline] |
Referenced by QGpGuiTools::ExpandTabWidget::addWidget().
{_content=w;}
| void QGpGuiTools::ExpandTabTitle::setDocked | ( | bool | d | ) | [inline] |
Referenced by QGpGuiTools::ExpandTabWidget::restoreState().
{_docked=d;}
| void QGpGuiTools::ExpandTabTitle::setExpanded | ( | bool | e | ) |
References TRACE.
Referenced by mouseReleaseEvent(), and QGpGuiTools::ExpandTabWidget::restoreState().
{
TRACE;
if(e) {
if(_content) _content->show();
} else {
if(_content) _content->hide();
}
_expanded=e;
update();
}
| void QGpGuiTools::ExpandTabTitle::setTitle | ( | QString | t | ) | [inline] |
Referenced by QGpGuiTools::ExpandTabWidget::addWidget().
{_title=t;}
| QString QGpGuiTools::ExpandTabTitle::title | ( | ) | const [inline] |
{return _title;}
bool QGpGuiTools::ExpandTabTitle::expanded [read, write] |
Referenced by QGpGuiTools::ExpandTabWidget::saveState().
QString QGpGuiTools::ExpandTabTitle::title [read, write] |
Referenced by QGpGuiTools::ExpandTabWidget::restoreState().