KDevelop API Documentation

ProjectManager Class Reference

#include <projectmanager.h>

Inheritance diagram for ProjectManager:

QObject KXMLGUIClient List of all members.

Public Slots

bool loadProject (const KURL &url)
bool loadKDevelop2Project (const KURL &url)
bool closeProject ()

Public Member Functions

 ~ProjectManager ()
void loadSettings ()
void saveSettings ()
void loadDefaultProject ()
bool projectLoaded () const
KURL projectFile () const
void createActions (KActionCollection *ac)
ProjectSessionprojectSession () const

Static Public Member Functions

QString projectDirectory (const QString &path, bool absolute)
ProjectManagergetInstance ()

Private Slots

void slotOpenProject ()
void slotProjectOptions ()
void loadLocalParts ()
void unloadLocalParts ()
void updateActiveLangMenu ()
void switchLanguage (const QString &lang)

Private Member Functions

 ProjectManager ()
void setupActions ()
void getGeneralInfo ()
bool checkNewService (const KService::Ptr &service)
bool loadProjectFile ()
bool saveProjectFile ()
bool loadProjectPart ()
void unloadProjectPart ()
bool loadLanguageSupport (const QString &lang)
void unloadLanguageSupport ()
bool loadCreateFileSupport ()
void unloadCreateFileSupport ()

Private Attributes

ProjectInfom_info
KActionm_closeProjectAction
KActionm_projectOptionsAction
KRecentFilesActionm_openRecentProjectAction
KSelectActionm_activeLanguage
ProjectSessionm_pProjectSession

Static Private Attributes

ProjectManagers_instance = 0

Constructor & Destructor Documentation

ProjectManager::~ProjectManager  ) 
 

Definition at line 85 of file projectmanager.cpp.

References m_info, and m_pProjectSession.

ProjectManager::ProjectManager  )  [private]
 

Definition at line 79 of file projectmanager.cpp.


Member Function Documentation

bool ProjectManager::checkNewService const KService::Ptr service  )  [private]
 

Definition at line 674 of file projectmanager.cpp.

References checkNewService(), endl(), kdDebug(), ProjectInfo::m_activeLanguage, ProjectInfo::m_ignoreParts, m_info, ProjectInfo::m_keywords, and ProjectInfo::m_loadParts.

Referenced by checkNewService(), and loadLocalParts().

bool ProjectManager::closeProject  )  [slot]
 

Definition at line 332 of file projectmanager.cpp.

References PartController::closeAllWindows(), API::codeModel(), Core::doEmitProjectClosed(), API::getInstance(), TopLevel::getInstance(), Core::getInstance(), PartController::getInstance(), PluginController::getInstance(), PluginController::globalParts(), KURL::isLocalFile(), m_activeLanguage, m_closeProjectAction, m_info, ProjectInfo::m_localParts, m_pProjectSession, m_projectOptionsAction, ProjectInfo::m_projectURL, KDevMainWindow::prepareToCloseViews(), projectLoaded(), saveProjectFile(), ProjectSession::saveToFile(), ProjectInfo::sessionFile(), KAction::setEnabled(), KDevApi::setProjectDom(), PartController::slotCloseAllWindows(), unloadCreateFileSupport(), unloadLanguageSupport(), unloadLocalParts(), unloadProjectPart(), and CodeModel::wipeout().

Referenced by createActions(), loadProject(), and Core::queryClose().

void ProjectManager::createActions KActionCollection ac  ) 
 

Definition at line 98 of file projectmanager.cpp.

References closeProject(), createActions(), KRecentFilesAction::loadEntries(), loadProject(), m_activeLanguage, m_closeProjectAction, m_openRecentProjectAction, m_projectOptionsAction, KAction::setEnabled(), KAction::setToolTip(), KAction::setWhatsThis(), slotOpenProject(), slotProjectOptions(), and switchLanguage().

