UiCodeModelManager: Clean up API

Task-number: QTCREATORBUG-9763

Change-Id: Ie138f63b8abd5333262debf311aa3ebbd88c81d5
Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
Tobias Hunger
2013-08-02 11:55:18 +02:00
committed by hjk
parent d0eb10582b
commit 5345c96ea5
4 changed files with 10 additions and 16 deletions

View File

@@ -751,7 +751,7 @@ void CMakeProject::createUiCodeModelSupport()
uiFileHash.insert(uiFile, uiHeaderFile(uiFile));
}
QtSupport::UiCodeModelManager::instance()->update(this, uiFileHash);
QtSupport::UiCodeModelManager::update(this, uiFileHash);
}
// CMakeFile

View File

@@ -610,7 +610,7 @@ void Qt4Project::updateCppCodeModel()
setProjectLanguage(ProjectExplorer::Constants::LANG_CXX, !allFiles.isEmpty());
// Also update Ui Code Model Support:
QtSupport::UiCodeModelManager::instance()->update(this, uiCodeModelData);
QtSupport::UiCodeModelManager::update(this, uiCodeModelData);
m_codeModelFuture = modelmanager->updateProjectInfo(pinfo);
}

View File

@@ -324,11 +324,6 @@ UiCodeModelManager::UiCodeModelManager() :
this, SLOT(editorWasChanged(Core::IEditor*)));
}
UiCodeModelManager *UiCodeModelManager::instance()
{
return m_instance;
}
UiCodeModelManager::~UiCodeModelManager()
{
m_instance = 0;
@@ -348,7 +343,7 @@ void UiCodeModelManager::update(ProjectExplorer::Project *project, QHash<QString
CppTools::CppModelManagerInterface *mm = CppTools::CppModelManagerInterface::instance();
// Find support to add/update:
QList<UiCodeModelSupport *> oldSupport = m_projectUiSupport.value(project);
QList<UiCodeModelSupport *> oldSupport = m_instance->m_projectUiSupport.value(project);
QList<UiCodeModelSupport *> newSupport;
QHash<QString, QString>::const_iterator it;
for (it = uiHeaders.constBegin(); it != uiHeaders.constEnd(); ++it) {
@@ -370,13 +365,14 @@ void UiCodeModelManager::update(ProjectExplorer::Project *project, QHash<QString
}
// Update state:
m_projectUiSupport.insert(project, newSupport);
m_instance->m_projectUiSupport.insert(project, newSupport);
}
void UiCodeModelManager::updateContents(const QString &uiFileName, const QString &contents)
{
QHash<ProjectExplorer::Project *, QList<UiCodeModelSupport *> >::iterator i;
for (i = m_projectUiSupport.begin(); i != m_projectUiSupport.end(); ++i) {
for (i = m_instance->m_projectUiSupport.begin();
i != m_instance->m_projectUiSupport.end(); ++i) {
foreach (UiCodeModelSupport *support, i.value()) {
if (support->uiFileName() == uiFileName)
support->updateFromEditor(contents);

View File

@@ -93,11 +93,8 @@ class QTSUPPORT_EXPORT UiCodeModelManager : public QObject
Q_OBJECT
public:
static UiCodeModelManager *instance();
~UiCodeModelManager();
// This needs to be called by the project *before* the C++ code model is updated!
void update(ProjectExplorer::Project *project,
static void update(ProjectExplorer::Project *project,
QHash<QString, QString> uiHeaders);
private slots:
@@ -109,8 +106,9 @@ private slots:
private:
UiCodeModelManager();
~UiCodeModelManager();
void updateContents(const QString &uiFileName, const QString &contents);
static void updateContents(const QString &uiFileName, const QString &contents);
QHash<ProjectExplorer::Project *, QList<UiCodeModelSupport *> > m_projectUiSupport;
Core::IEditor *m_lastEditor;