Introduced token-based operations for QML/JS quick-fixes.

This commit is contained in:
Roberto Raggi
2010-06-04 11:02:01 +02:00
parent 31748e7377
commit 2ede9773bb
2 changed files with 55 additions and 0 deletions

View File

@@ -31,6 +31,7 @@
#define QMLJSQUICKFIX_H
#include <texteditor/quickfix.h>
#include <qmljs/parser/qmljsastfwd_p.h>
namespace QmlJSEditor {
@@ -38,6 +39,31 @@ class ModelManagerInterface;
namespace Internal {
class QmlJSQuickFixOperation: public TextEditor::QuickFixOperation
{
Q_DISABLE_COPY(QmlJSQuickFixOperation)
public:
QmlJSQuickFixOperation(TextEditor::BaseTextEditor *editor);
virtual ~QmlJSQuickFixOperation();
protected:
using TextEditor::QuickFixOperation::move;
using TextEditor::QuickFixOperation::replace;
using TextEditor::QuickFixOperation::insert;
using TextEditor::QuickFixOperation::remove;
using TextEditor::QuickFixOperation::flip;
using TextEditor::QuickFixOperation::copy;
using TextEditor::QuickFixOperation::textOf;
using TextEditor::QuickFixOperation::charAt;
// token based operations
void move(const QmlJS::AST::SourceLocation &loc, int to);
void replace(const QmlJS::AST::SourceLocation &loc, const QString &replacement);
void remove(const QmlJS::AST::SourceLocation &loc);
void copy(const QmlJS::AST::SourceLocation &loc, int to);
};
class QmlJSQuickFixCollector: public TextEditor::QuickFixCollector
{
Q_OBJECT