• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • TDevelop Interfaces Library
 

TDevelop Interfaces Library

  • lib
  • interfaces
kdevplugin.h
Go to the documentation of this file.
1 /* This file is part of the KDE project
2  Copyright (C) 1999-2001 Bernd Gehrmann <bernd@kdevelop.org>
3  Copyright (C) 2004 Alexander Dymo <adymo@kdevelop.org>
4 
5  This library is free software; you can redistribute it and/or
6  modify it under the terms of the GNU Library General Public
7  License as published by the Free Software Foundation; either
8  version 2 of the License, or (at your option) any later version.
9 
10  This library is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  Library General Public License for more details.
14 
15  You should have received a copy of the GNU Library General Public License
16  along with this library; see the file COPYING.LIB. If not, write to
17  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18  Boston, MA 02110-1301, USA.
19 */
20 #ifndef KDEVPLUGIN_H
21 #define KDEVPLUGIN_H
22 
23 #include <tqobject.h>
24 #include <kxmlguiclient.h>
25 #include "kdevapi.h"
26 
27 class KDevCore;
28 class KDevProject;
29 class KDevVersionControl;
30 class KDevLanguageSupport;
31 class KDevPartController;
32 class KDevMainWindow;
33 class KDevCodeRepository;
34 class CodeModel;
35 class KDevPluginInfo;
36 class TQDomElement;
37 
46 #define TDEVELOP_PLUGIN_VERSION 5
47 
107 class KDevPlugin: public TQObject, public KXMLGUIClient
108 {
109  Q_OBJECT
110 
111 
112 public:
122  KDevPlugin(const KDevPluginInfo *info, TQObject *parent, const char *name = 0);
123 
125  virtual ~KDevPlugin();
126 
129  const KDevPluginInfo* info();
130 
132  KDevMainWindow *mainWindow();
133 
136  KDevCore *core() const;
137 
139  KDevProject *project() const;
140 
142  KDevLanguageSupport *languageSupport() const;
143 
145  CodeModel *codeModel() const;
146 
148  TQDomDocument *projectDom() const;
149 
151  KDevPartController *partController() const;
152 
154  virtual KDevPluginController *pluginController() const;
155 
157  KDevCodeRepository* codeRepository() const;
158 
170  template <class Extension>
171  Extension *extension(const TQString &serviceType, const TQString &constraint = "")
172  {
173  return static_cast<Extension*>(extension_internal(serviceType, constraint));
174  }
175 
187  virtual void restorePartialProjectSession(const TQDomElement* el);
188 
191  virtual void savePartialProjectSession(TQDomElement* el);
192 
193 private:
194  KDevPlugin *extension_internal(const TQString &serviceType, const TQString &constraint = "");
195 
196  KDevApi *m_api;
197  class Private;
198  Private *d;
199 };
200 
201 #endif
KDevPlugin
The base class for all TDevelop plugins.
Definition: kdevplugin.h:107
KDevPlugin::partController
KDevPartController * partController() const
Definition: kdevplugin.cpp:104
KDevPlugin::codeRepository
KDevCodeRepository * codeRepository() const
Definition: kdevplugin.cpp:124
KDevProject
KDevelop project interface.
Definition: kdevproject.h:48
KDevCodeRepository
Code repository - the persistent symbol store accessor.
Definition: kdevcoderepository.h:48
KDevPlugin::core
KDevCore * core() const
Definition: kdevplugin.cpp:79
KDevPlugin::mainWindow
KDevMainWindow * mainWindow()
Definition: kdevplugin.cpp:74
KDevPlugin::project
KDevProject * project() const
Definition: kdevplugin.cpp:84
KDevPlugin::~KDevPlugin
virtual ~KDevPlugin()
Destructs a plugin.
Definition: kdevplugin.cpp:69
KDevPlugin::languageSupport
KDevLanguageSupport * languageSupport() const
Definition: kdevplugin.cpp:99
KDevApi
The interface to KDevelop&#39;s core components.
Definition: kdevapi.h:47
KDevPlugin::pluginController
virtual KDevPluginController * pluginController() const
Definition: kdevplugin.cpp:109
KDevPlugin::KDevPlugin
KDevPlugin(const KDevPluginInfo *info, TQObject *parent, const char *name=0)
Constructs a plugin.
Definition: kdevplugin.cpp:57
KDevLanguageSupport
KDevelop language support interface - the base class for all programming language support plugins...
Definition: kdevlanguagesupport.h:61
KDevPlugin::projectDom
TQDomDocument * projectDom() const
Definition: kdevplugin.cpp:94
kdevapi.h
KDevelop API interface.
KDevMainWindow
KDevelop main window interface.
Definition: kdevmainwindow.h:40
KDevPluginController
The base class for TDevelop plugin controller.
Definition: kdevplugincontroller.h:39
KDevPlugin::codeModel
CodeModel * codeModel() const
Definition: kdevplugin.cpp:89
CodeModel
Code Model - a memory symbol store.
Definition: codemodel.h:324
KDevPlugin::restorePartialProjectSession
virtual void restorePartialProjectSession(const TQDomElement *el)
Override this base class method to restore any settings which differs from project to project...
Definition: kdevplugin.cpp:114
KDevPlugin::info
const KDevPluginInfo * info()
Provides an information about the plugin.
Definition: kdevplugin.cpp:134
KDevPluginInfo
Information about TDevelop plugin.
Definition: kdevplugininfo.h:39
KDevPlugin::savePartialProjectSession
virtual void savePartialProjectSession(TQDomElement *el)
Saves session settings.
Definition: kdevplugin.cpp:119
KDevCore
A KDevCore class defines an object which takes care about the cooperation between the various plug-in...
Definition: kdevcore.h:300
KDevPartController
Interface to control loaded parts and other documents.
Definition: kdevpartcontroller.h:56
KDevPlugin::extension
Extension * extension(const TQString &serviceType, const TQString &constraint="")
Queries for the plugin which supports given service type (such plugins are called extensions in KDeve...
Definition: kdevplugin.h:171

TDevelop Interfaces Library

Skip menu "TDevelop Interfaces Library"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

TDevelop Interfaces Library

Skip menu "TDevelop Interfaces Library"
  • buildtools
  •   lib
  •     base
  •     parsers
  •       autotools
  •       qmake
  •     widgets
  •   api
  • languages
  •   lib
  •     debugger
  •     designer_integration
  •     interfaces
  • lib
  •   catalog
  •   interfaces
  •     extensions
  •     external
  •     extras
  •   util
  •   widgets
  •     propeditor
  • parts
  •   documentation
  •     interfaces
  • src
  •   profileengine
  •     lib
Generated for TDevelop Interfaces Library by doxygen 1.8.13
This website is maintained by Timothy Pearson.