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
class KateCmd;
00029
class KateFileTypeManager;
00030
class KateSchemaManager;
00031
class KateDocumentConfig;
00032
class KateViewConfig;
00033
class KateRendererConfig;
00034
class KateDocument;
00035
class KateRenderer;
00036
class KateView;
00037
00038
class KDirWatch;
00039
00040
class KateFactory
00041 {
00042
private:
00046 KateFactory ();
00047
00048
public:
00052 ~KateFactory ();
00053
00058
static KateFactory *
self ();
00059
00069
KParts::Part *createPartObject (
QWidget *parentWidget,
const char *widgetName,
00070
QObject *parent,
const char *name,
const char *classname,
00071
const QStringList &args );
00072
00077
inline KInstance *
instance () {
return &m_instance; };
00078
00084
void registerDocument ( KateDocument *doc );
00085
00090
void deregisterDocument ( KateDocument *doc );
00091
00097
void registerView ( KateView *view );
00098
00103
void deregisterView ( KateView *view );
00104
00110
void registerRenderer (
KateRenderer *renderer );
00111
00116
void deregisterRenderer (
KateRenderer *renderer );
00117
00122
inline QPtrList<KateDocument> *documents () {
return &m_documents; };
00123
00128
inline QPtrList<KateView> *views () {
return &m_views; };
00129
00134
inline QPtrList<KateRenderer> *renderers () {
return &m_renderers; };
00135
00140
inline const KTrader::OfferList &plugins () {
return m_plugins; };
00141
00146
inline KDirWatch *dirWatch () {
return m_dirWatch; };
00147
00153
inline KateFileTypeManager *fileTypeManager () {
return m_fileTypeManager; };
00154
00159
inline KateSchemaManager *schemaManager () {
return m_schemaManager; };
00160
00165
inline KateDocumentConfig *documentConfig () {
return m_documentConfig; }
00166
00171
inline KateViewConfig *viewConfig () {
return m_viewConfig; }
00172
00177
inline KateRendererConfig *rendererConfig () {
return m_rendererConfig; }
00178
00179
private:
00183
static KateFactory *s_self;
00184
00188
KAboutData m_aboutData;
00189
00193
KInstance m_instance;
00194
00198
QPtrList<KateDocument> m_documents;
00199
00203
QPtrList<KateView> m_views;
00204
00208
QPtrList<KateRenderer> m_renderers;
00209
00213
KDirWatch *m_dirWatch;
00214
00218 KateFileTypeManager *m_fileTypeManager;
00219
00223 KateSchemaManager *m_schemaManager;
00224
00228 KTrader::OfferList m_plugins;
00229
00233 KateDocumentConfig *m_documentConfig;
00234
00238 KateViewConfig *m_viewConfig;
00239
00243 KateRendererConfig *m_rendererConfig;
00244 };
00245
00246
#endif
00247
00248