00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
#ifndef __KATE_FACTORY_H__
00020
#define __KATE_FACTORY_H__
00021
00022
#include <kparts/factory.h>
00023
00024
#include <ktrader.h>
00025
#include <kinstance.h>
00026
#include <kaboutdata.h>
00027
00028
00029
#define KATEPART_VERSION "2.3"
00030
00031
class KateCmd;
00032
class KateFileTypeManager;
00033
class KateSchemaManager;
00034
class KateDocumentConfig;
00035
class KateViewConfig;
00036
class KateRendererConfig;
00037
class KateDocument;
00038
class KateRenderer;
00039
class KateView;
00040
00041
class KDirWatch;
00042
00043
class KateFactory
00044 {
00045
private:
00049 KateFactory ();
00050
00051
public:
00055 ~KateFactory ();
00056
00061
static KateFactory *
self ();
00062
00072
KParts::Part *createPartObject (
QWidget *parentWidget,
const char *widgetName,
00073
QObject *parent,
const char *name,
const char *classname,
00074
const QStringList &args );
00075
00080
inline KInstance *
instance () {
return &m_instance; };
00081
00087
void registerDocument ( KateDocument *doc );
00088
00093
void deregisterDocument ( KateDocument *doc );
00094
00100
void registerView ( KateView *view );
00101
00106
void deregisterView ( KateView *view );
00107
00113
void registerRenderer (
KateRenderer *renderer );
00114
00119
void deregisterRenderer (
KateRenderer *renderer );
00120
00125
inline QPtrList<KateDocument> *documents () {
return &m_documents; };
00126
00131
inline QPtrList<KateView> *views () {
return &m_views; };
00132
00137
inline QPtrList<KateRenderer> *renderers () {
return &m_renderers; };
00138
00143
inline const KTrader::OfferList &plugins () {
return m_plugins; };
00144
00149
inline KDirWatch *dirWatch () {
return m_dirWatch; };
00150
00156
inline KateFileTypeManager *fileTypeManager () {
return m_fileTypeManager; };
00157
00162
inline KateSchemaManager *schemaManager () {
return m_schemaManager; };
00163
00168
inline KateDocumentConfig *documentConfig () {
return m_documentConfig; }
00169
00174
inline KateViewConfig *viewConfig () {
return m_viewConfig; }
00175
00180
inline KateRendererConfig *rendererConfig () {
return m_rendererConfig; }
00181
00182
private:
00186
static KateFactory *s_self;
00187
00191
KAboutData m_aboutData;
00192
00196
KInstance m_instance;
00197
00201
QPtrList<KateDocument> m_documents;
00202
00206
QPtrList<KateView> m_views;
00207
00211
QPtrList<KateRenderer> m_renderers;
00212
00216
KDirWatch *m_dirWatch;
00217
00221 KateFileTypeManager *m_fileTypeManager;
00222
00226 KateSchemaManager *m_schemaManager;
00227
00231 KTrader::OfferList m_plugins;
00232
00236 KateDocumentConfig *m_documentConfig;
00237
00241 KateViewConfig *m_viewConfig;
00242
00246 KateRendererConfig *m_rendererConfig;
00247 };
00248
00249
#endif
00250
00251