00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef DIFFALGO_H
00023 #define DIFFALGO_H
00024
00025 #include <tqvaluelist.h>
00026 #include <tdepimmacros.h>
00027
00028 namespace KPIM {
00029
00037 class DiffAlgoDisplay
00038 {
00039 public:
00040
00044 virtual void begin() = 0;
00045
00049 virtual void end() = 0;
00050
00054 virtual void setLeftSourceTitle( const TQString &title ) = 0;
00055
00059 virtual void setRightSourceTitle( const TQString &title ) = 0;
00060
00064 virtual void additionalLeftField( const TQString &id, const TQString &value ) = 0;
00065
00069 virtual void additionalRightField( const TQString &id, const TQString &value ) = 0;
00070
00074 virtual void conflictField( const TQString &id, const TQString &leftValue,
00075 const TQString &rightValue ) = 0;
00076 };
00077
00078
00079 class KDE_EXPORT DiffAlgo
00080 {
00081 public:
00085 virtual ~DiffAlgo() {}
00086
00090 virtual void run() = 0;
00091
00095 void begin();
00096
00100 void end();
00101
00105 void setLeftSourceTitle( const TQString &title );
00106
00110 void setRightSourceTitle( const TQString &title );
00111
00115 void additionalLeftField( const TQString &id, const TQString &value );
00116
00120 void additionalRightField( const TQString &id, const TQString &value );
00121
00125 void conflictField( const TQString &id, const TQString &leftValue,
00126 const TQString &rightValue );
00127
00128 void addDisplay( DiffAlgoDisplay *display );
00129 void removeDisplay( DiffAlgoDisplay *display );
00130
00131
00132 private:
00133 TQValueList<DiffAlgoDisplay*> mDisplays;
00134 };
00135
00136 }
00137
00138 #endif