26
26
#include <klistview.h>
31
class GeneralSettings;
28
class Diff2::DiffModel;
29
class Diff2::DiffHunk;
30
class Diff2::Difference;
32
32
class KompareListViewItem;
33
33
class KompareListViewDiffItem;
34
34
class KompareListViewLineContainerItem;
35
class KompareModelList;
35
class Diff2::KompareModelList;
37
37
class KompareListView : public KListView
42
KompareListView( bool isSource, GeneralSettings* settings, QWidget* parent, const char* name = 0 );
42
KompareListView( bool isSource, ViewSettings* settings, QWidget* parent, const char* name = 0 );
43
43
virtual ~KompareListView();
45
45
KompareListViewItem* itemAtIndex( int i );
46
46
int firstVisibleDifference();
47
47
int lastVisibleDifference();
48
48
QRect itemRect( int i );
52
52
bool isSource() const { return m_isSource; };
53
GeneralSettings* settings() const { return m_settings; };
55
void setSelectedDifference( const Difference* diff, bool scroll );
53
ViewSettings* settings() const { return m_settings; };
55
void setSelectedDifference( const Diff2::Difference* diff, bool scroll );
57
const QString& spaces() const { return m_spaces; };
58
void slotSetSelection( const DiffModel* model, const Difference* diff );
59
void slotSetSelection( const Difference* diff );
60
void slotSetSelection( const Diff2::DiffModel* model, const Diff2::Difference* diff );
61
void slotSetSelection( const Diff2::Difference* diff );
60
62
void setXOffset( int x );
61
63
void scrollToId( int id );
63
65
void slotApplyDifference( bool apply );
64
66
void slotApplyAllDifferences( bool apply );
65
void slotApplyDifference( const Difference* diff, bool apply );
67
void slotApplyDifference( const Diff2::Difference* diff, bool apply );
68
void slotConfigChanged();
68
void differenceClicked( const Difference* diff );
71
void differenceClicked( const Diff2::Difference* diff );
71
74
void wheelEvent( QWheelEvent* e );
78
81
QPtrList<KompareListViewDiffItem> m_items;
79
82
QPtrDict<KompareListViewDiffItem> m_itemDict;
81
GeneralSettings* m_settings;
84
ViewSettings* m_settings;
84
87
int m_maxMainWidth;
85
const DiffModel* m_selectedModel;
86
const Difference* m_selectedDifference;
88
const Diff2::DiffModel* m_selectedModel;
89
const Diff2::Difference* m_selectedDifference;
89
93
class KompareListViewItem : public QListViewItem
93
97
KompareListViewItem( KompareListView* parent, KompareListViewItem* after );
94
98
KompareListViewItem( KompareListViewItem* parent );
95
99
KompareListViewItem( KompareListViewItem* parent, KompareListViewItem* after );
97
101
void paintFocus( QPainter* p, const QColorGroup& cg, const QRect& r );
98
102
int scrollId() { return m_scrollId; };
100
104
virtual int maxHeight() = 0;
102
106
KompareListView* kompareListView() const;
108
112
class KompareListViewDiffItem : public KompareListViewItem
111
KompareListViewDiffItem( KompareListView* parent, Difference* difference );
112
KompareListViewDiffItem( KompareListView* parent, KompareListViewItem* after, Difference* difference );
115
KompareListViewDiffItem( KompareListView* parent, Diff2::Difference* difference );
116
KompareListViewDiffItem( KompareListView* parent, KompareListViewItem* after, Diff2::Difference* difference );
115
119
void setSelected( bool b );
116
120
void applyDifference( bool apply );
118
Difference* difference() { return m_difference; };
122
Diff2::Difference* difference() { return m_difference; };
124
128
void setVisibility();
126
Difference* m_difference;
130
Diff2::Difference* m_difference;
127
131
KompareListViewLineContainerItem* m_sourceItem;
128
132
KompareListViewLineContainerItem* m_destItem;
134
138
KompareListViewLineContainerItem( KompareListViewDiffItem* parent, bool isSource );
137
141
int maxHeight() { return 0; }
138
142
KompareListViewDiffItem* diffItemParent() const;
141
145
int lineCount() const;
142
146
int lineNumber() const;
143
147
QString lineAt( int i ) const;
151
155
KompareListViewLineItem( KompareListViewLineContainerItem* parent, int line, const QString& text );
153
157
virtual void setup();
154
158
int maxHeight() { return 0; }
156
160
virtual void paintCell( QPainter * p, const QColorGroup & cg, int column, int width, int align );
157
161
virtual void paintText( QPainter * p, const QColorGroup & cg, int column, int width, int align );
159
163
KompareListViewDiffItem* diffItemParent() const;
165
169
KompareListViewBlankLineItem( KompareListViewLineContainerItem* parent );
169
173
void paintText( QPainter * p, const QColorGroup & cg, int column, int width, int align );
172
176
class KompareListViewHunkItem : public KompareListViewItem
175
KompareListViewHunkItem( KompareListView* parent, DiffHunk* hunk );
176
KompareListViewHunkItem( KompareListView* parent, KompareListViewItem* after, DiffHunk* hunk );
179
KompareListViewHunkItem( KompareListView* parent, Diff2::DiffHunk* hunk );
180
KompareListViewHunkItem( KompareListView* parent, KompareListViewItem* after, Diff2::DiffHunk* hunk );
179
183
void paintCell( QPainter* p, const QColorGroup& cg, int column, int width, int align );
188
Diff2::DiffHunk* m_hunk;