diff --git a/src/plugins/texteditor/itexteditor.cpp b/src/plugins/texteditor/itexteditor.cpp
index 93b4b1bbee8de82b429009d4c8f23a729fba955d..e4fb168b0f5bcf3486fc3ea60016f29ef90b65fa 100644
--- a/src/plugins/texteditor/itexteditor.cpp
+++ b/src/plugins/texteditor/itexteditor.cpp
@@ -38,59 +38,6 @@
 
 using namespace TextEditor;
 
-ITextMark::~ITextMark()
-{
-
-}
-
-int ITextMark::lineNumber() const
-{
-    return m_lineNumber;
-}
-
-void ITextMark::paint(QPainter *painter, const QRect &rect) const
-{
-    m_icon.paint(painter, rect, Qt::AlignCenter);
-}
-
-void ITextMark::updateLineNumber(int lineNumber)
-{
-    m_lineNumber = lineNumber;
-}
-
-void ITextMark::updateBlock(const QTextBlock &)
-{}
-
-void ITextMark::removedFromEditor()
-{}
-
-void ITextMark::setIcon(const QIcon &icon)
-{
-    m_icon = icon;
-}
-
-void ITextMark::setPriority(Priority priority)
-{
-    m_priority = priority;
-}
-
-ITextMark::Priority ITextMark::priority() const
-{
-    return m_priority;
-}
-
-bool ITextMark::visible() const
-{
-    return true;
-}
-
-double ITextMark::widthFactor() const
-{
-    return 1.0;
-}
-
-
-
 QMap<QString, QString> ITextEditor::openedTextEditorsContents()
 {
     QMap<QString, QString> workingCopy;
diff --git a/src/plugins/texteditor/itexteditor.h b/src/plugins/texteditor/itexteditor.h
index ae2cb26f75113ba71a0a693f628577f9ce52e952..7910346d07496176e72d2fd9e1b8d7c304134256 100644
--- a/src/plugins/texteditor/itexteditor.h
+++ b/src/plugins/texteditor/itexteditor.h
@@ -35,6 +35,8 @@
 
 #include "texteditor_global.h"
 
+#include "itextmark.h"
+
 #include <coreplugin/editormanager/ieditor.h>
 
 #include <QObject>
@@ -53,54 +55,6 @@ QT_END_NAMESPACE
 
 namespace TextEditor {
 
-class ITextEditor;
-
-class TEXTEDITOR_EXPORT ITextMark
-{
-public:
-    ITextMark(int line) : m_lineNumber(line), m_priority(NormalPriority) {}
-    virtual ~ITextMark();
-
-    // determine order on markers on the same line.
-    enum Priority
-    {
-        LowPriority,
-        NormalPriority,
-        HighPriority // shown on top.
-    };
-
-    int lineNumber() const;
-    virtual void paint(QPainter *painter, const QRect &rect) const;
-    virtual void updateLineNumber(int lineNumber);
-    virtual void updateBlock(const QTextBlock &block);
-    virtual void removedFromEditor();
-    void setIcon(const QIcon &icon);
-    Priority priority() const;
-    void setPriority(Priority prioriy);
-    virtual bool visible() const;
-    virtual double widthFactor() const;
-
-private:
-    int m_lineNumber;
-    QIcon m_icon;
-    Priority m_priority;
-};
-
-typedef QList<ITextMark *> TextMarks;
-
-
-class TEXTEDITOR_EXPORT ITextMarkable : public QObject
-{
-    Q_OBJECT
-public:
-    ITextMarkable(QObject *parent = 0) : QObject(parent) {}
-
-    virtual bool addMark(ITextMark *mark) = 0;
-    virtual TextMarks marksAt(int line) const = 0;
-    virtual void removeMark(ITextMark *mark) = 0;
-    virtual void updateMark(ITextMark *mark) = 0;
-};
-
 class TEXTEDITOR_EXPORT ITextEditor : public Core::IEditor
 {
     Q_OBJECT
diff --git a/src/plugins/texteditor/itextmark.cpp b/src/plugins/texteditor/itextmark.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..4aebbad154eba7d2b1bf9f00fe090716fffac88a
--- /dev/null
+++ b/src/plugins/texteditor/itextmark.cpp
@@ -0,0 +1,86 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** Other Usage
+**
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**************************************************************************/
+
+#include "itextmark.h"
+
+using namespace TextEditor;
+
+ITextMark::~ITextMark()
+{
+
+}
+
+int ITextMark::lineNumber() const
+{
+    return m_lineNumber;
+}
+
+void ITextMark::paint(QPainter *painter, const QRect &rect) const
+{
+    m_icon.paint(painter, rect, Qt::AlignCenter);
+}
+
+void ITextMark::updateLineNumber(int lineNumber)
+{
+    m_lineNumber = lineNumber;
+}
+
+void ITextMark::updateBlock(const QTextBlock &)
+{}
+
+void ITextMark::removedFromEditor()
+{}
+
+void ITextMark::setIcon(const QIcon &icon)
+{
+    m_icon = icon;
+}
+
+void ITextMark::setPriority(Priority priority)
+{
+    m_priority = priority;
+}
+
+ITextMark::Priority ITextMark::priority() const
+{
+    return m_priority;
+}
+
+bool ITextMark::visible() const
+{
+    return true;
+}
+
+double ITextMark::widthFactor() const
+{
+    return 1.0;
+}
diff --git a/src/plugins/texteditor/itextmark.h b/src/plugins/texteditor/itextmark.h
new file mode 100644
index 0000000000000000000000000000000000000000..81ea17ceeef15bfc6058e70ef772d763815d60bc
--- /dev/null
+++ b/src/plugins/texteditor/itextmark.h
@@ -0,0 +1,102 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** Other Usage
+**
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**************************************************************************/
+
+#ifndef ITEXTMARK_H
+#define ITEXTMARK_H
+
+#include "texteditor_global.h"
+
+#include <QObject>
+#include <QList>
+#include <QMap>
+#include <QIcon>
+
+QT_BEGIN_NAMESPACE
+class QIcon;
+class QPainter;
+class QRect;
+class QTextBlock;
+QT_END_NAMESPACE
+
+namespace TextEditor {
+
+class ITextEditor;
+
+class TEXTEDITOR_EXPORT ITextMark
+{
+public:
+    ITextMark(int line) : m_lineNumber(line), m_priority(NormalPriority) {}
+    virtual ~ITextMark();
+
+    // determine order on markers on the same line.
+    enum Priority
+    {
+        LowPriority,
+        NormalPriority,
+        HighPriority // shown on top.
+    };
+
+    int lineNumber() const;
+    virtual void paint(QPainter *painter, const QRect &rect) const;
+    virtual void updateLineNumber(int lineNumber);
+    virtual void updateBlock(const QTextBlock &block);
+    virtual void removedFromEditor();
+    void setIcon(const QIcon &icon);
+    Priority priority() const;
+    void setPriority(Priority prioriy);
+    virtual bool visible() const;
+    virtual double widthFactor() const;
+
+private:
+    int m_lineNumber;
+    QIcon m_icon;
+    Priority m_priority;
+};
+
+typedef QList<ITextMark *> TextMarks;
+
+
+class TEXTEDITOR_EXPORT ITextMarkable : public QObject
+{
+    Q_OBJECT
+public:
+    ITextMarkable(QObject *parent = 0) : QObject(parent) {}
+
+    virtual bool addMark(ITextMark *mark) = 0;
+    virtual TextMarks marksAt(int line) const = 0;
+    virtual void removeMark(ITextMark *mark) = 0;
+    virtual void updateMark(ITextMark *mark) = 0;
+};
+
+} // namespace TextEditor
+
+#endif // ITEXTMARK_H
diff --git a/src/plugins/texteditor/texteditor.pro b/src/plugins/texteditor/texteditor.pro
index 10402dec4f1b4477318160eb4226715b257e75d9..19677ba1aa90578235b4b2a3430b162882174dfe 100644
--- a/src/plugins/texteditor/texteditor.pro
+++ b/src/plugins/texteditor/texteditor.pro
@@ -112,7 +112,8 @@ SOURCES += texteditorplugin.cpp \
     icodestylepreferences.cpp \
     codestylepool.cpp \
     codestyleeditor.cpp \
-    circularclipboard.cpp
+    circularclipboard.cpp \
+    itextmark.cpp
 
 HEADERS += texteditorplugin.h \
     textfilewizard.h \
@@ -229,7 +230,8 @@ HEADERS += texteditorplugin.h \
     codestylepool.h \
     codestyleeditor.h \
     basefilefind_p.h \
-    circularclipboard.h
+    circularclipboard.h \
+    itextmark.h
 
 FORMS += \
     displaysettingspage.ui \
diff --git a/src/plugins/texteditor/texteditor.qbs b/src/plugins/texteditor/texteditor.qbs
index 23a433a32759f490545dc1127ab0e7395ab34add..c12adef8c5eea816df7cdbfb9bf9c4a75a4a971b 100644
--- a/src/plugins/texteditor/texteditor.qbs
+++ b/src/plugins/texteditor/texteditor.qbs
@@ -95,6 +95,8 @@ QtcPlugin {
         "ioutlinewidget.h",
         "itexteditor.cpp",
         "itexteditor.h",
+        "itextmark.cpp",
+        "itextmark.h",
         "linenumberfilter.cpp",
         "linenumberfilter.h",
         "normalindenter.cpp",
diff --git a/tests/auto/qml/qmleditor/qmlcodeformatter/qmlcodeformatter.pro b/tests/auto/qml/qmleditor/qmlcodeformatter/qmlcodeformatter.pro
index de290a00919d16b42ae6b08068ab2de27dca04e3..aa477ea5c980cca698c6506130094a52d74e0f58 100644
--- a/tests/auto/qml/qmleditor/qmlcodeformatter/qmlcodeformatter.pro
+++ b/tests/auto/qml/qmleditor/qmlcodeformatter/qmlcodeformatter.pro
@@ -9,10 +9,12 @@ include($$SRCDIR/libs/languageutils/languageutils.pri)
 SOURCES += \
     tst_qmlcodeformatter.cpp \
     $$SRCDIR/plugins/qmljstools/qmljsqtstylecodeformatter.cpp \
-    $$SRCDIR/plugins/texteditor/basetextdocumentlayout.cpp
+    $$SRCDIR/plugins/texteditor/basetextdocumentlayout.cpp \
+    $$SRCDIR/plugins/texteditor/itextmark.cpp
 
 HEADERS += \
     $$SRCDIR/plugins/qmljstools/qmljsqtstylecodeformatter.h \
-    $$SRCDIR/plugins/texteditor/basetextdocumentlayout.h
+    $$SRCDIR/plugins/texteditor/basetextdocumentlayout.h \
+    $$SRCDIR/plugins/texteditor/itextmark.h
 
 INCLUDEPATH += $$SRCDIR/plugins $$SRCDIR/libs