1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
|
//Auto-generated by kalyptus. DO NOT EDIT.
package org.trinitydesktop.koala;
import org.trinitydesktop.qt.Qt;
import org.trinitydesktop.qt.TQDomDocument;
import org.trinitydesktop.qt.TQMetaObject;
import org.trinitydesktop.qt.QtSupport;
import org.trinitydesktop.qt.TQObject;
import org.trinitydesktop.qt.TQWidget;
import org.trinitydesktop.qt.TQDomElement;
import org.trinitydesktop.qt.TQObject;
/**
A plugin is the way to add actions to an existing KParts application,
or to a Part.
The XML of those plugins looks exactly like of the shell or parts,
with one small difference: The document tag should have an additional
attribute, named "library", and contain the name of the library implementing
the plugin.
If you want this plugin to be used by a part, you need to
install the rc file under the directory
"data" (TDEDIR/share/apps usually)+"/instancename/kpartplugins/"
where instancename is the name of the part's instance.
You should also install a "plugin info" .desktop file with the same name.
\see PluginInfo
@short A plugin is the way to add actions to an existing KParts application, or to a Part.
*/
public class Plugin extends TQObject implements KXMLGUIClientInterface {
protected Plugin(Class dummy){super((Class) null);}
public native TQMetaObject metaObject();
public native String className();
/**
Construct a new KParts plugin.
@short Construct a new KParts plugin.
*/
public Plugin(TQObject parent, String name) {
super((Class) null);
newPlugin(parent,name);
}
private native void newPlugin(TQObject parent, String name);
public Plugin(TQObject parent) {
super((Class) null);
newPlugin(parent);
}
private native void newPlugin(TQObject parent);
public Plugin() {
super((Class) null);
newPlugin();
}
private native void newPlugin();
/**
Reimplemented for internal reasons
@short Reimplemented for internal reasons
*/
public native String xmlFile();
/**
Reimplemented for internal reasons
@short Reimplemented for internal reasons
*/
public native String localXMLFile();
/**
Load the plugin libraries from the directories appropriate
to <code>instance</code> and make the Plugin objects children of <code>parent.</code>
It is recommended to use the last loadPlugins method instead,
to support enabling and disabling of plugins.
@short Load the plugin libraries from the directories appropriate to <code>instance</code> and make the Plugin objects children of <code>parent.</code>
*/
public static native void loadPlugins(TQObject parent, TDEInstanceInterface instance);
/**
Load the plugin libraries specified by the list <code>docs</code> and make the
Plugin objects children of <code>parent</code> .
It is recommended to use the last loadPlugins method instead,
to support enabling and disabling of plugins.
@short Load the plugin libraries specified by the list <code>docs</code> and make the Plugin objects children of <code>parent</code> .
*/
// void loadPlugins(TQObject* arg1,const TQValueList<KParts::Plugin::PluginInfo>& arg2); >>>> NOT CONVERTED
/**
Load the plugin libraries specified by the list <code>pluginInfos</code>, make the
Plugin objects children of <code>parent</code>, and use the given <code>instance.</code>
It is recommended to use the last loadPlugins method instead,
to support enabling and disabling of plugins.
@short Load the plugin libraries specified by the list <code>pluginInfos</code>, make the Plugin objects children of <code>parent</code>, and use the given <code>instance.</code>
*/
// void loadPlugins(TQObject* arg1,const TQValueList<KParts::Plugin::PluginInfo>& arg2,const TDEInstance* arg3); >>>> NOT CONVERTED
/**
Load the plugin libraries for the given <code>instance</code>, make the
Plugin objects children of <code>parent</code>, and insert the plugin as a child GUI client
of <code>parentGUIClient.</code>
This method uses the TDEConfig object of the given instance, to find out which
plugins are enabled and which are disabled. What happens by default (i.e.
for new plugins that are not in that config file) is controlled by
<code>enableNewPluginsByDefault.</code> It can be overridden by the plugin if it
sets the X-TDE-PluginInfo-EnabledByDefault key in the .desktop file
(with the same name as the .rc file)
If a disabled plugin is already loaded it will be removed from the GUI
factory and deleted.
This method is automatically called by KParts.Plugin and by KParts.MainWindow.
If you call this method in an already constructed GUI (like when the user
has changed which plugins are enabled) you need to add the new plugins to
the KXMLGUIFactory:
<pre>
if( factory() )
{
TQPtrList<KParts.Plugin> plugins = KParts.Plugin.pluginObjects( this );
TQPtrListIterator<KParts.Plugin> it( plugins );
KParts.Plugin plugin;
while( ( plugin = it.current() ) != 0 )
{
++it;
factory().addClient( plugin );
}
}
</pre>
@short Load the plugin libraries for the given <code>instance</code>, make the Plugin objects children of <code>parent</code>, and insert the plugin as a child GUI client of <code>parentGUIClient.</code>
*/
public static native void loadPlugins(TQObject parent, KXMLGUIClientInterface parentGUIClient, TDEInstanceInterface instance, boolean enableNewPluginsByDefault);
public static native void loadPlugins(TQObject parent, KXMLGUIClientInterface parentGUIClient, TDEInstanceInterface instance);
/**
Returns a list of plugin objects loaded for <code>parent.</code> This
functions basically calls the queryList method of
TQObject to retrieve the list of child objects inheriting
KParts.Plugin .
@short Returns a list of plugin objects loaded for <code>parent.</code>
*/
// TQPtrList<KParts::Plugin> pluginObjects(TQObject* arg1); >>>> NOT CONVERTED
protected native void setInstance(TDEInstanceInterface instance);
/**
Look for plugins in the <code>instance</code>'s "data" directory (+"/kpartplugins")
@return A list of TQDomDocument s, containing the parsed xml documents returned by plugins.
@short Look for plugins in the <code>instance</code>'s "data" directory (+"/kpartplugins")
*/
// TQValueList<KParts::Plugin::PluginInfo> pluginInfos(const TDEInstance* arg1); >>>> NOT CONVERTED
/**
@return The plugin created from the library <code>libname</code>
@short
*/
protected static native Plugin loadPlugin(TQObject parent, String libname);
/**
Retrieves an action of the client by name. If not found, it looks in its child clients.
This method is provided for convenience, as it uses actionCollection()
to get the action object.
@short Retrieves an action of the client by name.
*/
public native TDEAction action(String name);
/**
Retrieves an action for a given TQDomElement. The default
implementation uses the "name" attribute to query the action
object via the other action() method.
@short Retrieves an action for a given TQDomElement.
*/
public native TDEAction action(TQDomElement element);
/**
Retrieves the entire action collection for the GUI client. If
you subclass KXMLGUIClient you should call
TDEActionCollection.setWidget( TQWidget ) with this object, or
you will encounter subtle bugs with TDEAction keyboard shortcuts.
This is not necessary if your KXMLGUIClient is a TDEMainWindow.
@short Retrieves the entire action collection for the GUI client.
@see TDEActionCollection#setWidget(
@see #org#kde#qt#TQWidget*
*/
public native TDEActionCollection actionCollection();
/**
@return The instance ( TDEInstance ) for this GUI client.
@short
*/
public native TDEInstanceInterface instance();
/**
@return The parsed XML in a TQDomDocument, set by
setXMLFile() or setXML().
This document describes the layout of the GUI.
@short
*/
public native TQDomDocument domDocument();
/**
@short
*/
public native void setXMLGUIBuildDocument(TQDomDocument doc);
/**
@short
*/
public native TQDomDocument xmlguiBuildDocument();
/**
This method is called by the KXMLGUIFactory as soon as the client
is added to the KXMLGUIFactory's GUI.
@short This method is called by the KXMLGUIFactory as soon as the client is added to the KXMLGUIFactory's GUI.
*/
public native void setFactory(KXMLGUIFactory factory);
/**
Retrieves a pointer to the KXMLGUIFactory this client is
associated with (will return null if the client's GUI has not been built
by a KXMLGUIFactory.
@short Retrieves a pointer to the KXMLGUIFactory this client is associated with (will return 0L if the client's GUI has not been built by a KXMLGUIFactory.
*/
public native KXMLGUIFactory factory();
/**
KXMLGUIClients can form a simple child/parent object tree. This
method returns a pointer to the parent client or null if it has no
parent client assigned.
@short KXMLGUIClients can form a simple child/parent object tree.
*/
public native KXMLGUIClientInterface parentClient();
/**
Use this method to make a client a child client of another client.
Usually you don't need to call this method, as it is called
automatically when using the second constructor, which takes a
parent argument.
@short Use this method to make a client a child client of another client.
*/
public native void insertChildClient(KXMLGUIClientInterface child);
/**
Removes the given <code>child</code> from the client's children list.
@short Removes the given <code>child</code> from the client's children list.
*/
public native void removeChildClient(KXMLGUIClientInterface child);
/**
Retrieves a list of all child clients.
@short Retrieves a list of all child clients.
*/
// const TQPtrList<KXMLGUIClient>* childClients(); >>>> NOT CONVERTED
/**
A client can have an own KXMLGUIBuilder.
Use this method to assign your builder instance to the client (so that the
KXMLGUIFactory can use it when building the client's GUI)
Client specific guibuilders are useful if you want to create
custom container widgets for your GUI.
@short A client can have an own KXMLGUIBuilder.
*/
public native void setClientBuilder(KXMLGUIBuilderInterface builder);
/**
Retrieves the client's GUI builder or null if no client specific
builder has been assigned via setClientBuilder()
@short Retrieves the client's GUI builder or 0L if no client specific builder has been assigned via setClientBuilder()
*/
public native KXMLGUIBuilderInterface clientBuilder();
/**
Forces this client to re-read its XML resource file. This is
intended to be used when you know that the resource file has
changed and you will soon be rebuilding the GUI. It has no
useful effect with non-KParts GUIs, so don't bother using it
unless your app is component based.
@short Forces this client to re-read its XML resource file.
*/
public native void reloadXML();
/**
ActionLists are a way for XMLGUI to support dynamic lists of
actions. E.g. if you are writing a file manager, and there is a
menu file whose contents depend on the mimetype of the file that
is selected, then you can achieve this using ActionLists. It
works as follows:
In your xxxui.rc file ( the one that you set in setXMLFile()
), you put an <p>\<ActionList name="xxx"\></p> tag. E.g.
<pre>
<kpartgui name="xxx_part" version="1">
<MenuBar>
<Menu name="file">
... <!-- some useful actions-.
<ActionList name="xxx_file_actionlist" />
... <!-- even more useful actions-.
</Menu>
...
</MenuBar>
</kpartgui>
</pre>
This tag will get expanded to a list of actions. In the example
above ( a file manager with a dynamic file menu ), you would call
<pre>
TQPtrList<TDEAction> file_actions;
for( ... )
if( ... )
file_actions.append( cool_action );
unplugActionList( "xxx_file_actionlist" );
plugActionList( "xxx_file_actionlist", file_actions );
</pre>
every time a file is selected, unselected or ...
<b>Note:<> You should not call createGUI() after calling this
function. In fact, that would remove the newly added
actionlists again...
<b>Note:<> Forgetting to call unplugActionList() before
plugActionList() would leave the previous actions in the
menu too..
@short ActionLists are a way for XMLGUI to support dynamic lists of actions.
*/
// void plugActionList(const TQString& arg1,const TQPtrList<TDEAction>& arg2); >>>> NOT CONVERTED
/**
The complement of plugActionList() ...
@short The complement of plugActionList() .
*/
public native void unplugActionList(String name);
public native void addStateActionEnabled(String state, String action);
public native void addStateActionDisabled(String state, String action);
// KXMLGUIClient::StateChange getActionsToChangeForState(const TQString& arg1); >>>> NOT CONVERTED
public native void beginXMLPlug(TQWidget arg1);
public native void endXMLPlug();
public native void prepareXMLUnplug(TQWidget arg1);
public static native String findMostRecentXMLFile(String[] files, StringBuffer doc);
/**
Sets the name of the rc file containing the XML for the part.
Call this in the Part-inherited class constructor.
@param file Either an absolute path for the file, or simply the
filename, which will then be assumed to be installed
in the "data" resource, under a directory named like
the instance.
@param merge Whether to merge with the global document.
@param setXMLDoc Specify whether to call setXML. Default is true.
and the DOM document at once.
@short Sets the name of the rc file containing the XML for the part.
*/
protected native void setXMLFile(String file, boolean merge, boolean setXMLDoc);
protected native void setXMLFile(String file, boolean merge);
protected native void setXMLFile(String file);
protected native void setLocalXMLFile(String file);
/**
Sets the XML for the part.
Call this in the Part-inherited class constructor if you
don't call setXMLFile().
@short Sets the XML for the part.
*/
protected native void setXML(String document, boolean merge);
protected native void setXML(String document);
/**
Sets the Document for the part, describing the layout of the GUI.
Call this in the Part-inherited class constructor if you don't call
setXMLFile or setXML .
@short Sets the Document for the part, describing the layout of the GUI.
*/
protected native void setDOMDocument(TQDomDocument document, boolean merge);
protected native void setDOMDocument(TQDomDocument document);
/**
This function will attempt to give up some memory after the GUI
is built. It should never be used in apps where the GUI may be
rebuilt at some later time (components, for instance).
@short This function will attempt to give up some memory after the GUI is built.
*/
protected native void conserveMemory();
/**
Actions can collectively be assigned a "State". To accomplish this
the respective actions are tagged as \<enable\> or \<disable\> in
a \<State\> \</State\> group of the XMLfile. During program execution the
programmer can call stateChanged() to set actions to a defined state.
@param newstate Name of a State in the XMLfile.
@param reverse If the flag reverse is set to StateReverse, the State is reversed.
(actions to be enabled will be disabled and action to be disabled will be enabled)
Default is reverse=false.
@short Actions can collectively be assigned a "State".
*/
protected native void stateChanged(String newstate, int reverse);
protected native void stateChanged(String newstate);
}
|