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.4"
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
class KVMAllocator;
00043
00044
namespace Kate {
00045
class Command;
00046 }
00047
00048
class KateFactory
00049 {
00050
private:
00054 KateFactory ();
00055
00056
public:
00060 ~KateFactory ();
00061
00066
static KateFactory *
self ();
00067
00077
KParts::Part *createPartObject (
QWidget *parentWidget,
const char *widgetName,
00078
QObject *parent,
const char *name,
const char *classname,
00079
const QStringList &args );
00080
00085
inline KInstance *
instance () {
return &m_instance; };
00086
00092
void registerDocument ( KateDocument *doc );
00093
00098
void deregisterDocument ( KateDocument *doc );
00099
00105
void registerView ( KateView *view );
00106
00111
void deregisterView ( KateView *view );
00112
00118
void registerRenderer (
KateRenderer *renderer );
00119
00124
void deregisterRenderer (
KateRenderer *renderer );
00125
00130
inline QPtrList<KateDocument> *documents () {
return &m_documents; };
00131
00136
inline QPtrList<KateView> *views () {
return &m_views; };
00137
00142
inline QPtrList<KateRenderer> *renderers () {
return &m_renderers; };
00143
00148
inline const KTrader::OfferList &plugins () {
return m_plugins; };
00149
00154
inline KDirWatch *dirWatch () {
return m_dirWatch; };
00155
00161
inline KateFileTypeManager *fileTypeManager () {
return m_fileTypeManager; };
00162
00167
inline KateSchemaManager *schemaManager () {
return m_schemaManager; };
00168
00173
inline KateDocumentConfig *documentConfig () {
return m_documentConfig; }
00174
00179
inline KateViewConfig *viewConfig () {
return m_viewConfig; }
00180
00185
inline KateRendererConfig *rendererConfig () {
return m_rendererConfig; }
00186
00191
inline KVMAllocator *vm () {
return m_vm; }
00192
00193
private:
00197
static KateFactory *s_self;
00198
00202
KAboutData m_aboutData;
00203
00207
KInstance m_instance;
00208
00212
QPtrList<KateDocument> m_documents;
00213
00217
QPtrList<KateView> m_views;
00218
00222
QPtrList<KateRenderer> m_renderers;
00223
00227
KDirWatch *m_dirWatch;
00228
00232 KateFileTypeManager *m_fileTypeManager;
00233
00237 KateSchemaManager *m_schemaManager;
00238
00242 KTrader::OfferList m_plugins;
00243
00247 KateDocumentConfig *m_documentConfig;
00248
00252 KateViewConfig *m_viewConfig;
00253
00257 KateRendererConfig *m_rendererConfig;
00258
00262
KVMAllocator *m_vm;
00263
00267
QValueList<Kate::Command *> m_cmds;
00268 };
00269
00270
#endif
00271
00272