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
00035
class KDirWatch;
00036
00037
class KateFactory
00038 {
00039
private:
00040 KateFactory ();
00041
00042
public:
00043 ~KateFactory ();
00044
00045
static KateFactory *
self ();
00046
00047
KParts::Part *createPartObject (
QWidget *parentWidget,
const char *widgetName,
QObject *parent,
const char *name,
const char *classname,
const QStringList &args );
00048
00049
inline KInstance *
instance () {
return &m_instance; };
00050
00051
void registerDocument (
class KateDocument *doc );
00052
void deregisterDocument (
class KateDocument *doc );
00053
00054
void registerView (
class KateView *view );
00055
void deregisterView (
class KateView *view );
00056
00057
void registerRenderer (
class KateRenderer *renderer );
00058
void deregisterRenderer (
class KateRenderer *renderer );
00059
00060
inline QPtrList<class KateDocument> *documents () {
return &m_documents; };
00061
00062
inline QPtrList<class KateView> *views () {
return &m_views; };
00063
00064
inline QPtrList<class KateRenderer> *renderers () {
return &m_renderers; };
00065
00066
inline const KTrader::OfferList &plugins () {
return m_plugins; };
00067
00068
inline KDirWatch *dirWatch () {
return m_dirWatch; };
00069
00070
inline KateFileTypeManager *fileTypeManager () {
return m_fileTypeManager; };
00071
00072
inline KateSchemaManager *schemaManager () {
return m_schemaManager; };
00073
00074
inline KateDocumentConfig *documentConfig () {
return m_documentConfig; }
00075
inline KateViewConfig *viewConfig () {
return m_viewConfig; }
00076
inline KateRendererConfig *rendererConfig () {
return m_rendererConfig; }
00077
00078
private:
00079
static KateFactory *s_self;
00080
00081
KAboutData m_aboutData;
00082
KInstance m_instance;
00083
00084
QPtrList<class KateDocument> m_documents;
00085
QPtrList<class KateView> m_views;
00086
QPtrList<class KateRenderer> m_renderers;
00087
00088
KDirWatch *m_dirWatch;
00089
00090 KateFileTypeManager *m_fileTypeManager;
00091 KateSchemaManager *m_schemaManager;
00092
00093 KTrader::OfferList m_plugins;
00094
00095 KateDocumentConfig *m_documentConfig;
00096 KateViewConfig *m_viewConfig;
00097 KateRendererConfig *m_rendererConfig;
00098 };
00099
00100
#endif
00101
00102