Skip to content
Snippets Groups Projects
Commit 7586847b authored by Roberto Raggi's avatar Roberto Raggi
Browse files

Added getters

parent e43bd82a
No related branches found
No related tags found
No related merge requests found
...@@ -56,7 +56,7 @@ static bool overlaps(int posA, int lengthA, int posB, int lengthB) { ...@@ -56,7 +56,7 @@ static bool overlaps(int posA, int lengthA, int posB, int lengthB) {
bool ChangeSet::hasOverlap(int pos, int length) bool ChangeSet::hasOverlap(int pos, int length)
{ {
{ {
QListIterator<Replace> i(replaceList); QListIterator<Replace> i(m_replaceList);
while (i.hasNext()) { while (i.hasNext()) {
const Replace &cmd = i.next(); const Replace &cmd = i.next();
if (overlaps(pos, length, cmd.pos, cmd.length)) if (overlaps(pos, length, cmd.pos, cmd.length))
...@@ -64,7 +64,7 @@ bool ChangeSet::hasOverlap(int pos, int length) ...@@ -64,7 +64,7 @@ bool ChangeSet::hasOverlap(int pos, int length)
} }
} }
{ {
QListIterator<Move> i(moveList); QListIterator<Move> i(m_moveList);
while (i.hasNext()) { while (i.hasNext()) {
const Move &cmd = i.next(); const Move &cmd = i.next();
if (overlaps(pos, length, cmd.pos, cmd.length)) if (overlaps(pos, length, cmd.pos, cmd.length))
...@@ -76,7 +76,7 @@ bool ChangeSet::hasOverlap(int pos, int length) ...@@ -76,7 +76,7 @@ bool ChangeSet::hasOverlap(int pos, int length)
bool ChangeSet::hasMoveInto(int pos, int length) bool ChangeSet::hasMoveInto(int pos, int length)
{ {
QListIterator<Move> i(moveList); QListIterator<Move> i(m_moveList);
while (i.hasNext()) { while (i.hasNext()) {
const Move &cmd = i.next(); const Move &cmd = i.next();
if (cmd.to >= pos && cmd.to < pos + length) if (cmd.to >= pos && cmd.to < pos + length)
...@@ -85,6 +85,16 @@ bool ChangeSet::hasMoveInto(int pos, int length) ...@@ -85,6 +85,16 @@ bool ChangeSet::hasMoveInto(int pos, int length)
return false; return false;
} }
QList<ChangeSet::Replace> ChangeSet::replaceList() const
{
return m_replaceList;
}
QList<ChangeSet::Move> ChangeSet::moveList() const
{
return m_moveList;
}
void ChangeSet::replace(int pos, int length, const QString &replacement) void ChangeSet::replace(int pos, int length, const QString &replacement)
{ {
Q_ASSERT(!hasOverlap(pos, length)); Q_ASSERT(!hasOverlap(pos, length));
...@@ -94,7 +104,7 @@ void ChangeSet::replace(int pos, int length, const QString &replacement) ...@@ -94,7 +104,7 @@ void ChangeSet::replace(int pos, int length, const QString &replacement)
cmd.pos = pos; cmd.pos = pos;
cmd.length = length; cmd.length = length;
cmd.replacement = replacement; cmd.replacement = replacement;
replaceList += cmd; m_replaceList += cmd;
} }
void ChangeSet::move(int pos, int length, int to) void ChangeSet::move(int pos, int length, int to)
...@@ -105,14 +115,14 @@ void ChangeSet::move(int pos, int length, int to) ...@@ -105,14 +115,14 @@ void ChangeSet::move(int pos, int length, int to)
cmd.pos = pos; cmd.pos = pos;
cmd.length = length; cmd.length = length;
cmd.to = to; cmd.to = to;
moveList += cmd; m_moveList += cmd;
} }
void ChangeSet::doReplace(const Replace &replace) void ChangeSet::doReplace(const Replace &replace)
{ {
int diff = replace.replacement.size() - replace.length; int diff = replace.replacement.size() - replace.length;
{ {
QMutableListIterator<Replace> i(replaceList); QMutableListIterator<Replace> i(m_replaceList);
while (i.hasNext()) { while (i.hasNext()) {
Replace &c = i.next(); Replace &c = i.next();
if (replace.pos < c.pos) if (replace.pos < c.pos)
...@@ -122,7 +132,7 @@ void ChangeSet::doReplace(const Replace &replace) ...@@ -122,7 +132,7 @@ void ChangeSet::doReplace(const Replace &replace)
} }
} }
{ {
QMutableListIterator<Move> i(moveList); QMutableListIterator<Move> i(m_moveList);
while (i.hasNext()) { while (i.hasNext()) {
Move &c = i.next(); Move &c = i.next();
if (replace.pos < c.pos) if (replace.pos < c.pos)
...@@ -163,13 +173,13 @@ void ChangeSet::doMove(const Move &move) ...@@ -163,13 +173,13 @@ void ChangeSet::doMove(const Move &move)
paste.length = 0; paste.length = 0;
paste.replacement = text; paste.replacement = text;
replaceList.append(cut); m_replaceList.append(cut);
replaceList.append(paste); m_replaceList.append(paste);
Replace cmd; Replace cmd;
while (!replaceList.isEmpty()) { while (!m_replaceList.isEmpty()) {
cmd = replaceList.first(); cmd = m_replaceList.first();
replaceList.removeFirst(); m_replaceList.removeFirst();
doReplace(cmd); doReplace(cmd);
} }
} }
...@@ -194,17 +204,17 @@ void ChangeSet::write_helper() ...@@ -194,17 +204,17 @@ void ChangeSet::write_helper()
cursor->beginEditBlock(); cursor->beginEditBlock();
{ {
Replace cmd; Replace cmd;
while (!replaceList.isEmpty()) { while (!m_replaceList.isEmpty()) {
cmd = replaceList.first(); cmd = m_replaceList.first();
replaceList.removeFirst(); m_replaceList.removeFirst();
doReplace(cmd); doReplace(cmd);
} }
} }
{ {
Move cmd; Move cmd;
while (!moveList.isEmpty()) { while (!m_moveList.isEmpty()) {
cmd = moveList.first(); cmd = m_moveList.first();
moveList.removeFirst(); m_moveList.removeFirst();
doMove(cmd); doMove(cmd);
} }
} }
......
...@@ -55,22 +55,32 @@ class QTCREATOR_UTILS_EXPORT ChangeSet ...@@ -55,22 +55,32 @@ class QTCREATOR_UTILS_EXPORT ChangeSet
QString *string; QString *string;
QTextCursor *cursor; QTextCursor *cursor;
public:
struct Replace { struct Replace {
int pos; int pos;
int length; int length;
QString replacement; QString replacement;
}; };
QList<Replace> replaceList;
struct Move { struct Move {
int pos; int pos;
int length; int length;
int to; int to;
}; };
QList<Move> moveList; public:
ChangeSet();
QList<Replace> replaceList() const;
QList<Move> moveList() const;
void replace(int pos, int length, const QString &replacement);
void move(int pos, int length, int to);
void write(QString *s);
void write(QTextCursor *textCursor);
private:
bool hasOverlap(int pos, int length); bool hasOverlap(int pos, int length);
bool hasMoveInto(int pos, int length); bool hasMoveInto(int pos, int length);
...@@ -79,14 +89,8 @@ class QTCREATOR_UTILS_EXPORT ChangeSet ...@@ -79,14 +89,8 @@ class QTCREATOR_UTILS_EXPORT ChangeSet
void write_helper(); void write_helper();
public: QList<Replace> m_replaceList;
ChangeSet(); QList<Move> m_moveList;
void replace(int pos, int length, const QString &replacement);
void move(int pos, int length, int to);
void write(QString *s);
void write(QTextCursor *textCursor);
}; };
} // namespace Utils } // namespace Utils
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment