Quark  0.1
DiffableSourceTextEdit.h++
Go to the documentation of this file.
1 
2 #ifndef __libquark_diff_DiffableSourceTextEdit_hxx
3 #define __libquark_diff_DiffableSourceTextEdit_hxx
4 
5 #include <QPainter>
6 #include <QPaintEvent>
7 #include <QVector>
8 
9 #include <quark/DiffChunk.h++>
10 #include <quark/DiffResult.h++>
11 #include <quark/DiffTypes.h++>
12 #include <quark/SourceTextEdit.h++>
13 
14 namespace quark {
15 namespace diff {
16 
17 class DiffModel;
18 class DiffColorModel;
19 
21 {
22  Q_OBJECT;
23 
24  public:
25 
26  DiffableSourceTextEdit(QWidget* parent = NULL);
27  virtual ~DiffableSourceTextEdit();
28 
29  void setDiffModel(DiffModel* diffModel, DiffRole diffRole,
30  DiffDirection diffDir);
31  void setDiffDirection(DiffDirection diffDir);
32 
33  void setDiffColorModel(DiffColorModel* diffColorModel);
34 
35  int pixelTopOfLine(int line) const;
36  int pixelBottomOfLine(int line) const;
37 
38  int lineAtCenter() const;
39  void setLineAtCenter(int line);
40 
42  { return(_diffRole); }
43 
45  { return(_diffDir); }
46 
47  void highlightDiffRegions();
48 
49  protected:
50 
51  virtual void paintEvent(QPaintEvent* event);
52 
53  private:
54 
55  void paint(QPainter& painter, QPaintEvent* event);
56 
57  DiffModel* _diffModel;
58  DiffColorModel* _diffColorModel;
59  DiffRole _diffRole;
60  DiffDirection _diffDir;
61 };
62 
63 } // namespace diff
64 } // namespace quark
65 
66 #endif // __libquark_diff_DiffableSourceTextEdit_hxx
DiffRole diffRole() const
Definition: DiffableSourceTextEdit.h++:41
Definition: DiffColorModel.h++:13
virtual void paintEvent(QPaintEvent *event)
DiffableSourceTextEdit(QWidget *parent=NULL)
Definition: BarChartView.h++:6
int pixelBottomOfLine(int line) const
void setDiffColorModel(DiffColorModel *diffColorModel)
void setDiffModel(DiffModel *diffModel, DiffRole diffRole, DiffDirection diffDir)
TODO: rewrite doc A data model representing a 2-way or 3-way diff.
Definition: DiffModel.h++:23
DiffDirection
Definition: DiffTypes.h++:29
int pixelTopOfLine(int line) const
DiffRole
Definition: DiffTypes.h++:11
void setDiffDirection(DiffDirection diffDir)
DiffDirection diffDirection() const
Definition: DiffableSourceTextEdit.h++:44
Definition: DiffableSourceTextEdit.h++:20
A subclass of QPlainTextEdit that is specialied for editing source code.
Definition: SourceTextEdit.h++:22