Referenced by createActions(), and MainWindowShare::createActions().

void ProjectManager::getGeneralInfo  )  [private]
 

Definition at line 474 of file projectmanager.cpp.

References getAttribute(), getAttributeList(), ProjectInfo::m_document, ProjectInfo::m_ignoreParts, m_info, ProjectInfo::m_keywords, ProjectInfo::m_language, ProjectInfo::m_projectPlugin, and ProjectInfo::m_secondaryLanguages.

Referenced by loadLocalParts(), loadProject(), and updateActiveLangMenu().

ProjectManager * ProjectManager::getInstance  )  [static]
 

Definition at line 91 of file projectmanager.cpp.

References s_instance.

Referenced by MainWindowShare::createActions(), MainWindow::loadSettings(), main(), Core::openProject(), projectDirectory(), Core::queryClose(), saveSettings(), and MainWindow::saveSettings().

bool ProjectManager::loadCreateFileSupport  )  [private]
 

Definition at line 586 of file projectmanager.cpp.

References endl(), PluginController::getInstance(), API::getInstance(), PluginController::integratePart(), kdDebug(), KDEVELOP_PLUGIN_VERSION, and KDevApi::setCreateFile().

Referenced by loadProject().

void ProjectManager::loadDefaultProject  ) 
 

Definition at line 243 of file projectmanager.cpp.

References loadProject(), KConfigBase::readBoolEntry(), KConfigBase::readPathEntry(), and KConfigBase::setGroup().

Referenced by main().

bool ProjectManager::loadKDevelop2Project const KURL url  )  [slot]
 

Definition at line 719 of file projectmanager.cpp.

References KGlobal::dirs(), KStandardDirs::findExe(), KURL::isLocalFile(), KURL::isMalformed(), loadKDevelop2Project(), loadProject(), KURL::path(), projectFile(), KProcess::setWorkingDirectory(), and KShellProcess::start().

Referenced by loadKDevelop2Project(), and slotOpenProject().

bool ProjectManager::loadLanguageSupport const QString lang  )  [private]
 

Definition at line 536 of file projectmanager.cpp.

References endl(), PluginController::getInstance(), API::getInstance(), PluginController::integratePart(), KSelectAction::items, kdDebug(), KDEVELOP_PLUGIN_VERSION, loadLanguageSupport(), m_activeLanguage, ProjectInfo::m_activeLanguage, m_info, ProjectInfo::m_language, main(), KSelectAction::setCurrentItem(), and KDevApi::setLanguageSupport().

Referenced by loadLanguageSupport(), loadProject(), and switchLanguage().

void ProjectManager::loadLocalParts  )  [private, slot]
 

Definition at line 623 of file projectmanager.cpp.

References checkNewService(), endl(), getGeneralInfo(), PluginController::getInstance(), PluginController::integratePart(), kdDebug(), ProjectInfo::m_ignoreParts, m_info, ProjectInfo::m_loadParts, ProjectInfo::m_localParts, and PluginController::removePart().

Referenced by loadProject(), slotProjectOptions(), and switchLanguage().

bool ProjectManager::loadProject const KURL url  )  [slot]
 

Definition at line 256 of file projectmanager.cpp.

References KRecentFilesAction::addURL(), closeProject(), Core::doEmitProjectOpened(), endl(), getGeneralInfo(), Core::getInstance(), PluginController::getInstance(), PluginController::globalParts(), KURL::isLocalFile(), KURL::isMalformed(), kdWarning(), loadCreateFileSupport(), loadLanguageSupport(), loadLocalParts(), loadProject(), loadProjectFile(), loadProjectPart(), m_closeProjectAction, m_info, ProjectInfo::m_language, ProjectInfo::m_localParts, m_openRecentProjectAction, m_pProjectSession, m_projectOptionsAction, ProjectInfo::m_projectURL, main(), KURL::path(), projectFile(), projectLoaded(), KRecentFilesAction::removeURL(), ProjectSession::restoreFromFile(), saveSettings(), ProjectInfo::sessionFile(), KListAction::setCurrentItem(), KAction::setEnabled(), unloadCreateFileSupport(), unloadLanguageSupport(), and updateActiveLangMenu().

