Commit 06e6d88b authored by Christian Kamm's avatar Christian Kamm
Browse files

Fix compilation of QmlJS code formatter test.



Done by moving ITextMark and ITextMarkable from itexteditor.h
to itextmark.h. The test uses parts of the texteditor plugin by
compiling some of its files. For that to work, the code has to be
fairly stand-alone. The reference to EditorManager in
itexteditor.cpp broke it.

Long term, the test should become a plugin based test to avoid this
kind of problem.

Change-Id: Ibae3bcd7365eb4e2814cd07011cad0180507e82b
Reviewed-by: default avatarFawzi Mohamed <fawzi.mohamed@nokia.com>
parent 6488b69e
......@@ -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;
......
......@@ -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
......
/**************************************************************************
**
** 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;
}
/**************************************************************************
**
** 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
......@@ -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 \
......
......@@ -95,6 +95,8 @@ QtcPlugin {
"ioutlinewidget.h",
"itexteditor.cpp",
"itexteditor.h",
"itextmark.cpp",
"itextmark.h",
"linenumberfilter.cpp",
"linenumberfilter.h",
"normalindenter.cpp",
......
......@@ -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
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment