interfaces Library API Documentation

plugin.h

00001 /* This file is part of the KDE libraries 00002 Copyright (C) 2001 Christoph Cullmann <cullmann@kde.org> 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Library General Public 00006 License version 2 as published by the Free Software Foundation. 00007 00008 This library is distributed in the hope that it will be useful, 00009 but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00011 Library General Public License for more details. 00012 00013 You should have received a copy of the GNU Library General Public License 00014 along with this library; see the file COPYING.LIB. If not, write to 00015 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00016 Boston, MA 02111-1307, USA. 00017 */ 00018 00019 #ifndef __ktexteditor_plugin_h__ 00020 #define __ktexteditor_plugin_h__ 00021 00022 #include <qobject.h> 00023 00024 namespace KTextEditor 00025 { 00026 00027 class Document; 00028 class View; 00029 00034 class Plugin : public QObject 00035 { 00036 friend class PrivatePlugin; 00037 00038 Q_OBJECT 00039 00040 public: 00041 Plugin ( Document *document = 0, const char *name = 0 ); 00042 virtual ~Plugin (); 00043 00044 unsigned int pluginNumber () const; 00045 00046 Document *document () const; 00047 00048 private: 00049 class PrivatePlugin *d; 00050 static unsigned int globalPluginNumber; 00051 unsigned int myPluginNumber; 00052 }; 00053 00054 Plugin *createPlugin ( const char* libname, Document *document = 0, const char *name = 0 ); 00055 00060 class PluginViewInterface 00061 { 00062 friend class PrivatePluginViewInterface; 00063 00064 public: 00065 PluginViewInterface (); 00066 virtual ~PluginViewInterface (); 00067 00068 unsigned int pluginViewInterfaceNumber () const; 00069 00070 /* 00071 * will be called from the part to bound the plugin to a view 00072 */ 00073 virtual void addView (View *) = 0; 00074 virtual void removeView (View *) = 0; 00075 00076 private: 00077 class PrivatePluginViewInterface *d; 00078 static unsigned int globalPluginViewInterfaceNumber; 00079 unsigned int myPluginViewInterfaceNumber; 00080 }; 00081 00082 PluginViewInterface *pluginViewInterface (Plugin *plugin); 00083 00084 } 00085 00086 #endif
KDE Logo
This file is part of the documentation for interfaces Library Version 3.2.3.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Mon Aug 30 22:55:38 2004 by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2003