Referenced by createActions(), loadDefaultProject(), loadKDevelop2Project(), loadProject(), main(), Core::openProject(), and slotOpenProject().

bool ProjectManager::loadProjectFile  )  [private]
 

Definition at line 379 of file projectmanager.cpp.

References API::getInstance(), ProjectInfo::m_document, m_info, ProjectInfo::m_projectURL, main(), KURL::prettyURL(), and KDevApi::setProjectDom().

Referenced by loadProject().

bool ProjectManager::loadProjectPart  )  [private]
 

Definition at line 487 of file projectmanager.cpp.

References endl(), KURL::fileName(), PluginController::getInstance(), API::getInstance(), PluginController::integratePart(), kdDebug(), m_info, ProjectInfo::m_projectPlugin, ProjectInfo::m_projectURL, main(), KDevProject::openProject(), projectDirectory(), KDevApi::projectDom(), KService::Ptr, and KDevApi::setProject().

Referenced by loadProject().

void ProjectManager::loadSettings  ) 
 

Definition at line 215 of file projectmanager.cpp.

Referenced by MainWindow::loadSettings().

QString ProjectManager::projectDirectory const QString path,
bool  absolute
[static]
 

Definition at line 69 of file projectmanager.cpp.

References KURL::cleanPath(), getInstance(), KURL::path(), projectDirectory(), and projectFile().

Referenced by loadProjectPart(), and projectDirectory().

KURL ProjectManager::projectFile  )  const
 

Definition at line 702 of file projectmanager.cpp.

References m_info, and ProjectInfo::m_projectURL.

Referenced by loadKDevelop2Project(), loadProject(), projectDirectory(), and saveSettings().

bool ProjectManager::projectLoaded  )  const
 

Definition at line 709 of file projectmanager.cpp.

References m_info.

Referenced by closeProject(), loadProject(), Core::queryClose(), and saveSettings().

ProjectSession * ProjectManager::projectSession  )  const
 

Definition at line 714 of file projectmanager.cpp.

References m_pProjectSession.

bool ProjectManager::saveProjectFile  )  [private]
 

Definition at line 425 of file projectmanager.cpp.

References KTempFile::close(), API::getInstance(), KURL::isLocalFile(), m_info, ProjectInfo::m_projectURL, main(), KTempFile::name(), KURL::path(), KDevApi::projectDom(), KTempFile::setAutoDelete(), KTempFile::status(), and KTempFile::textStream().

Referenced by closeProject(), and slotProjectOptions().

void ProjectManager::saveSettings  ) 
 

Definition at line 219 of file projectmanager.cpp.

References getInstance(), m_openRecentProjectAction, projectFile(), projectLoaded(), KRecentFilesAction::saveEntries(), KConfigBase::setGroup(), KConfigBase::writeEntry(), and KConfigBase::writePathEntry().

Referenced by loadProject(), and MainWindow::saveSettings().

void ProjectManager::setupActions  )  [private]
 

void ProjectManager::slotOpenProject  )  [private, slot]
 

Definition at line 138 of file projectmanager.cpp.

References KURL::isEmpty(), loadKDevelop2Project(), loadProject(), main(), and KURL::path().

Referenced by createActions().

void ProjectManager::slotProjectOptions  )  [private, slot]
 

Definition at line 156 of file projectmanager.cpp.

References KDialogBase::addVBoxPage(), Core::doEmitProjectConfigWidget(), Core::getInstance(), loadLocalParts(), main(), KConfigBase::readNumEntry(), saveProjectFile(), KConfigBase::setGroup(), updateActiveLangMenu(), and KConfigBase::writeEntry().

Referenced by createActions().

void ProjectManager::switchLanguage const QString lang  )  [private, slot]
 

Definition at line 202 of file projectmanager.cpp.

References Core::doEmitLanguageChanged(), Core::getInstance(), loadLanguageSupport(), loadLocalParts(), m_info, ProjectInfo::m_loadParts, switchLanguage(), unloadLanguageSupport(), and unloadLocalParts().

Referenced by createActions(), and switchLanguage().

void ProjectManager::unloadCreateFileSupport  )  [private]
 

Definition at line 615 of file projectmanager.cpp.

References KDevApi::createFile(), PluginController::getInstance(), API::getInstance(), PluginController::removePart(), and KDevApi::setCreateFile().

Referenced by closeProject(), and loadProject().

void ProjectManager::unloadLanguageSupport  )  [private]
 

Definition at line 577 of file projectmanager.cpp.

References PluginController::getInstance(), API::getInstance(), KDevApi::languageSupport(), PluginController::removePart(), and KDevApi::setLanguageSupport().

Referenced by closeProject(), loadProject(), and switchLanguage().

void ProjectManager::unloadLocalParts  )  [private, slot]
 

Definition at line 663 of file projectmanager.cpp.

References PluginController::getInstance(), m_info, ProjectInfo::m_localParts, and PluginController::removePart().

Referenced by closeProject(), and switchLanguage().

void ProjectManager::unloadProjectPart  )  [private]
 

Definition at line 526 of file projectmanager.cpp.

References KDevProject::closeProject(), PluginController::getInstance(), API::getInstance(), KDevApi::project(), PluginController::removePart(), and KDevApi::setProject().

Referenced by closeProject().

void ProjectManager::updateActiveLangMenu  )  [private, slot]
 

Definition at line 192 of file projectmanager.cpp.

References getGeneralInfo(), KSelectAction::items, ProjectInfo::m_activeLanguage, m_activeLanguage, m_info, ProjectInfo::m_language, ProjectInfo::m_secondaryLanguages, KSelectAction::setCurrentItem(), KAction::setEnabled(), and KSelectAction::setItems().

Referenced by loadProject(), and slotProjectOptions().


Member Data Documentation

KSelectAction* ProjectManager::m_activeLanguage [private]
 

Definition at line 81 of file projectmanager.h.

Referenced by closeProject(), createActions(), loadLanguageSupport(), and updateActiveLangMenu().

KAction* ProjectManager::m_closeProjectAction [private]
 

Definition at line 79 of file projectmanager.h.

Referenced by closeProject(), createActions(), and loadProject().

ProjectInfo* ProjectManager::m_info [private]
 

Definition at line 77 of file projectmanager.h.

Referenced by checkNewService(), closeProject(), getGeneralInfo(), loadLanguageSupport(), loadLocalParts(), loadProject(), loadProjectFile(), loadProjectPart(), projectFile(), projectLoaded(), saveProjectFile(), switchLanguage(), unloadLocalParts(), updateActiveLangMenu(), and ~ProjectManager().

KRecentFilesAction* ProjectManager::m_openRecentProjectAction [private]
 

Definition at line 80 of file projectmanager.h.

Referenced by createActions(), loadProject(), and saveSettings().

ProjectSession* ProjectManager::m_pProjectSession [private]
 

Definition at line 85 of file projectmanager.h.

Referenced by closeProject(), loadProject(), projectSession(), and ~ProjectManager().

KAction * ProjectManager::m_projectOptionsAction [private]
 

Definition at line 79 of file projectmanager.h.

Referenced by closeProject(), createActions(), and loadProject().

ProjectManager * ProjectManager::s_instance = 0 [static, private]
 

Definition at line 77 of file projectmanager.cpp.

Referenced by getInstance().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for KDevelop Version 3.0.4.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Oct 6 17:39:28 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003