#include <qtoolbar_p.h>
Inheritance diagram for QToolBarPrivate:


Definition at line 54 of file qtoolbar_p.h.
Public Member Functions | |
| QToolBarPrivate () | |
| void | init () |
| void | actionTriggered () |
| void | _q_toggleView (bool b) |
| void | _q_updateIconSize (const QSize &sz) |
| void | _q_updateToolButtonStyle (Qt::ToolButtonStyle style) |
| QToolBarItem | createItem (QAction *action) |
| int | indexOf (QAction *action) const |
Public Attributes | |
| bool | explicitIconSize |
| bool | explicitToolButtonStyle |
| bool | movable |
| Qt::ToolBarAreas | allowedAreas |
| Qt::Orientation | orientation |
| Qt::ToolButtonStyle | toolButtonStyle |
| QSize | iconSize |
| QToolBarHandle * | handle |
| QToolBarExtension * | extension |
| QList< QToolBarItem > | items |
| QAction * | toggleViewAction |
| bool | inResizeEvent |
| QToolBarPrivate::QToolBarPrivate | ( | ) | [inline] |
Definition at line 59 of file qtoolbar_p.h.
00060 : explicitIconSize(false), explicitToolButtonStyle(false), movable(false), 00061 allowedAreas(Qt::AllToolBarAreas), orientation(Qt::Horizontal), 00062 toolButtonStyle(Qt::ToolButtonIconOnly), 00063 handle(0), extension(0), 00064 inResizeEvent(false) 00065 { }
| void QToolBarPrivate::init | ( | ) |
Definition at line 181 of file qtoolbar.cpp.
References _q_toggleView(), QLayout::addWidget(), Qt::AlignLeft, QPalette::Button, QObject::connect(), QSizePolicy::Expanding, extension, getStyleOption(), handle, QWidget::hide(), iconSize, QWidgetPrivate::layout, QBoxLayout::LeftToRight, QSizePolicy::Minimum, movable, Qt::NoFocus, QStyle::pixelMetric(), QStyle::PM_ToolBarFrameWidth, QStyle::PM_ToolBarIconSize, QStyle::PM_ToolBarItemMargin, QStyle::PM_ToolBarItemSpacing, QLayout::setAlignment(), QAction::setCheckable(), QWidget::setFocusPolicy(), QLayout::setMargin(), QLayout::setSpacing(), QWidget::setVisible(), SIGNAL, SLOT, and toggleViewAction.
00182 { 00183 Q_Q(QToolBar); 00184 movable = true; 00185 q->setSizePolicy(QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Expanding)); 00186 q->setBackgroundRole(QPalette::Button); 00187 00188 00189 QStyleOptionToolBar opt = getStyleOption(q); 00190 00191 QBoxLayout *layout = new QBoxLayout(QBoxLayout::LeftToRight, q); 00192 QStyle *style = q->style(); 00193 00194 int e = style->pixelMetric(QStyle::PM_ToolBarIconSize); 00195 iconSize = QSize(e, e); 00196 00197 layout->setAlignment(Qt::AlignLeft); 00198 layout->setMargin(style->pixelMetric(QStyle::PM_ToolBarFrameWidth, &opt, q) 00199 + style->pixelMetric(QStyle::PM_ToolBarItemMargin, &opt, q)); 00200 layout->setSpacing(style->pixelMetric(QStyle::PM_ToolBarItemSpacing, &opt, q)); 00201 00202 handle = new QToolBarHandle(q); 00203 QObject::connect(q, SIGNAL(orientationChanged(Qt::Orientation)), 00204 handle, SLOT(setOrientation(Qt::Orientation))); 00205 layout->addWidget(handle); 00206 handle->setVisible(movable && (qobject_cast<QMainWindow *>(q->parentWidget()) != 0)); 00207 00208 extension = new QToolBarExtension(q); 00209 QObject::connect(q, SIGNAL(orientationChanged(Qt::Orientation)), 00210 extension, SLOT(setOrientation(Qt::Orientation))); 00211 extension->setFocusPolicy(Qt::NoFocus); 00212 extension->hide(); 00213 00214 #ifdef Q_WS_MAC 00215 if (q->parentWidget() && q->parentWidget()->isWindow()) { 00216 // Make sure that the window has the "toolbar" button. 00217 reinterpret_cast<QToolBar *>(q->parentWidget())->d_func()->createWinId(); // Please let me create your winId... 00218 extern WindowPtr qt_mac_window_for(const QWidget *); // qwidget_mac.cpp 00219 ChangeWindowAttributes(qt_mac_window_for(q->parentWidget()), kWindowToolbarButtonAttribute, 00220 kWindowNoAttributes); 00221 } 00222 #endif 00223 00224 toggleViewAction = new QAction(q); 00225 toggleViewAction->setCheckable(true); 00226 QObject::connect(toggleViewAction, SIGNAL(triggered(bool)), q, SLOT(_q_toggleView(bool))); 00227 }
Here is the call graph for this function:

