• Skip to content
  • Skip to link menu
KDE 3.5 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

interfaces

ktexteditor.cpp

Go to the documentation of this file.
00001 /* This file is part of the KDE project
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 as published by the Free Software Foundation; either
00007    version 2 of the License, or (at your option) any later version.
00008 
00009    This library is distributed in the hope that it will be useful,
00010    but WITHOUT ANY WARRANTY; without even the implied warranty of
00011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012    Library General Public License for more details.
00013 
00014    You should have received a copy of the GNU Library General Public License
00015    along with this library; see the file COPYING.LIB.  If not, write to
00016    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00017    Boston, MA 02110-1301, USA.
00018 */
00019 
00020 #include <config.h>
00021 
00022 #include "document.h"
00023 #include "view.h"
00024 #include "plugin.h"
00025 #include "editor.h"
00026 
00027 #include <kaction.h>
00028 #include <kparts/factory.h>
00029 #include <kparts/componentfactory.h>
00030 
00031 #include "document.moc"
00032 #include "view.moc"
00033 #include "plugin.moc"
00034 #include "editor.moc"
00035 
00036 using namespace KTextEditor;
00037 
00038 namespace KTextEditor
00039 {
00040   class PrivateDocument
00041   {
00042   public:
00043     PrivateDocument ()
00044     {
00045     }
00046 
00047     ~PrivateDocument()
00048     {
00049     }
00050   };
00051   
00052   class PrivateView
00053   {
00054   public:
00055     PrivateView ()
00056     {
00057     }
00058 
00059     ~PrivateView()
00060     {
00061     }
00062   };
00063   
00064   class PrivatePlugin
00065   {
00066   public:
00067     PrivatePlugin ()
00068     {
00069     }
00070 
00071     ~PrivatePlugin ()
00072     {
00073     }       
00074     
00075     class Document *m_doc;
00076   };
00077   
00078   class PrivatePluginViewInterface
00079   {
00080   public:
00081     PrivatePluginViewInterface ()
00082     {
00083     }
00084 
00085     ~PrivatePluginViewInterface ()
00086     {
00087     }
00088   };
00089 
00090   class PrivateEditor
00091   {
00092   public:
00093     PrivateEditor ()
00094     {
00095     }
00096 
00097     ~PrivateEditor()
00098     {
00099     }
00100   };
00101 }
00102 
00103 unsigned int Document::globalDocumentNumber = 0;
00104 unsigned int View::globalViewNumber = 0;
00105 unsigned int Plugin::globalPluginNumber = 0;
00106 unsigned int PluginViewInterface::globalPluginViewInterfaceNumber = 0;
00107 unsigned int Editor::globalEditorNumber = 0;
00108 
00109 Document::Document( QObject *parent, const char *name ) : KTextEditor::Editor (parent, name )
00110 {
00111   globalDocumentNumber++;
00112   myDocumentNumber = globalDocumentNumber;
00113 }
00114 
00115 Document::~Document()
00116 {
00117 }
00118 
00119 unsigned int Document::documentNumber () const
00120 {
00121   return myDocumentNumber;
00122 }
00123 
00124 QCString Document::documentDCOPSuffix () const
00125 {
00126   QCString num;
00127   num.setNum (documentNumber());
00128   
00129   return num;
00130 }
00131 
00132 View::View( Document *, QWidget *parent, const char *name ) : QWidget( parent, name )
00133 {
00134   globalViewNumber++;
00135   myViewNumber = globalViewNumber;
00136 }
00137 
00138 View::~View()
00139 {
00140 }
00141 
00142 unsigned int View::viewNumber () const
00143 {
00144   return myViewNumber;
00145 }
00146 
00147 QCString View::viewDCOPSuffix () const
00148 {
00149   QCString num1, num2;
00150   num1.setNum (viewNumber());
00151   num2.setNum (document()->documentNumber());
00152   
00153   return num2 + "-" + num1;
00154 }
00155 
00156 Plugin::Plugin( Document *document, const char *name ) : QObject (document, name )
00157 {
00158   globalPluginNumber++;
00159   myPluginNumber = globalPluginNumber; 
00160   d = new PrivatePlugin ();
00161   d->m_doc = document;
00162 }
00163 
00164 Plugin::~Plugin()
00165 {
00166   delete d;
00167 }
00168 
00169 unsigned int Plugin::pluginNumber () const
00170 {
00171   return myPluginNumber;
00172 }     
00173 
00174 Document *Plugin::document () const
00175 {
00176   return d->m_doc;
00177 }
00178 
00179 PluginViewInterface::PluginViewInterface()
00180 {
00181   globalPluginViewInterfaceNumber++;
00182   myPluginViewInterfaceNumber = globalPluginViewInterfaceNumber;
00183 }
00184 
00185 PluginViewInterface::~PluginViewInterface()
00186 {
00187 }
00188 
00189 unsigned int PluginViewInterface::pluginViewInterfaceNumber () const
00190 {
00191   return myPluginViewInterfaceNumber;
00192 }
00193 
00194 Editor::Editor( QObject *parent, const char *name ) : KParts::ReadWritePart( parent, name )
00195 {
00196   globalEditorNumber++;
00197   myEditorNumber = globalEditorNumber;
00198 }
00199 
00200 Editor::~Editor()
00201 {
00202 }
00203 
00204 unsigned int Editor::editorNumber () const
00205 {
00206   return myEditorNumber;
00207 }                         
00208 
00209 Editor *KTextEditor::createEditor ( const char* libname, QWidget *parentWidget, const char *widgetName, QObject *parent, const char *name )
00210 {
00211   return KParts::ComponentFactory::createPartInstanceFromLibrary<Editor>( libname, parentWidget, widgetName, parent, name );
00212 }
00213 
00214 Document *KTextEditor::createDocument ( const char* libname, QObject *parent, const char *name )
00215 {
00216   return KParts::ComponentFactory::createPartInstanceFromLibrary<Document>( libname, 0, 0, parent, name );
00217 }     
00218 
00219 Plugin *KTextEditor::createPlugin ( const char* libname, Document *document, const char *name )
00220 {
00221   return KParts::ComponentFactory::createInstanceFromLibrary<Plugin>( libname, document, name );
00222 }
00223 
00224 PluginViewInterface *KTextEditor::pluginViewInterface (Plugin *plugin)
00225 {       
00226   if (!plugin)
00227     return 0;
00228 
00229   return static_cast<PluginViewInterface*>(plugin->qt_cast("KTextEditor::PluginViewInterface"));
00230 }
00231 

interfaces

Skip menu "interfaces"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members

API Reference

Skip menu "API Reference"
  • dcop
  • DNSSD
  • interfaces
  • Kate
  • kconf_update
  • KDECore
  • KDED
  • kdefx
  • KDEsu
  • kdeui
  • KDocTools
  • KHTML
  • KImgIO
  • KInit
  • kio
  • kioslave
  • KJS
  • KNewStuff
  • KParts
  • KUtils
Generated for API Reference by doxygen 1.5.9
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal