libkdepim
diffalgo.h00001
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 <qvaluelist.h>
00026 #include <kdepimmacros.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 QString &title ) = 0;
00055
00059 virtual void setRightSourceTitle( const QString &title ) = 0;
00060
00064 virtual void additionalLeftField( const QString &id, const QString &value ) = 0;
00065
00069 virtual void additionalRightField( const QString &id, const QString &value ) = 0;
00070
00074 virtual void conflictField( const QString &id, const QString &leftValue,
00075 const QString &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 QString &title );
00106
00110 void setRightSourceTitle( const QString &title );
00111
00115 void additionalLeftField( const QString &id, const QString &value );
00116
00120 void additionalRightField( const QString &id, const QString &value );
00121
00125 void conflictField( const QString &id, const QString &leftValue,
00126 const QString &rightValue );
00127
00128 void addDisplay( DiffAlgoDisplay *display );
00129 void removeDisplay( DiffAlgoDisplay *display );
00130
00131
00132 private:
00133 QValueList<DiffAlgoDisplay*> mDisplays;
00134 };
00135
00136 }
00137
00138 #endif
|