diff options
Diffstat (limited to 'lib/interfaces/tdevplugin.cpp')
-rw-r--r-- | lib/interfaces/tdevplugin.cpp | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/lib/interfaces/tdevplugin.cpp b/lib/interfaces/tdevplugin.cpp new file mode 100644 index 00000000..42d30cc8 --- /dev/null +++ b/lib/interfaces/tdevplugin.cpp @@ -0,0 +1,139 @@ +/* This file is part of the KDE project + Copyright (C) 2002 Simon Hausmann <hausmann@kde.org> + Copyright (C) 2002 Matthias Hoelzer-Kluepfel <hoelzer@kde.org> + Copyright (C) 2002 Harald Fernengel <harry@kdevelop.org> + Copyright (C) 2002 F@lk Brettschneider <falkbr@kdevelop.org> + Copyright (C) 2003 Julian Rockey <linux@jrockey.com> + Copyright (C) 2003 Roberto Raggi <roberto@kdevelop.org> + Copyright (C) 2003 Jens Dagerbo <jens.dagerbo@swipnet.se> + Copyright (C) 2003 Mario Scalas <mario.scalas@libero.it> + Copyright (C) 2003-2004 Alexander Dymo <adymo@kdevelop.org> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "tdevplugin.h" + +#include "tdevapi.h" +#include "tdevcore.h" +#include "tdevplugininfo.h" +#include "tdevpartcontroller.h" +#include "tdevplugincontroller.h" + +#include <tdeaction.h> +#include <tdeglobal.h> +#include <kiconloader.h> + +#include <tqdom.h> +#include <tqmap.h> + +#include <assert.h> + +/////////////////////////////////////////////////////////////////////////////// +// struct TDevPlugin::Private +/////////////////////////////////////////////////////////////////////////////// + +struct TDevPlugin::Private +{ + const TDevPluginInfo *info; +}; + +/////////////////////////////////////////////////////////////////////////////// +// class TDevPlugin +/////////////////////////////////////////////////////////////////////////////// + +TDevPlugin::TDevPlugin(const TDevPluginInfo *info, TQObject *parent, const char *name) + :TQObject(parent, name), d(new Private) +{ + assert(parent->inherits( "TDevApi" )); + m_api = static_cast<TDevApi *>( parent ); + + actionCollection()->setHighlightingEnabled( true ); + + d->info = info; + TDEGlobal::iconLoader()->addAppDir("tdevelop"); +} + +TDevPlugin::~TDevPlugin() +{ + delete( d ); +} + +TDevMainWindow *TDevPlugin::mainWindow() +{ + return m_api->mainWindow(); +} + +TDevCore *TDevPlugin::core() const +{ + return m_api->core(); +} + +TDevProject *TDevPlugin::project() const +{ + return m_api->project(); +} + +CodeModel *TDevPlugin::codeModel() const +{ + return m_api->codeModel(); +} + +TQDomDocument *TDevPlugin::projectDom() const +{ + return m_api->projectDom(); +} + +TDevLanguageSupport *TDevPlugin::languageSupport() const +{ + return m_api->languageSupport(); +} + +TDevPartController *TDevPlugin::partController() const +{ + return m_api->partController(); +} + +TDevPluginController *TDevPlugin::pluginController() const +{ + return m_api->pluginController(); +} + +void TDevPlugin::restorePartialProjectSession(const TQDomElement* /*el*/) +{ + // there's still nothing to do in the base class +} + +void TDevPlugin::savePartialProjectSession(TQDomElement* /*el*/) +{ + // there's still nothing to do in the base class +} + +TDevCodeRepository * TDevPlugin::codeRepository() const +{ + return m_api->codeRepository(); +} + +TDevPlugin * TDevPlugin::extension_internal(const TQString &serviceType, const TQString &constraint) +{ + return m_api->pluginController()->extension(serviceType, constraint); +} + +const TDevPluginInfo *TDevPlugin::info() +{ + return d->info; +} + +#include "tdevplugin.moc" |