QAbstractScrollAreaScrollBarContainer Class Reference

#include <qabstractscrollarea_p.h>

Inheritance diagram for QAbstractScrollAreaScrollBarContainer:

Inheritance graph
[legend]
Collaboration diagram for QAbstractScrollAreaScrollBarContainer:

Collaboration graph
[legend]
List of all members.

Detailed Description

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

QScrollBarscrollBar
QBoxLayoutlayout

Private Member Functions

int scrollBarLayoutIndex () const

Private Attributes

Qt::Orientation orientation


Member Enumeration Documentation

enum QAbstractScrollAreaScrollBarContainer::LogicalPosition

Definition at line 98 of file qabstractscrollarea_p.h.

00098 { LogicalLeft = 1, LogicalRight = 2 };


Constructor & Destructor Documentation

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().

Here is the call graph for this function:


Member Function Documentation

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:


Member Data Documentation

QScrollBar* QAbstractScrollAreaScrollBarContainer::scrollBar

Definition at line 105 of file qabstractscrollarea_p.h.

Referenced by QAbstractScrollAreaPrivate::init(), QAbstractScrollAreaScrollBarContainer(), and QAbstractScrollAreaPrivate::replaceScrollBar().

QBoxLayout* QAbstractScrollAreaScrollBarContainer::layout

Definition at line 106 of file qabstractscrollarea_p.h.

Referenced by QAbstractScrollAreaPrivate::replaceScrollBar().

Qt::Orientation QAbstractScrollAreaScrollBarContainer::orientation [private]

Definition at line 110 of file qabstractscrollarea_p.h.

Referenced by addWidget().


The documentation for this class was generated from the following files:
Generated on Thu Mar 15 16:43:14 2007 for Qt 4.2 User's Guide by  doxygen 1.5.1