~kubuntu-members/kompare/4.11

« back to all changes in this revision

Viewing changes to komparepart/komparelistview.h

  • Committer: Otto Bruggeman
  • Date: 2003-08-22 20:54:19 UTC
  • Revision ID: git-v1:d09a8c32a5056998bdb6f604549a5f24c8f6fe75
Die make_it_cool, die kompare! :)

svn path=/trunk/kdesdk/kompare/; revision=244089

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
                                komparelistview.h  -  description
3
3
                                -------------------
4
4
        begin                   : Sun Mar 4 2001
5
 
        copyright               : (C) 2001 by Otto Bruggeman
 
5
        copyright               : (C) 2001-2003 by Otto Bruggeman
6
6
                                  and John Firebaugh
7
7
        email                   : otto.bruggeman@home.nl
8
8
                                  jfirebaugh@kde.org
25
25
 
26
26
#include <klistview.h>
27
27
 
28
 
class DiffModel;
29
 
class DiffHunk;
30
 
class Difference;
31
 
class GeneralSettings;
 
28
class Diff2::DiffModel;
 
29
class Diff2::DiffHunk;
 
30
class Diff2::Difference;
 
31
class ViewSettings;
32
32
class KompareListViewItem;
33
33
class KompareListViewDiffItem;
34
34
class KompareListViewLineContainerItem;
35
 
class KompareModelList;
 
35
class Diff2::KompareModelList;
36
36
 
37
37
class KompareListView : public KListView
38
38
{
39
39
        Q_OBJECT
40
40
 
41
41
public:
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();
44
 
        
 
44
 
45
45
        KompareListViewItem* itemAtIndex( int i );
46
46
        int                  firstVisibleDifference();
47
47
        int                  lastVisibleDifference();
48
48
        QRect                itemRect( int i );
49
49
        int                  minScrollId();
50
50
        int                  maxScrollId();
51
 
        
 
51
 
52
52
        bool                 isSource() const { return m_isSource; };
53
 
        GeneralSettings*     settings() const { return m_settings; };
54
 
        
55
 
        void setSelectedDifference( const Difference* diff, bool scroll );
56
 
        
 
53
        ViewSettings*        settings() const { return m_settings; };
 
54
 
 
55
        void setSelectedDifference( const Diff2::Difference* diff, bool scroll );
 
56
 
 
57
        const QString& spaces() const { return m_spaces; };
 
58
 
57
59
public slots:
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 );
62
64
        int  scrollId();
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();
66
69
 
67
70
signals:
68
 
        void differenceClicked( const Difference* diff );
 
71
        void differenceClicked( const Diff2::Difference* diff );
69
72
 
70
73
protected:
71
74
        void wheelEvent( QWheelEvent* e );
78
81
        QPtrList<KompareListViewDiffItem>  m_items;
79
82
        QPtrDict<KompareListViewDiffItem>  m_itemDict;
80
83
        bool                               m_isSource;
81
 
        GeneralSettings*                   m_settings;
 
84
        ViewSettings*                      m_settings;
82
85
        int                                m_maxScrollId;
83
86
        int                                m_scrollId;
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;
 
90
        QString                            m_spaces;
87
91
};
88
92
 
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 );
96
 
        
 
100
 
97
101
        void paintFocus( QPainter* p, const QColorGroup& cg, const QRect& r );
98
102
        int scrollId() { return m_scrollId; };
99
 
        
 
103
 
100
104
        virtual int maxHeight() = 0;
101
 
        
 
105
 
102
106
        KompareListView* kompareListView() const;
103
 
        
 
107
 
104
108
private:
105
 
        int               m_scrollId;
 
109
        int     m_scrollId;
106
110
};
107
111
 
108
112
class KompareListViewDiffItem : public KompareListViewItem
109
113
{
110
114
public:
111
 
        KompareListViewDiffItem( KompareListView* parent, Difference* difference );
112
 
        KompareListViewDiffItem( KompareListView* parent, KompareListViewItem* after, Difference* difference );
113
 
        
 
115
        KompareListViewDiffItem( KompareListView* parent, Diff2::Difference* difference );
 
116
        KompareListViewDiffItem( KompareListView* parent, KompareListViewItem* after, Diff2::Difference* difference );
 
117
 
114
118
        void setup();
115
119
        void setSelected( bool b );
116
120
        void applyDifference( bool apply );
117
121
 
118
 
        Difference* difference() { return m_difference; };
119
 
        
 
122
        Diff2::Difference* difference() { return m_difference; };
 
123
 
120
124
        int maxHeight();
121
 
        
 
125
 
122
126
private:
123
127
        void init();
124
128
        void setVisibility();
125
 
        
126
 
        Difference* m_difference;
 
129
 
 
130
        Diff2::Difference* m_difference;
127
131
        KompareListViewLineContainerItem* m_sourceItem;
128
132
        KompareListViewLineContainerItem* m_destItem;
129
133
};
132
136
{
133
137
public:
134
138
        KompareListViewLineContainerItem( KompareListViewDiffItem* parent, bool isSource );
135
 
        
 
139
 
136
140
        void setup();
137
141
        int maxHeight() { return 0; }
138
142
        KompareListViewDiffItem* diffItemParent() const;
139
 
        
 
143
 
140
144
private:
141
145
        int lineCount() const;
142
146
        int lineNumber() const;
143
147
        QString lineAt( int i ) const;
144
 
        
 
148
 
145
149
        bool m_isSource;
146
150
};
147
151
 
149
153
{
150
154
public:
151
155
        KompareListViewLineItem( KompareListViewLineContainerItem* parent, int line, const QString& text );
152
 
        
 
156
 
153
157
        virtual void setup();
154
158
        int maxHeight() { return 0; }
155
 
        
 
159
 
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 );
158
 
        
 
162
 
159
163
        KompareListViewDiffItem* diffItemParent() const;
160
164
};
161
165
 
163
167
{
164
168
public:
165
169
        KompareListViewBlankLineItem( KompareListViewLineContainerItem* parent );
166
 
        
 
170
 
167
171
        void setup();
168
 
        
 
172
 
169
173
        void paintText( QPainter * p, const QColorGroup & cg, int column, int width, int align );
170
174
};
171
175
 
172
176
class KompareListViewHunkItem : public KompareListViewItem
173
177
{
174
178
public:
175
 
        KompareListViewHunkItem( KompareListView* parent, DiffHunk* hunk );
176
 
        KompareListViewHunkItem( KompareListView* parent, KompareListViewItem* after, DiffHunk* hunk );
177
 
        
 
179
        KompareListViewHunkItem( KompareListView* parent, Diff2::DiffHunk* hunk );
 
180
        KompareListViewHunkItem( KompareListView* parent, KompareListViewItem* after, Diff2::DiffHunk* hunk );
 
181
 
178
182
        void setup();
179
183
        void paintCell( QPainter* p, const QColorGroup& cg, int column, int width, int align );
180
 
        
 
184
 
181
185
        int maxHeight();
182
 
        
183
 
private:        
184
 
        DiffHunk* m_hunk;
 
186
 
 
187
private:
 
188
        Diff2::DiffHunk* m_hunk;
185
189
};
186
190
 
187
191
#endif