You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdevelop/lib/interfaces/tdevplugin.cpp

140 lines
3.7 KiB

/* 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"