diff options
Diffstat (limited to 'kompare/libdiff2/diffhunk.h')
-rw-r--r-- | kompare/libdiff2/diffhunk.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/kompare/libdiff2/diffhunk.h b/kompare/libdiff2/diffhunk.h new file mode 100644 index 00000000..8a76babb --- /dev/null +++ b/kompare/libdiff2/diffhunk.h @@ -0,0 +1,69 @@ +/*************************************************************************** + diffhunk.h - description + ------------------- + begin : Sun Mar 4 2001 + copyright : (C) 2001-2003 by Otto Bruggeman + and John Firebaugh + email : otto.bruggeman@home.nl + jfirebaugh@kde.org +****************************************************************************/ + +/*************************************************************************** +** +** This program is free software; you can redistribute it and/or modify +** it under the terms of the GNU General Public License as published by +** the Free Software Foundation; either version 2 of the License, or +** (at your option) any later version. +** +***************************************************************************/ + +#ifndef DIFFHUNK_H +#define DIFFHUNK_H + +#include "difference.h" + +namespace Diff2 +{ + +class Difference; + +class DiffHunk +{ +public: + enum Type { Normal, AddedByBlend }; + +public: + DiffHunk( int sourceLine, int destinationLine, QString function = QString::null, Type type = Normal ); + ~DiffHunk(); + + const DifferenceList& differences() const { return m_differences; }; + const QString& function() const { return m_function; }; + + int sourceLineNumber() const { return m_sourceLine; }; + int destinationLineNumber() const { return m_destinationLine; }; + + int sourceLineCount() const; + int destinationLineCount() const; + + const Type type() const { return m_type; } + void setType( Type type ) { m_type = type; } + + void add( Difference* diff ); + + QString recreateHunk() const; + +private: + int m_sourceLine; + int m_destinationLine; + DifferenceList m_differences; + QString m_function; + Type m_type; +}; + +typedef QValueList<DiffHunk*> DiffHunkList; +typedef QValueList<DiffHunk*>::iterator DiffHunkListIterator; +typedef QValueList<DiffHunk*>::const_iterator DiffHunkListConstIterator; + +} // End of namespace Diff2 + +#endif |