25 #include "../WQtGui.h"
26 #include "../WMainWindow.h"
28 #include "core/common/WLogger.h"
30 #include "WQtDockWidget.h"
31 #include "WQtDockTitleWidget.h"
33 #define MagicWidgetMinSize 24
37 m_dockParent( parent )
44 btn->setToolButtonStyle( Qt::ToolButtonIconOnly );
45 btn->setAutoRaise(
true );
50 widget->setContentsMargins( 0, 0, 0, 0 );
51 widget->setFixedHeight( MagicWidgetMinSize );
52 widget->setMinimumSize( MagicWidgetMinSize, MagicWidgetMinSize );
53 widget->setSizePolicy( QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Fixed ) );
59 QHBoxLayout* titleWidgetLayout =
new QHBoxLayout(
this );
60 titleWidgetLayout->setMargin( 0 );
61 titleWidgetLayout->setSpacing( 0 );
62 setSizePolicy( QSizePolicy( QSizePolicy::Ignored, QSizePolicy::Fixed ) );
66 m_title->setTextInteractionFlags( Qt::NoTextInteraction );
71 connect( closeAction, SIGNAL( triggered(
bool ) ),
m_dockParent, SLOT( close() ) );
75 m_closeBtn->setMinimumSize( MagicWidgetMinSize, MagicWidgetMinSize );
76 m_closeBtn->setMaximumSize( MagicWidgetMinSize, MagicWidgetMinSize );
82 m_tools->setSizePolicy( QSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed ) );
85 m_tools->setContentsMargins( 0, 0, 0, 0 );
86 m_tools->setMinimumSize( 1, MagicWidgetMinSize );
101 m_moreBtn->setPopupMode( QToolButton::InstantPopup );
104 QWidgetAction* moreAction =
new QWidgetAction(
m_toolsMenu );
106 moreMenu->addAction( moreAction );
112 connect( helpAction, SIGNAL( triggered(
bool ) ),
m_dockParent, SLOT( showHelp() ) );
113 m_helpBtn->setDefaultAction( helpAction );
116 m_helpBtn->setMinimumSize( MagicWidgetMinSize, MagicWidgetMinSize );
117 m_helpBtn->setMaximumSize( MagicWidgetMinSize, MagicWidgetMinSize );
121 titleWidgetLayout->addWidget(
m_title );
122 titleWidgetLayout->addStretch( 1 );
123 titleWidgetLayout->addWidget(
m_tools );
124 titleWidgetLayout->addWidget(
m_moreBtn );
125 titleWidgetLayout->addWidget(
m_helpBtn );
132 QWidget::resizeEvent( event );
137 QToolButton* actionBtn =
new QToolButton(
this );
138 actionBtn->setDefaultAction( action );
144 actionBtn->setPopupMode( QToolButton::InstantPopup );
188 QToolButton* btn = NULL;
191 QToolButton* btnCandidate =
dynamic_cast< QToolButton*
>( *i );
192 if( btnCandidate && ( btnCandidate->defaultAction() == action ) )
204 QFrame* line =
new QFrame();
205 line->setFrameShape( QFrame::VLine );
206 line->setFrameShadow( QFrame::Sunken );
207 line->setFixedWidth( 5 );
224 int curWidth = minRequired;
230 curWidth += ( *i )->sizeHint().width();
231 if( curWidth >= width )
234 currentList = &hidden;
236 currentList->push_back( *i );
254 m_moreBtn->setHidden( !( hidden.size() ) );
static WMainWindow * getMainWindow()
Returns the current main window instance or NULL if not existent.
Special Label that can shrink and expand in a layout.
virtual size_t calculateSize(size_t chars) const
Calculate the size that is needed for the given number of chars.