00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
#include "application.h"
00020
#include "project.h"
00021
00022
#include "plugin.h"
00023
#include "plugin.moc"
00024
00025
#include <kparts/componentfactory.h>
00026
00027
namespace Kate
00028 {
00029
00030
class PrivatePlugin
00031 {
00032
public:
00033 PrivatePlugin ()
00034 {
00035 }
00036
00037 ~PrivatePlugin ()
00038 {
00039 }
00040 };
00041
00042
class PrivateProjectPlugin
00043 {
00044
public:
00045 PrivateProjectPlugin ()
00046 {
00047 }
00048
00049 ~PrivateProjectPlugin ()
00050 {
00051 }
00052
00053 Project *m_project;
00054 };
00055
00056
class PrivateInitPlugin
00057 {
00058
public:
00059 PrivateInitPlugin ()
00060 {
00061 }
00062
00063 ~PrivateInitPlugin ()
00064 {
00065 }
00066
00067 KURL m_configScript;
00068 };
00069
00070
class PrivatePluginViewInterface
00071 {
00072
public:
00073 PrivatePluginViewInterface ()
00074 {
00075 }
00076
00077 ~PrivatePluginViewInterface ()
00078 {
00079 }
00080
00081 };
00082
00083
unsigned int Plugin::globalPluginNumber = 0;
00084
unsigned int ProjectPlugin::globalProjectPluginNumber = 0;
00085
unsigned int InitPlugin::globalInitPluginNumber = 0;
00086
unsigned int PluginViewInterface::globalPluginViewInterfaceNumber = 0;
00087
00088 Plugin::Plugin( Application *application,
const char *name ) : QObject (
application, name )
00089 {
00090 globalPluginNumber++;
00091 myPluginNumber = globalPluginNumber;
00092 }
00093
00094 Plugin::~Plugin()
00095 {
00096 }
00097
00098
unsigned int Plugin::pluginNumber ()
const
00099
{
00100
return myPluginNumber;
00101 }
00102
00103 Application *Plugin::application ()
const
00104
{
00105
return Kate::application();
00106 }
00107
00108 ProjectPlugin::ProjectPlugin( Project *project,
const char *name ) : Plugin (Kate::
application(), name )
00109 {
00110 globalProjectPluginNumber++;
00111 myProjectPluginNumber = globalProjectPluginNumber;
00112
00113 d =
new PrivateProjectPlugin ();
00114 d->m_project = project;
00115 }
00116
00117 ProjectPlugin::~ProjectPlugin()
00118 {
00119
delete d;
00120 }
00121
00122
unsigned int ProjectPlugin::projectPluginNumber ()
const
00123
{
00124
return myProjectPluginNumber;
00125 }
00126
00127 Project *ProjectPlugin::project ()
const
00128
{
00129
return d->m_project;
00130 }
00131
00132
bool ProjectPlugin::save ()
00133 {
00134
return true;
00135 }
00136
00137
bool ProjectPlugin::queryClose ()
00138 {
00139
return true;
00140 }
00141
00142
bool ProjectPlugin::close ()
00143 {
00144
return true;
00145 }
00146
00147
void ProjectPlugin::addDirs (
const QString &, QStringList &)
00148 {
00149 }
00150
00151
void ProjectPlugin::removeDirs (
const QString &, QStringList &)
00152 {
00153 }
00154
00155
void ProjectPlugin::addFiles (
const QString &, QStringList &)
00156 {
00157 }
00158
00159
void ProjectPlugin::removeFiles (
const QString &, QStringList &)
00160 {
00161 }
00162
00163 InitPlugin :: InitPlugin(Application *application,
const char *name):Plugin(
application,name)
00164 {
00165 globalInitPluginNumber++;
00166 myInitPluginNumber = globalInitPluginNumber;
00167
00168 d =
new PrivateInitPlugin ();
00169 d->m_configScript = KURL();
00170 }
00171
00172 InitPlugin::~InitPlugin()
00173 {
00174
delete d;
00175 }
00176
00177
unsigned int InitPlugin::initPluginNumber ()
const
00178
{
00179
return myInitPluginNumber;
00180 }
00181
00182
void InitPlugin::activate(
const KURL &initScript)
00183 {
00184 d->m_configScript=initScript;
00185 }
00186
00187
int InitPlugin::actionsKateShouldNotPerformOnRealStartup()
00188 {
00189
return 0;
00190 }
00191
00192
const KURL InitPlugin::configScript()
const
00193
{
00194
return d->m_configScript;
00195 }
00196
00197
00198
int InitPlugin::initKate()
00199 {
00200
return 0;
00201 }
00202
00203 PluginViewInterface::PluginViewInterface()
00204 {
00205 globalPluginViewInterfaceNumber++;
00206 myPluginViewInterfaceNumber = globalPluginViewInterfaceNumber;
00207 }
00208
00209 PluginViewInterface::~PluginViewInterface()
00210 {
00211 }
00212
00213
unsigned int PluginViewInterface::pluginViewInterfaceNumber ()
const
00214
{
00215
return myPluginViewInterfaceNumber;
00216 }
00217
00218 Plugin *createPlugin (
const char* libname, Application *application,
const char *name,
const QStringList &args )
00219 {
00220
return KParts::ComponentFactory::createInstanceFromLibrary<Plugin>( libname,
application, name, args);
00221 }
00222
00223 ProjectPlugin *createProjectPlugin (
const char* libname, Project *project,
const char *name,
const QStringList &args )
00224 {
00225
return KParts::ComponentFactory::createInstanceFromLibrary<ProjectPlugin>( libname, project, name, args);
00226 }
00227
00228 PluginViewInterface *pluginViewInterface (Plugin *plugin)
00229 {
00230
if (!plugin)
00231
return 0;
00232
00233
return static_cast<PluginViewInterface*>(plugin->qt_cast(
"Kate::PluginViewInterface"));
00234 }
00235
00236 }
00237