katepluginmanager.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __KATE_PLUGINMANAGER_H__
00022 #define __KATE_PLUGINMANAGER_H__
00023
00024 #include "katemain.h"
00025 #include "../interfaces/plugin.h"
00026 #include "../interfaces/pluginmanager.h"
00027
00028 #include <qobject.h>
00029 #include <qvaluelist.h>
00030 #include <qptrlist.h>
00031 #include <ktrader.h>
00032
00033 class KatePluginInfo
00034 {
00035 public:
00036 bool load;
00037 KService::Ptr service;
00038 Kate::Plugin *plugin;
00039 };
00040
00041 typedef QPtrList<KatePluginInfo> KatePluginList;
00042
00043 class KatePluginManager : public QObject
00044 {
00045 Q_OBJECT
00046
00047 public:
00048 KatePluginManager(QObject *parent);
00049 ~KatePluginManager();
00050
00051 Kate::PluginManager *pluginManager () const { return m_pluginManager; };
00052
00053 void loadAllEnabledPlugins ();
00054 void unloadAllPlugins ();
00055
00056 void enableAllPluginsGUI (KateMainWindow *win);
00057 void disableAllPluginsGUI (KateMainWindow *win);
00058
00059 void loadConfig ();
00060 void writeConfig ();
00061
00062 void loadPlugin (KatePluginInfo *item);
00063 void unloadPlugin (KatePluginInfo *item);
00064
00065 void enablePluginGUI (KatePluginInfo *item, KateMainWindow *win);
00066 void enablePluginGUI (KatePluginInfo *item);
00067
00068 void disablePluginGUI (KatePluginInfo *item, KateMainWindow *win);
00069 void disablePluginGUI (KatePluginInfo *item);
00070
00071 inline KatePluginList & pluginList () { return m_pluginList; };
00072
00073 virtual Kate::Plugin *plugin(const QString &name);
00074 virtual bool pluginAvailable(const QString &name);
00075 virtual class Kate::Plugin *loadPlugin(const QString &name,bool permanent=true);
00076 virtual void unloadPlugin(const QString &name,bool permanent=true);
00077
00078 private:
00079 Kate::PluginManager *m_pluginManager;
00080
00081 void setupPluginList ();
00082
00083 KatePluginList m_pluginList;
00084 };
00085
00086 #endif
This file is part of the documentation for kate Library Version 3.3.2.