Qt 4.8
qt-4.8.6
src
gui
widgets
qabstractscrollarea_p.h
Go to the documentation of this file.
1
/****************************************************************************
2
**
3
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
4
** Contact: http://www.qt-project.org/legal
5
**
6
** This file is part of the QtGui module of the Qt Toolkit.
7
**
8
** $QT_BEGIN_LICENSE:LGPL$
9
** Commercial License Usage
10
** Licensees holding valid commercial Qt licenses may use this file in
11
** accordance with the commercial license agreement provided with the
12
** Software or, alternatively, in accordance with the terms contained in
13
** a written agreement between you and Digia. For licensing terms and
14
** conditions see http://qt.digia.com/licensing. For further information
15
** use the contact form at http://qt.digia.com/contact-us.
16
**
17
** GNU Lesser General Public License Usage
18
** Alternatively, this file may be used under the terms of the GNU Lesser
19
** General Public License version 2.1 as published by the Free Software
20
** Foundation and appearing in the file LICENSE.LGPL included in the
21
** packaging of this file. Please review the following information to
22
** ensure the GNU Lesser General Public License version 2.1 requirements
23
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24
**
25
** In addition, as a special exception, Digia gives you certain additional
26
** rights. These rights are described in the Digia Qt LGPL Exception
27
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28
**
29
** GNU General Public License Usage
30
** Alternatively, this file may be used under the terms of the GNU
31
** General Public License version 3.0 as published by the Free Software
32
** Foundation and appearing in the file LICENSE.GPL included in the
33
** packaging of this file. Please review the following information to
34
** ensure the GNU General Public License version 3.0 requirements will be
35
** met: http://www.gnu.org/copyleft/gpl.html.
36
**
37
**
38
** $QT_END_LICENSE$
39
**
40
****************************************************************************/
41
42
#ifndef QABSTRACTSCROLLAREA_P_H
43
#define QABSTRACTSCROLLAREA_P_H
44
45
//
46
// W A R N I N G
47
// -------------
48
//
49
// This file is not part of the Qt API. It exists purely as an
50
// implementation detail. This header file may change from version to
51
// version without notice, or even be removed.
52
//
53
// We mean it.
54
//
55
56
#include "private/qframe_p.h"
57
#include "
qabstractscrollarea.h
"
58
59
QT_BEGIN_NAMESPACE
60
61
#ifndef QT_NO_SCROLLAREA
62
63
class
QScrollBar
;
64
class
QAbstractScrollAreaScrollBarContainer
;
65
class
Q_GUI_EXPORT
QAbstractScrollAreaPrivate
:
public
QFramePrivate
66
{
67
Q_DECLARE_PUBLIC
(
QAbstractScrollArea
)
68
69
public
:
70
QAbstractScrollAreaPrivate
();
71
72
void
replaceScrollBar(
QScrollBar
*scrollBar,
Qt::Orientation
orientation);
73
74
QAbstractScrollAreaScrollBarContainer
*scrollBarContainers[
Qt::Vertical
+ 1];
75
QScrollBar
*hbar, *
vbar
;
76
Qt::ScrollBarPolicy
vbarpolicy
, hbarpolicy;
77
78
QWidget
*
viewport
;
79
QWidget
*
cornerWidget
;
80
QRect
cornerPaintingRect
;
81
#ifdef Q_WS_MAC
82
QRect
reverseCornerPaintingRect
;
83
#endif
84
int
left
,
top
,
right
, bottom;
// viewport margin
85
86
int
xoffset,
yoffset
;
87
88
void
init
();
89
void
layoutChildren();
90
// ### Fix for 4.4, talk to Bjoern E or Girish.
91
virtual
void
scrollBarPolicyChanged
(
Qt::Orientation
,
Qt::ScrollBarPolicy
) {}
92
93
void
_q_hslide(
int
);
94
void
_q_vslide(
int
);
95
void
_q_showOrHideScrollBars();
96
97
virtual
QPoint
contentsOffset()
const
;
98
99
inline
bool
viewportEvent
(
QEvent
*
event
)
100
{
return
q_func()->viewportEvent(event); }
101
QScopedPointer<QObject>
viewportFilter
;
102
103
#ifdef Q_WS_WIN
104
bool
singleFingerPanEnabled
;
105
void
setSingleFingerPanEnabled(
bool
on =
true
);
106
#endif
107
};
108
109
class
QAbstractScrollAreaFilter
:
public
QObject
110
{
111
Q_OBJECT
112
public
:
113
QAbstractScrollAreaFilter
(
QAbstractScrollAreaPrivate
*p) :
d
(p)
114
{ setObjectName(
QLatin1String
(
"qt_abstractscrollarea_filter"
)); }
115
bool
eventFilter
(
QObject
*o,
QEvent
*e)
116
{
return
(o ==
d
->viewport ?
d
->viewportEvent(e) :
false
); }
117
private
:
118
QAbstractScrollAreaPrivate
*
d
;
119
};
120
121
class
QBoxLayout
;
122
class
QAbstractScrollAreaScrollBarContainer
:
public
QWidget
123
{
124
public
:
125
enum
LogicalPosition
{ LogicalLeft = 1, LogicalRight = 2 };
126
127
QAbstractScrollAreaScrollBarContainer
(
Qt::Orientation
orientation,
QWidget
*parent);
128
void
addWidget(
QWidget
*
widget
,
LogicalPosition
position
);
129
QWidgetList
widgets(
LogicalPosition
position);
130
void
removeWidget(
QWidget
*widget);
131
132
QScrollBar
*
scrollBar
;
133
QBoxLayout
*
layout
;
134
private
:
135
int
scrollBarLayoutIndex()
const
;
136
137
Qt::Orientation
orientation
;
138
};
139
140
#endif // QT_NO_SCROLLAREA
141
142
QT_END_NAMESPACE
143
144
#endif // QABSTRACTSCROLLAREA_P_H
d
double d
Definition:
qnumeric_p.h:62
QBoxLayout
The QBoxLayout class lines up child widgets horizontally or vertically.
Definition:
qboxlayout.h:60
QT_END_NAMESPACE
#define QT_END_NAMESPACE
This macro expands to.
Definition:
qglobal.h:90
event
EventRef event
Definition:
qapplication_mac.mm:880
widget
QPointer< QWidget > widget
Definition:
qapplication_mac.mm:879
QAbstractScrollAreaFilter::QAbstractScrollAreaFilter
QAbstractScrollAreaFilter(QAbstractScrollAreaPrivate *p)
Definition:
qabstractscrollarea_p.h:113
QAbstractScrollAreaPrivate::viewportFilter
QScopedPointer< QObject > viewportFilter
Definition:
qabstractscrollarea_p.h:101
Qt::Vertical
Definition:
qnamespace.h:176
Q_GUI_EXPORT
#define Q_GUI_EXPORT
Definition:
qglobal.h:1450
position
static qreal position(QGraphicsObject *item, QDeclarativeAnchorLine::AnchorLine anchorLine)
Definition:
qdeclarativeanchors.cpp:82
QWidget
The QWidget class is the base class of all user interface objects.
Definition:
qwidget.h:150
QLatin1String
QLatin1String(DBUS_INTERFACE_DBUS))) Q_GLOBAL_STATIC_WITH_ARGS(QString
QAbstractScrollAreaFilter::d
QAbstractScrollAreaPrivate * d
Definition:
qabstractscrollarea_p.h:118
QAbstractScrollAreaPrivate::singleFingerPanEnabled
bool singleFingerPanEnabled
Definition:
qabstractscrollarea_p.h:104
QAbstractScrollArea
The QAbstractScrollArea widget provides a scrolling area with on-demand scroll bars.
Definition:
qabstractscrollarea.h:59
QAbstractScrollAreaPrivate::scrollBarPolicyChanged
virtual void scrollBarPolicyChanged(Qt::Orientation, Qt::ScrollBarPolicy)
Definition:
qabstractscrollarea_p.h:91
QObject
The QObject class is the base class of all Qt objects.
Definition:
qobject.h:111
right
Q_CORE_EXPORT QTextStream & right(QTextStream &s)
QAbstractScrollAreaPrivate::top
int top
Definition:
qabstractscrollarea_p.h:84
QScopedPointer< QObject >
QAbstractScrollAreaFilter::eventFilter
bool eventFilter(QObject *o, QEvent *e)
Filters events if this object has been installed as an event filter for the watched object...
Definition:
qabstractscrollarea_p.h:115
QAbstractScrollAreaPrivate::cornerWidget
QWidget * cornerWidget
Definition:
qabstractscrollarea_p.h:79
QAbstractScrollAreaPrivate::yoffset
int yoffset
Definition:
qabstractscrollarea_p.h:86
QScrollBar
The QScrollBar widget provides a vertical or horizontal scroll bar.
Definition:
qscrollbar.h:59
QT_BEGIN_NAMESPACE
#define QT_BEGIN_NAMESPACE
This macro expands to.
Definition:
qglobal.h:89
QAbstractScrollAreaPrivate::viewportEvent
bool viewportEvent(QEvent *event)
Definition:
qabstractscrollarea_p.h:99
QAbstractScrollAreaFilter
Definition:
qabstractscrollarea_p.h:109
QAbstractScrollAreaScrollBarContainer
Definition:
qabstractscrollarea_p.h:122
QFramePrivate
Definition:
qframe_p.h:61
QAbstractScrollAreaPrivate::viewport
QWidget * viewport
Definition:
qabstractscrollarea_p.h:78
Q_OBJECT
#define Q_OBJECT
Definition:
qobjectdefs.h:157
QAbstractScrollAreaScrollBarContainer::scrollBar
QScrollBar * scrollBar
Definition:
qabstractscrollarea_p.h:132
QAbstractScrollAreaScrollBarContainer::layout
QBoxLayout * layout
Definition:
qabstractscrollarea_p.h:133
Q_DECLARE_PUBLIC
#define Q_DECLARE_PUBLIC(Class)
Definition:
qglobal.h:2477
QAbstractScrollAreaPrivate::vbar
QScrollBar * vbar
Definition:
qabstractscrollarea_p.h:75
QFramePrivate::init
void init()
Definition:
qframe.cpp:66
Qt::ScrollBarPolicy
ScrollBarPolicy
Definition:
qnamespace.h:1420
QPoint
The QPoint class defines a point in the plane using integer precision.
Definition:
qpoint.h:53
QRect
The QRect class defines a rectangle in the plane using integer precision.
Definition:
qrect.h:58
QAbstractScrollAreaScrollBarContainer::orientation
Qt::Orientation orientation
Definition:
qabstractscrollarea_p.h:137
QAbstractScrollAreaPrivate::vbarpolicy
Qt::ScrollBarPolicy vbarpolicy
Definition:
qabstractscrollarea_p.h:76
QAbstractScrollAreaPrivate::cornerPaintingRect
QRect cornerPaintingRect
Definition:
qabstractscrollarea_p.h:80
QAbstractScrollAreaPrivate
Definition:
qabstractscrollarea_p.h:65
qabstractscrollarea.h
Qt::Orientation
Orientation
Definition:
qnamespace.h:174
QEvent
The QEvent class is the base class of all event classes.
Definition:
qcoreevent.h:56
left
Q_CORE_EXPORT QTextStream & left(QTextStream &s)
QAbstractScrollAreaPrivate::reverseCornerPaintingRect
QRect reverseCornerPaintingRect
Definition:
qabstractscrollarea_p.h:82
QAbstractScrollAreaScrollBarContainer::LogicalPosition
LogicalPosition
Definition:
qabstractscrollarea_p.h:125
QList
The QList class is a template class that provides lists.
Definition:
qdatastream.h:62
Qt 4.8 Source Code Browser