summaryrefslogtreecommitdiff
path: root/src/libs/qmljs/qmljsmodelmanagerinterface.h
diff options
context:
space:
mode:
authorChristian Kamm <christian.d.kamm@nokia.com>2010-09-24 14:05:34 +0200
committerChristian Kamm <christian.d.kamm@nokia.com>2010-09-24 14:11:06 +0200
commit3f505e9982e2a07ce41e650d9ae547c436f12a43 (patch)
treef1c88bc932678aebc7054d7429f4d30acc66bced /src/libs/qmljs/qmljsmodelmanagerinterface.h
parent6755edc351c466262b872fed6f136a8159ece058 (diff)
downloadqt-creator-3f505e9982e2a07ce41e650d9ae547c436f12a43.tar.gz
QmlJS: Add initial 'Find Usages' support.
Diffstat (limited to 'src/libs/qmljs/qmljsmodelmanagerinterface.h')
-rw-r--r--src/libs/qmljs/qmljsmodelmanagerinterface.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/libs/qmljs/qmljsmodelmanagerinterface.h b/src/libs/qmljs/qmljsmodelmanagerinterface.h
index faec7f58da..d833fbb749 100644
--- a/src/libs/qmljs/qmljsmodelmanagerinterface.h
+++ b/src/libs/qmljs/qmljsmodelmanagerinterface.h
@@ -80,13 +80,39 @@ public:
QStringList importPaths;
};
+ class WorkingCopy
+ {
+ public:
+ typedef QHash<QString, QPair<QString, int> > Table;
+
+ void insert(const QString &fileName, const QString &source, int revision = 0)
+ { _elements.insert(fileName, qMakePair(source, revision)); }
+
+ bool contains(const QString &fileName) const
+ { return _elements.contains(fileName); }
+
+ QString source(const QString &fileName) const
+ { return _elements.value(fileName).first; }
+
+ QPair<QString, int> get(const QString &fileName) const
+ { return _elements.value(fileName); }
+
+ Table all() const
+ { return _elements; }
+
+ private:
+ Table _elements;
+ };
+
public:
ModelManagerInterface(QObject *parent = 0);
virtual ~ModelManagerInterface();
static ModelManagerInterface *instance();
+ virtual WorkingCopy workingCopy() const = 0;
virtual QmlJS::Snapshot snapshot() const = 0;
+
virtual void updateSourceFiles(const QStringList &files,
bool emitDocumentOnDiskChanged) = 0;
virtual void fileChangedOnDisk(const QString &path) = 0;