#include <qabstractscrollarea_p.h>
Inheritance diagram for QAbstractScrollAreaScrollBarContainer:


Definition at line 95 of file qabstractscrollarea_p.h.
Public Types | |
| enum | LogicalPosition |
Public Member Functions | |
| QAbstractScrollAreaScrollBarContainer (Qt::Orientation orientation, QWidget *parent) | |
| void | addWidget (QWidget *widget, LogicalPosition position) |
| QWidgetList | widgets (LogicalPosition position) |
| void | removeWidget (QWidget *widget) |
Public Attributes | |
| QScrollBar * | scrollBar |
| QBoxLayout * | layout |
Private Member Functions | |
| int | scrollBarLayoutIndex () const |
Private Attributes | |
| Qt::Orientation | orientation |
| QAbstractScrollAreaScrollBarContainer::QAbstractScrollAreaScrollBarContainer | ( | Qt::Orientation | orientation, | |
| QWidget * | parent | |||
| ) |
Definition at line 102 of file qabstractscrollarea.cpp.
References QLayout::addWidget(), QWidget::layout(), scrollBar, QWidget::setLayout(), QLayout::setMargin(), and QLayout::setSpacing().
00103 :QWidget(parent), scrollBar(new QScrollBar(orientation, this)), 00104 layout(new QBoxLayout(orientation == Qt::Horizontal ? QBoxLayout::LeftToRight : QBoxLayout::TopToBottom)), 00105 orientation(orientation) 00106 { 00107 setLayout(layout); 00108 layout->setMargin(0); 00109 layout->setSpacing(0); 00110 layout->addWidget(scrollBar); 00111 }
Here is the call graph for this function:

| void QAbstractScrollAreaScrollBarContainer::addWidget | ( | QWidget * | widget, | |
| LogicalPosition | position | |||
| ) |
Definition at line 116 of file qabstractscrollarea.cpp.
References QSizePolicy::Ignored, QWidget::layout(), LogicalLeft, orientation, scrollBarLayoutIndex(), QSizePolicy::setHorizontalPolicy(), QWidget::setParent(), QWidget::setSizePolicy(), QSizePolicy::setVerticalPolicy(), QWidget::sizePolicy(), and Qt::Vertical.
00117 { 00118 QSizePolicy policy = widget->sizePolicy(); 00119 if (orientation == Qt::Vertical) 00120 policy.setHorizontalPolicy(QSizePolicy::Ignored); 00121 else 00122 policy.setVerticalPolicy(QSizePolicy::Ignored); 00123 widget->setSizePolicy(policy); 00124 widget->setParent(this); 00125 00126 const int insertIndex = (position & LogicalLeft) ? 0 : scrollBarLayoutIndex() + 1; 00127 layout->insertWidget(insertIndex, widget); 00128 }
Here is the call graph for this function:

| QWidgetList QAbstractScrollAreaScrollBarContainer::widgets | ( | LogicalPosition | position | ) |
Definition at line 134 of file qabstractscrollarea.cpp.
References QList< T >::append(), QLayout::count(), i, QLayout::itemAt(), QWidget::layout(), LogicalLeft, LogicalRight, scrollBarLayoutIndex(), and QLayoutItem::widget().
00135 { 00136 QWidgetList list; 00137 const int scrollBarIndex = scrollBarLayoutIndex(); 00138 if (position == LogicalLeft) { 00139 for (int i = 0; i < scrollBarIndex; ++i) 00140 list.append(layout->itemAt(i)->widget()); 00141 } else if (position == LogicalRight) { 00142 const int layoutItemCount = layout->count(); 00143 for (int i = scrollBarIndex + 1; i < layoutItemCount; ++i) 00144 list.append(layout->itemAt(i)->widget()); 00145 } 00146 return list; 00147 }
Here is the call graph for this function:

| void QAbstractScrollAreaScrollBarContainer::removeWidget | ( | QWidget * | widget | ) |
| int QAbstractScrollAreaScrollBarContainer::scrollBarLayoutIndex | ( | ) | const [private] |
Definition at line 155 of file qabstractscrollarea.cpp.
References QLayout::count(), i, QLayout::itemAt(), QWidget::layout(), and QLayoutItem::widget().
Referenced by addWidget(), and widgets().
00156 { 00157 const int layoutItemCount = layout->count(); 00158 for (int i = 0; i < layoutItemCount; ++i) { 00159 if (qobject_cast<QScrollBar *>(layout->itemAt(i)->widget())) 00160 return i; 00161 } 00162 return -1; 00163 }
Here is the call graph for this function:

Definition at line 105 of file qabstractscrollarea_p.h.
Referenced by QAbstractScrollAreaPrivate::init(), QAbstractScrollAreaScrollBarContainer(), and QAbstractScrollAreaPrivate::replaceScrollBar().
Definition at line 106 of file qabstractscrollarea_p.h.
Referenced by QAbstractScrollAreaPrivate::replaceScrollBar().
1.5.1