| void QToolBarPrivate::actionTriggered | ( | ) |
Referenced by createItem().
| void QToolBarPrivate::_q_toggleView | ( | bool | b | ) |
| void QToolBarPrivate::_q_updateIconSize | ( | const QSize & | sz | ) |
Definition at line 240 of file qtoolbar.cpp.
References explicitIconSize.
00241 { 00242 Q_Q(QToolBar); 00243 if (!explicitIconSize) { 00244 // iconSize not explicitly set 00245 q->setIconSize(sz); 00246 explicitIconSize = false; 00247 } 00248 }
| void QToolBarPrivate::_q_updateToolButtonStyle | ( | Qt::ToolButtonStyle | style | ) |
Definition at line 250 of file qtoolbar.cpp.
References explicitToolButtonStyle.
00251 { 00252 Q_Q(QToolBar); 00253 if (!explicitToolButtonStyle) { 00254 q->setToolButtonStyle(style); 00255 explicitToolButtonStyle = false; 00256 } 00257 }
| QToolBarItem QToolBarPrivate::createItem | ( | QAction * | action | ) |
Definition at line 259 of file qtoolbar.cpp.
References QToolBarItem::action, actionTriggered(), QObject::connect(), QToolBarItem::hasCustomWidget, QToolBarItem::hidden, iconSize, QAction::isSeparator(), Qt::NoFocus, QWidgetAction::requestWidget(), QToolButton::setAutoRaise(), QToolButton::setDefaultAction(), QWidget::setFocusPolicy(), QAbstractButton::setIconSize(), QToolButton::setToolButtonStyle(), SIGNAL, SLOT, toolButtonStyle, and QToolBarItem::widget.
00260 { 00261 Q_Q(QToolBar); 00262 QToolBarItem item; 00263 item.action = action; 00264 item.hidden = false; 00265 item.hasCustomWidget = false; 00266 00267 QWidgetAction *widgetAction = qobject_cast<QWidgetAction *>(action); 00268 if (widgetAction) { 00269 item.widget = widgetAction->requestWidget(q); 00270 if (item.widget) { 00271 item.hasCustomWidget = true; 00272 return item; 00273 } 00274 } 00275 if (action->isSeparator()) { 00276 item.widget = new QToolBarSeparator(q); 00277 QObject::connect(q, SIGNAL(orientationChanged(Qt::Orientation)), 00278 item.widget, SLOT(setOrientation(Qt::Orientation))); 00279 } else { 00280 QToolButton *button = new QToolButton(q); 00281 button->setAutoRaise(true); 00282 button->setFocusPolicy(Qt::NoFocus); 00283 button->setIconSize(iconSize); 00284 button->setToolButtonStyle(toolButtonStyle); 00285 QObject::connect(q, SIGNAL(iconSizeChanged(QSize)), 00286 button, SLOT(setIconSize(QSize))); 00287 QObject::connect(q, SIGNAL(toolButtonStyleChanged(Qt::ToolButtonStyle)), 00288 button, SLOT(setToolButtonStyle(Qt::ToolButtonStyle))); 00289 button->setDefaultAction(action); 00290 QObject::connect(button, SIGNAL(triggered(QAction*)), q, SIGNAL(actionTriggered(QAction*))); 00291 item.widget = button; 00292 } 00293 00294 return item; 00295 }
Here is the call graph for this function:

| int QToolBarPrivate::indexOf | ( | QAction * | action | ) | const |
Definition at line 301 of file qtoolbar.cpp.
References QList< T >::at(), i, items, and QList< T >::size().
00302 { 00303 for (int i = 0; i < items.size(); ++i) { 00304 const QToolBarItem &item = items.at(i); 00305 if (item.action == action) 00306 return i; 00307 } 00308 return -1; 00309 }
Here is the call graph for this function:

| Qt::ToolBarAreas QToolBarPrivate::allowedAreas |
Definition at line 78 of file qtoolbar_p.h.
Definition at line 79 of file qtoolbar_p.h.
Definition at line 90 of file qtoolbar_p.h.
1.5.1