~ubuntu-branches/ubuntu/lucid/kdebase/lucid

« back to all changes in this revision

Viewing changes to apps/plasma/applets/folderview/abstractitemview.h

  • Committer: Bazaar Package Importer
  • Author(s): Jonathan Thomas
  • Date: 2009-12-02 13:28:20 UTC
  • mto: This revision was merged to the branch mainline in revision 258.
  • Revision ID: james.westby@ubuntu.com-20091202132820-tpxn348l9frx5zd5
Tags: upstream-4.3.80
Import upstream version 4.3.80

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
 *   Copyright © 2008 Fredrik Höglund <fredrik@kde.org>
 
2
 *   Copyright © 2008, 2009 Fredrik Höglund <fredrik@kde.org>
3
3
 *
4
4
 *   This library is free software; you can redistribute it and/or
5
5
 *   modify it under the terms of the GNU Library General Public
25
25
#include <QAbstractItemView>
26
26
#include <QPointer>
27
27
#include <QCache>
 
28
#include <QTextLayout>
28
29
#include <QTime>
29
30
#include <QBasicTimer>
30
31
 
48
49
    Q_OBJECT
49
50
 
50
51
    Q_PROPERTY(QSize iconSize READ iconSize WRITE setIconSize)
 
52
    Q_PROPERTY(bool drawShadows READ drawShadows WRITE setDrawShadows)
51
53
 
52
54
public:
53
55
    enum ScrollDirection { ScrollUp, ScrollDown };
67
69
    virtual void setIconSize(const QSize &iconSize);
68
70
    QSize iconSize() const;
69
71
 
 
72
    void setDrawShadows(bool on);
 
73
    bool drawShadows() const;
 
74
 
70
75
    QScrollBar *verticalScrollBar() const;
71
76
 
72
77
    QRect visibleArea() const;
73
78
    virtual QModelIndex indexAt(const QPointF &point) const = 0;
74
79
    virtual QRect visualRect(const QModelIndex &index) const = 0;
75
80
 
 
81
    QPointF mapToViewport(const QPointF &point) const;
 
82
    QRectF mapToViewport(const QRectF &rect) const;
 
83
    QPointF mapFromViewport(const QPointF &point) const;
 
84
    QRectF mapFromViewport(const QRectF &rect) const;
 
85
 
 
86
    void markAreaDirty(const QRect &rect);
 
87
    void markAreaDirty(const QRectF &rect) { markAreaDirty(rect.toAlignedRect()); }
 
88
 
76
89
    void scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint =  QAbstractItemView::EnsureVisible);
77
90
    void autoScroll(ScrollDirection direction, int pixelsPerSecond);
78
91
    void stopAutoScrolling();
79
92
 
80
93
signals:
81
94
    void activated(const QModelIndex &index);
 
95
    void entered(const QModelIndex &index);
 
96
    void left(const QModelIndex &index);
82
97
    void contextMenuRequest(QWidget *widget, const QPoint &screenPos);
83
98
 
84
99
protected:
85
 
    void markAreaDirty(const QRect &rect);
86
 
    void markAreaDirty(const QRectF &rect) { markAreaDirty(rect.toAlignedRect()); }
87
100
    QRect scrollBackBuffer();
88
101
    void prepareBackBuffer();
89
102
    void syncBackBuffer(QPainter *painter, const QRect &clipRect);
90
103
 
91
 
    QPointF mapToViewport(const QPointF &point) const;
92
 
    QRectF mapToViewport(const QRectF &rect) const;
93
 
    QPointF mapFromViewport(const QPointF &point) const;
94
 
    QRectF mapFromViewport(const QRectF &rect) const;
 
104
    QSize doTextLayout(QTextLayout &layout, const QSize &constraints, Qt::Alignment alignment,
 
105
                       QTextOption::WrapMode wrapMode) const;
 
106
    void drawTextLayout(QPainter *painter, const QTextLayout &layout, const QRect &rect) const; 
95
107
 
96
108
    void timerEvent(QTimerEvent *event);
97
109
 
149
161
    ScrollDirection m_scrollDirection;
150
162
    int m_autoScrollSpeed;
151
163
    int m_autoScrollSetSpeed;
 
164
    bool m_drawShadows;
152
165
};
153
166
 
154
167
inline QPointF AbstractItemView::mapToViewport(const QPointF &point) const