forked from qt-creator/qt-creator
Introduced the quick fix engine
This commit is contained in:
@@ -55,45 +55,6 @@ namespace Internal {
|
||||
|
||||
class CppModelManager;
|
||||
|
||||
class QuickFixOperation;
|
||||
typedef QSharedPointer<QuickFixOperation> QuickFixOperationPtr;
|
||||
|
||||
class QuickFixOperation
|
||||
{
|
||||
Q_DISABLE_COPY(QuickFixOperation)
|
||||
|
||||
public:
|
||||
QuickFixOperation(CPlusPlus::Document::Ptr doc,
|
||||
const CPlusPlus::Snapshot &snapshot);
|
||||
|
||||
virtual ~QuickFixOperation();
|
||||
|
||||
virtual QString description() const = 0;
|
||||
virtual void apply(QTextCursor cursor) = 0;
|
||||
|
||||
CPlusPlus::Document::Ptr document() const { return _doc; }
|
||||
CPlusPlus::Snapshot snapshot() const { return _snapshot; }
|
||||
|
||||
QTextCursor textCursor() const;
|
||||
void setTextCursor(const QTextCursor &tc);
|
||||
|
||||
protected:
|
||||
const CPlusPlus::Token &tokenAt(unsigned index) const;
|
||||
void getTokenStartPosition(unsigned index, unsigned *line,
|
||||
unsigned *column) const;
|
||||
void getTokenEndPosition(unsigned index, unsigned *line,
|
||||
unsigned *column) const;
|
||||
|
||||
QTextCursor cursor(unsigned index) const;
|
||||
QTextCursor moveAtStartOfToken(unsigned index) const;
|
||||
QTextCursor moveAtEndOfToken(unsigned index) const;
|
||||
|
||||
private:
|
||||
CPlusPlus::Document::Ptr _doc;
|
||||
CPlusPlus::Snapshot _snapshot;
|
||||
QTextCursor _textCursor;
|
||||
};
|
||||
|
||||
class CppEditorSupport: public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
@@ -102,9 +63,6 @@ public:
|
||||
CppEditorSupport(CppModelManager *modelManager);
|
||||
virtual ~CppEditorSupport();
|
||||
|
||||
QList<QuickFixOperationPtr> quickFixes() const
|
||||
{ return _quickFixes; }
|
||||
|
||||
TextEditor::ITextEditor *textEditor() const;
|
||||
void setTextEditor(TextEditor::ITextEditor *textEditor);
|
||||
|
||||
@@ -120,9 +78,6 @@ private Q_SLOTS:
|
||||
void updateDocument();
|
||||
void updateDocumentNow();
|
||||
|
||||
void checkDocument();
|
||||
void checkDocumentNow();
|
||||
|
||||
private:
|
||||
enum { UPDATE_DOCUMENT_DEFAULT_INTERVAL = 150 };
|
||||
|
||||
@@ -132,10 +87,6 @@ private:
|
||||
int _updateDocumentInterval;
|
||||
QFuture<void> _documentParser;
|
||||
QString _cachedContents;
|
||||
|
||||
QTimer *_quickFixTimer;
|
||||
TextEditor::ITextMark *_quickFixMark;
|
||||
QList<QuickFixOperationPtr> _quickFixes;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
|
||||
Reference in New Issue
Block a user