eric7/Documentation/Source/eric7.PluginManager.PluginManager.html

branch
eric7
changeset 8372
e0227a7c850e
child 8403
d9fd02e8c28b
equal deleted inserted replaced
8371:d6062691d424 8372:e0227a7c850e
1 <!DOCTYPE html>
2 <html><head>
3 <title>eric7.PluginManager.PluginManager</title>
4 <meta charset="UTF-8">
5 <style>
6 body {
7 background: #EDECE6;
8 margin: 0em 1em 10em 1em;
9 color: black;
10 }
11
12 h1 { color: white; background: #85774A; }
13 h2 { color: white; background: #85774A; }
14 h3 { color: white; background: #9D936E; }
15 h4 { color: white; background: #9D936E; }
16
17 a { color: #BA6D36; }
18
19 </style>
20 </head>
21 <body>
22 <a NAME="top" ID="top"></a>
23 <h1>eric7.PluginManager.PluginManager</h1>
24
25 <p>
26 Module implementing the Plugin Manager.
27 </p>
28 <h3>Global Attributes</h3>
29
30 <table>
31 <tr><td>None</td></tr>
32 </table>
33 <h3>Classes</h3>
34
35 <table>
36
37 <tr>
38 <td><a href="#PluginManager">PluginManager</a></td>
39 <td>Class implementing the Plugin Manager.</td>
40 </tr>
41 </table>
42 <h3>Functions</h3>
43
44 <table>
45 <tr><td>None</td></tr>
46 </table>
47 <hr />
48 <hr />
49 <a NAME="PluginManager" ID="PluginManager"></a>
50 <h2>PluginManager</h2>
51
52 <p>
53 Class implementing the Plugin Manager.
54 </p>
55 <h3>Signals</h3>
56 <dl>
57
58 <dt>allPlugginsActivated()</dt>
59 <dd>
60 emitted at startup after all plugins have
61 been activated
62 </dd>
63 <dt>pluginAboutToBeActivated(modulName, pluginObject)</dt>
64 <dd>
65 emitted just
66 before a plugin is activated
67 </dd>
68 <dt>pluginAboutToBeDeactivated(moduleName, pluginObject)</dt>
69 <dd>
70 emitted just
71 before a plugin is deactivated
72 </dd>
73 <dt>pluginActivated(moduleName, pluginObject)</dt>
74 <dd>
75 emitted just after
76 a plugin was activated
77 </dd>
78 <dt>pluginDeactivated(moduleName, pluginObject)</dt>
79 <dd>
80 emitted just after
81 a plugin was deactivated
82 </dd>
83 <dt>shutdown()</dt>
84 <dd>
85 emitted at shutdown of the IDE
86 </dd>
87 </dl>
88 <h3>Derived from</h3>
89 QObject
90 <h3>Class Attributes</h3>
91
92 <table>
93 <tr><td>None</td></tr>
94 </table>
95 <h3>Class Methods</h3>
96
97 <table>
98 <tr><td>None</td></tr>
99 </table>
100 <h3>Methods</h3>
101
102 <table>
103
104 <tr>
105 <td><a href="#PluginManager.__init__">PluginManager</a></td>
106 <td>Constructor</td>
107 </tr>
108 <tr>
109 <td><a href="#PluginManager.__canActivatePlugin">__canActivatePlugin</a></td>
110 <td>Private method to check, if a plugin can be activated.</td>
111 </tr>
112 <tr>
113 <td><a href="#PluginManager.__canDeactivatePlugin">__canDeactivatePlugin</a></td>
114 <td>Private method to check, if a plugin can be deactivated.</td>
115 </tr>
116 <tr>
117 <td><a href="#PluginManager.__checkPluginsDownloadDirectory">__checkPluginsDownloadDirectory</a></td>
118 <td>Private slot to check for the existence of the plugins download directory.</td>
119 </tr>
120 <tr>
121 <td><a href="#PluginManager.__downloadRepositoryFileDone">__downloadRepositoryFileDone</a></td>
122 <td>Private method called after the repository file was downloaded.</td>
123 </tr>
124 <tr>
125 <td><a href="#PluginManager.__getShortInfo">__getShortInfo</a></td>
126 <td>Private method to extract the short info from a module.</td>
127 </tr>
128 <tr>
129 <td><a href="#PluginManager.__insertPluginsPaths">__insertPluginsPaths</a></td>
130 <td>Private method to insert the valid plugin paths intos the search path.</td>
131 </tr>
132 <tr>
133 <td><a href="#PluginManager.__loadPlugins">__loadPlugins</a></td>
134 <td>Private method to load the plugins found.</td>
135 </tr>
136 <tr>
137 <td><a href="#PluginManager.__onlineStateChanged">__onlineStateChanged</a></td>
138 <td>Private slot handling changes in online state.</td>
139 </tr>
140 <tr>
141 <td><a href="#PluginManager.__pluginDirectoriesExist">__pluginDirectoriesExist</a></td>
142 <td>Private method to check, if the plugin folders exist.</td>
143 </tr>
144 <tr>
145 <td><a href="#PluginManager.__pluginModulesExist">__pluginModulesExist</a></td>
146 <td>Private method to check, if there are plugins available.</td>
147 </tr>
148 <tr>
149 <td><a href="#PluginManager.__sslErrors">__sslErrors</a></td>
150 <td>Private slot to handle SSL errors.</td>
151 </tr>
152 <tr>
153 <td><a href="#PluginManager.activatePlugin">activatePlugin</a></td>
154 <td>Public method to activate a plugin.</td>
155 </tr>
156 <tr>
157 <td><a href="#PluginManager.activatePlugins">activatePlugins</a></td>
158 <td>Public method to activate all plugins having the "autoactivate" attribute set to True.</td>
159 </tr>
160 <tr>
161 <td><a href="#PluginManager.checkPluginEntry">checkPluginEntry</a></td>
162 <td>Public method to check a plug-in's data for an update.</td>
163 </tr>
164 <tr>
165 <td><a href="#PluginManager.checkPluginUpdatesAvailable">checkPluginUpdatesAvailable</a></td>
166 <td>Public method to check the availability of updates of plug-ins.</td>
167 </tr>
168 <tr>
169 <td><a href="#PluginManager.clearPluginsPrivateData">clearPluginsPrivateData</a></td>
170 <td>Public method to clear the private data of plug-ins of a specified type.</td>
171 </tr>
172 <tr>
173 <td><a href="#PluginManager.deactivatePlugin">deactivatePlugin</a></td>
174 <td>Public method to deactivate a plugin.</td>
175 </tr>
176 <tr>
177 <td><a href="#PluginManager.deactivateVcsPlugins">deactivateVcsPlugins</a></td>
178 <td>Public method to deactivated all activated VCS plugins.</td>
179 </tr>
180 <tr>
181 <td><a href="#PluginManager.doShutdown">doShutdown</a></td>
182 <td>Public method called to perform actions upon shutdown of the IDE.</td>
183 </tr>
184 <tr>
185 <td><a href="#PluginManager.finalizeSetup">finalizeSetup</a></td>
186 <td>Public method to finalize the setup of the plugin manager.</td>
187 </tr>
188 <tr>
189 <td><a href="#PluginManager.getPluginApiFiles">getPluginApiFiles</a></td>
190 <td>Public method to get the list of API files installed by a plugin.</td>
191 </tr>
192 <tr>
193 <td><a href="#PluginManager.getPluginConfigData">getPluginConfigData</a></td>
194 <td>Public method to get the config data of all active, non on-demand plugins used by the configuration dialog.</td>
195 </tr>
196 <tr>
197 <td><a href="#PluginManager.getPluginDetails">getPluginDetails</a></td>
198 <td>Public method to get detailed information about a plugin.</td>
199 </tr>
200 <tr>
201 <td><a href="#PluginManager.getPluginDir">getPluginDir</a></td>
202 <td>Public method to get the path of a plugin directory.</td>
203 </tr>
204 <tr>
205 <td><a href="#PluginManager.getPluginDisplayStrings">getPluginDisplayStrings</a></td>
206 <td>Public method to get the display strings of all plugins of a specific type.</td>
207 </tr>
208 <tr>
209 <td><a href="#PluginManager.getPluginExeDisplayData">getPluginExeDisplayData</a></td>
210 <td>Public method to get data to display information about a plugins external tool.</td>
211 </tr>
212 <tr>
213 <td><a href="#PluginManager.getPluginInfos">getPluginInfos</a></td>
214 <td>Public method to get infos about all loaded plug-ins.</td>
215 </tr>
216 <tr>
217 <td><a href="#PluginManager.getPluginModules">getPluginModules</a></td>
218 <td>Public method to get a list of plugin modules.</td>
219 </tr>
220 <tr>
221 <td><a href="#PluginManager.getPluginObject">getPluginObject</a></td>
222 <td>Public method to activate an ondemand plugin given by type and typename.</td>
223 </tr>
224 <tr>
225 <td><a href="#PluginManager.getPluginPreviewPixmap">getPluginPreviewPixmap</a></td>
226 <td>Public method to get a preview pixmap of a plugin of a specific type.</td>
227 </tr>
228 <tr>
229 <td><a href="#PluginManager.getPluginQtHelpFiles">getPluginQtHelpFiles</a></td>
230 <td>Public method to get the list of QtHelp documentation files provided by a plug-in.</td>
231 </tr>
232 <tr>
233 <td><a href="#PluginManager.getVcsSystemIndicators">getVcsSystemIndicators</a></td>
234 <td>Public method to get the Vcs System indicators.</td>
235 </tr>
236 <tr>
237 <td><a href="#PluginManager.initOnDemandPlugin">initOnDemandPlugin</a></td>
238 <td>Public method to create a plugin object for the named on demand plugin.</td>
239 </tr>
240 <tr>
241 <td><a href="#PluginManager.initOnDemandPlugins">initOnDemandPlugins</a></td>
242 <td>Public method to create plugin objects for all on demand plugins.</td>
243 </tr>
244 <tr>
245 <td><a href="#PluginManager.initPluginToolbars">initPluginToolbars</a></td>
246 <td>Public method to initialize plug-in toolbars.</td>
247 </tr>
248 <tr>
249 <td><a href="#PluginManager.isPluginActive">isPluginActive</a></td>
250 <td>Public method to check, if a certain plugin is active.</td>
251 </tr>
252 <tr>
253 <td><a href="#PluginManager.isPluginLoaded">isPluginLoaded</a></td>
254 <td>Public method to check, if a certain plugin is loaded.</td>
255 </tr>
256 <tr>
257 <td><a href="#PluginManager.isValidPluginName">isValidPluginName</a></td>
258 <td>Public methode to check, if a file name is a valid plugin name.</td>
259 </tr>
260 <tr>
261 <td><a href="#PluginManager.loadDocumentationSetPlugins">loadDocumentationSetPlugins</a></td>
262 <td>Public method to load just the documentation sets plugins.</td>
263 </tr>
264 <tr>
265 <td><a href="#PluginManager.loadPlugin">loadPlugin</a></td>
266 <td>Public method to load a plugin module.</td>
267 </tr>
268 <tr>
269 <td><a href="#PluginManager.pipInstall">pipInstall</a></td>
270 <td>Public method to install the given package via pip.</td>
271 </tr>
272 <tr>
273 <td><a href="#PluginManager.preferencesChanged">preferencesChanged</a></td>
274 <td>Public slot to react to changes in configuration.</td>
275 </tr>
276 <tr>
277 <td><a href="#PluginManager.removePluginFromSysModules">removePluginFromSysModules</a></td>
278 <td>Public method to remove a plugin and all related modules from sys.modules.</td>
279 </tr>
280 <tr>
281 <td><a href="#PluginManager.unloadPlugin">unloadPlugin</a></td>
282 <td>Public method to unload a plugin module.</td>
283 </tr>
284 </table>
285 <h3>Static Methods</h3>
286
287 <table>
288 <tr><td>None</td></tr>
289 </table>
290
291 <a NAME="PluginManager.__init__" ID="PluginManager.__init__"></a>
292 <h4>PluginManager (Constructor)</h4>
293 <b>PluginManager</b>(<i>parent=None, disabledPlugins=None, doLoadPlugins=True, develPlugin=None</i>)
294
295 <p>
296 Constructor
297 </p>
298 <p>
299 The Plugin Manager deals with three different plugin directories.
300 The first is the one, that is part of eric7 (eric7/Plugins). The
301 second one is the global plugin directory called 'eric7plugins',
302 which is located inside the site-packages directory. The last one
303 is the user plugin directory located inside the .eric7 directory
304 of the users home directory.
305 </p>
306 <dl>
307
308 <dt><i>parent</i> (QObject)</dt>
309 <dd>
310 reference to the parent object
311 </dd>
312 <dt><i>disabledPlugins</i> (list of str)</dt>
313 <dd>
314 list of plug-ins that have been disabled via
315 the command line parameters '--disable-plugin='
316 </dd>
317 <dt><i>doLoadPlugins</i> (bool)</dt>
318 <dd>
319 flag indicating, that plug-ins should
320 be loaded
321 </dd>
322 <dt><i>develPlugin</i> (str)</dt>
323 <dd>
324 filename of a plug-in to be loaded for
325 development
326 </dd>
327 </dl>
328 <dl>
329
330 <dt>Raises <b>PluginModulesError</b>:</dt>
331 <dd>
332 raised to indicate the absence of
333 plug-in modules
334 </dd>
335 <dt>Raises <b>PluginPathError</b>:</dt>
336 <dd>
337 raised to indicate an invalid plug-in path
338 </dd>
339 </dl>
340 <a NAME="PluginManager.__canActivatePlugin" ID="PluginManager.__canActivatePlugin"></a>
341 <h4>PluginManager.__canActivatePlugin</h4>
342 <b>__canActivatePlugin</b>(<i>module</i>)
343
344 <p>
345 Private method to check, if a plugin can be activated.
346 </p>
347 <dl>
348
349 <dt><i>module</i></dt>
350 <dd>
351 reference to the module to be activated
352 </dd>
353 </dl>
354 <dl>
355 <dt>Return:</dt>
356 <dd>
357 flag indicating, if the module satisfies all requirements
358 for being activated (boolean)
359 </dd>
360 </dl>
361 <dl>
362
363 <dt>Raises <b>PluginClassFormatError</b>:</dt>
364 <dd>
365 raised to indicate an invalid
366 plug-in class format
367 </dd>
368 <dt>Raises <b>PluginModuleFormatError</b>:</dt>
369 <dd>
370 raised to indicate an invalid
371 plug-in module format
372 </dd>
373 </dl>
374 <a NAME="PluginManager.__canDeactivatePlugin" ID="PluginManager.__canDeactivatePlugin"></a>
375 <h4>PluginManager.__canDeactivatePlugin</h4>
376 <b>__canDeactivatePlugin</b>(<i>module</i>)
377
378 <p>
379 Private method to check, if a plugin can be deactivated.
380 </p>
381 <dl>
382
383 <dt><i>module</i></dt>
384 <dd>
385 reference to the module to be deactivated
386 </dd>
387 </dl>
388 <dl>
389 <dt>Return:</dt>
390 <dd>
391 flag indicating, if the module satisfies all requirements
392 for being deactivated (boolean)
393 </dd>
394 </dl>
395 <a NAME="PluginManager.__checkPluginsDownloadDirectory" ID="PluginManager.__checkPluginsDownloadDirectory"></a>
396 <h4>PluginManager.__checkPluginsDownloadDirectory</h4>
397 <b>__checkPluginsDownloadDirectory</b>(<i></i>)
398
399 <p>
400 Private slot to check for the existence of the plugins download
401 directory.
402 </p>
403 <a NAME="PluginManager.__downloadRepositoryFileDone" ID="PluginManager.__downloadRepositoryFileDone"></a>
404 <h4>PluginManager.__downloadRepositoryFileDone</h4>
405 <b>__downloadRepositoryFileDone</b>(<i>reply</i>)
406
407 <p>
408 Private method called after the repository file was downloaded.
409 </p>
410 <dl>
411
412 <dt><i>reply</i> (QNetworkReply)</dt>
413 <dd>
414 reference to the reply object of the download
415 </dd>
416 </dl>
417 <a NAME="PluginManager.__getShortInfo" ID="PluginManager.__getShortInfo"></a>
418 <h4>PluginManager.__getShortInfo</h4>
419 <b>__getShortInfo</b>(<i>module</i>)
420
421 <p>
422 Private method to extract the short info from a module.
423 </p>
424 <dl>
425
426 <dt><i>module</i></dt>
427 <dd>
428 module to extract short info from
429 </dd>
430 </dl>
431 <dl>
432 <dt>Return:</dt>
433 <dd>
434 dictionay containing plug-in data
435 </dd>
436 </dl>
437 <dl>
438 <dt>Return Type:</dt>
439 <dd>
440 dict ("plugin_name": str, "version": str, "short_desc": str,
441 "error": bool)
442 </dd>
443 </dl>
444 <a NAME="PluginManager.__insertPluginsPaths" ID="PluginManager.__insertPluginsPaths"></a>
445 <h4>PluginManager.__insertPluginsPaths</h4>
446 <b>__insertPluginsPaths</b>(<i></i>)
447
448 <p>
449 Private method to insert the valid plugin paths intos the search path.
450 </p>
451 <a NAME="PluginManager.__loadPlugins" ID="PluginManager.__loadPlugins"></a>
452 <h4>PluginManager.__loadPlugins</h4>
453 <b>__loadPlugins</b>(<i></i>)
454
455 <p>
456 Private method to load the plugins found.
457 </p>
458 <a NAME="PluginManager.__onlineStateChanged" ID="PluginManager.__onlineStateChanged"></a>
459 <h4>PluginManager.__onlineStateChanged</h4>
460 <b>__onlineStateChanged</b>(<i>online</i>)
461
462 <p>
463 Private slot handling changes in online state.
464 </p>
465 <dl>
466
467 <dt><i>online</i> (bool)</dt>
468 <dd>
469 flag indicating the online state
470 </dd>
471 </dl>
472 <a NAME="PluginManager.__pluginDirectoriesExist" ID="PluginManager.__pluginDirectoriesExist"></a>
473 <h4>PluginManager.__pluginDirectoriesExist</h4>
474 <b>__pluginDirectoriesExist</b>(<i></i>)
475
476 <p>
477 Private method to check, if the plugin folders exist.
478 </p>
479 <p>
480 If the plugin folders don't exist, they are created (if possible).
481 </p>
482 <dl>
483 <dt>Return:</dt>
484 <dd>
485 tuple of a flag indicating existence of any of the plugin
486 directories (boolean) and a message (string)
487 </dd>
488 </dl>
489 <a NAME="PluginManager.__pluginModulesExist" ID="PluginManager.__pluginModulesExist"></a>
490 <h4>PluginManager.__pluginModulesExist</h4>
491 <b>__pluginModulesExist</b>(<i></i>)
492
493 <p>
494 Private method to check, if there are plugins available.
495 </p>
496 <dl>
497 <dt>Return:</dt>
498 <dd>
499 flag indicating the availability of plugins (boolean)
500 </dd>
501 </dl>
502 <a NAME="PluginManager.__sslErrors" ID="PluginManager.__sslErrors"></a>
503 <h4>PluginManager.__sslErrors</h4>
504 <b>__sslErrors</b>(<i>reply, errors</i>)
505
506 <p>
507 Private slot to handle SSL errors.
508 </p>
509 <dl>
510
511 <dt><i>reply</i></dt>
512 <dd>
513 reference to the reply object (QNetworkReply)
514 </dd>
515 <dt><i>errors</i></dt>
516 <dd>
517 list of SSL errors (list of QSslError)
518 </dd>
519 </dl>
520 <a NAME="PluginManager.activatePlugin" ID="PluginManager.activatePlugin"></a>
521 <h4>PluginManager.activatePlugin</h4>
522 <b>activatePlugin</b>(<i>name, onDemand=False</i>)
523
524 <p>
525 Public method to activate a plugin.
526 </p>
527 <dl>
528
529 <dt><i>name</i></dt>
530 <dd>
531 name of the module to be activated
532 </dd>
533 <dt><i>onDemand</i></dt>
534 <dd>
535 flag indicating activation of an
536 on demand plugin (boolean)
537 </dd>
538 </dl>
539 <dl>
540 <dt>Return:</dt>
541 <dd>
542 reference to the initialized plugin object
543 </dd>
544 </dl>
545 <dl>
546
547 <dt>Raises <b>PluginActivationError</b>:</dt>
548 <dd>
549 raised to indicate an issue during the
550 plug-in activation
551 </dd>
552 </dl>
553 <a NAME="PluginManager.activatePlugins" ID="PluginManager.activatePlugins"></a>
554 <h4>PluginManager.activatePlugins</h4>
555 <b>activatePlugins</b>(<i></i>)
556
557 <p>
558 Public method to activate all plugins having the "autoactivate"
559 attribute set to True.
560 </p>
561 <a NAME="PluginManager.checkPluginEntry" ID="PluginManager.checkPluginEntry"></a>
562 <h4>PluginManager.checkPluginEntry</h4>
563 <b>checkPluginEntry</b>(<i>name, short, description, url, author, version, filename, status</i>)
564
565 <p>
566 Public method to check a plug-in's data for an update.
567 </p>
568 <dl>
569
570 <dt><i>name</i></dt>
571 <dd>
572 data for the name field (string)
573 </dd>
574 <dt><i>short</i></dt>
575 <dd>
576 data for the short field (string)
577 </dd>
578 <dt><i>description</i></dt>
579 <dd>
580 data for the description field (list of strings)
581 </dd>
582 <dt><i>url</i></dt>
583 <dd>
584 data for the url field (string)
585 </dd>
586 <dt><i>author</i></dt>
587 <dd>
588 data for the author field (string)
589 </dd>
590 <dt><i>version</i></dt>
591 <dd>
592 data for the version field (string)
593 </dd>
594 <dt><i>filename</i></dt>
595 <dd>
596 data for the filename field (string)
597 </dd>
598 <dt><i>status</i></dt>
599 <dd>
600 status of the plugin (string [stable, unstable, unknown])
601 </dd>
602 </dl>
603 <a NAME="PluginManager.checkPluginUpdatesAvailable" ID="PluginManager.checkPluginUpdatesAvailable"></a>
604 <h4>PluginManager.checkPluginUpdatesAvailable</h4>
605 <b>checkPluginUpdatesAvailable</b>(<i></i>)
606
607 <p>
608 Public method to check the availability of updates of plug-ins.
609 </p>
610 <a NAME="PluginManager.clearPluginsPrivateData" ID="PluginManager.clearPluginsPrivateData"></a>
611 <h4>PluginManager.clearPluginsPrivateData</h4>
612 <b>clearPluginsPrivateData</b>(<i>type_</i>)
613
614 <p>
615 Public method to clear the private data of plug-ins of a specified
616 type.
617 </p>
618 <p>
619 Plugins supporting this functionality must support the module function
620 clearPrivateData() and have the module level attribute pluginType.
621 </p>
622 <dl>
623
624 <dt><i>type_</i></dt>
625 <dd>
626 type of the plugin to clear private data for (string)
627 </dd>
628 </dl>
629 <a NAME="PluginManager.deactivatePlugin" ID="PluginManager.deactivatePlugin"></a>
630 <h4>PluginManager.deactivatePlugin</h4>
631 <b>deactivatePlugin</b>(<i>name, onDemand=False</i>)
632
633 <p>
634 Public method to deactivate a plugin.
635 </p>
636 <dl>
637
638 <dt><i>name</i></dt>
639 <dd>
640 name of the module to be deactivated
641 </dd>
642 <dt><i>onDemand</i></dt>
643 <dd>
644 flag indicating deactivation of an
645 on demand plugin (boolean)
646 </dd>
647 </dl>
648 <a NAME="PluginManager.deactivateVcsPlugins" ID="PluginManager.deactivateVcsPlugins"></a>
649 <h4>PluginManager.deactivateVcsPlugins</h4>
650 <b>deactivateVcsPlugins</b>(<i></i>)
651
652 <p>
653 Public method to deactivated all activated VCS plugins.
654 </p>
655 <a NAME="PluginManager.doShutdown" ID="PluginManager.doShutdown"></a>
656 <h4>PluginManager.doShutdown</h4>
657 <b>doShutdown</b>(<i></i>)
658
659 <p>
660 Public method called to perform actions upon shutdown of the IDE.
661 </p>
662 <a NAME="PluginManager.finalizeSetup" ID="PluginManager.finalizeSetup"></a>
663 <h4>PluginManager.finalizeSetup</h4>
664 <b>finalizeSetup</b>(<i></i>)
665
666 <p>
667 Public method to finalize the setup of the plugin manager.
668 </p>
669 <a NAME="PluginManager.getPluginApiFiles" ID="PluginManager.getPluginApiFiles"></a>
670 <h4>PluginManager.getPluginApiFiles</h4>
671 <b>getPluginApiFiles</b>(<i>language</i>)
672
673 <p>
674 Public method to get the list of API files installed by a plugin.
675 </p>
676 <dl>
677
678 <dt><i>language</i></dt>
679 <dd>
680 language of the requested API files (string)
681 </dd>
682 </dl>
683 <dl>
684 <dt>Return:</dt>
685 <dd>
686 list of API filenames (list of string)
687 </dd>
688 </dl>
689 <a NAME="PluginManager.getPluginConfigData" ID="PluginManager.getPluginConfigData"></a>
690 <h4>PluginManager.getPluginConfigData</h4>
691 <b>getPluginConfigData</b>(<i></i>)
692
693 <p>
694 Public method to get the config data of all active, non on-demand
695 plugins used by the configuration dialog.
696 </p>
697 <p>
698 Plugins supporting this functionality must provide the plugin module
699 function 'getConfigData' returning a dictionary with unique keys
700 of lists with the following list contents:
701 <dl>
702 <dt>display string</dt>
703 <dd>string shown in the selection area of the configuration page.
704 This should be a localized string</dd>
705 <dt>pixmap name</dt>
706 <dd>filename of the pixmap to be shown next to the display
707 string</dd>
708 <dt>page creation function</dt>
709 <dd>plugin module function to be called to create the configuration
710 page. The page must be subclasses from
711 Preferences.ConfigurationPages.ConfigurationPageBase and must
712 implement a method called 'save' to save the settings. A parent
713 entry will be created in the selection list, if this value is
714 None.</dd>
715 <dt>parent key</dt>
716 <dd>dictionary key of the parent entry or None, if this defines a
717 toplevel entry.</dd>
718 <dt>reference to configuration page</dt>
719 <dd>This will be used by the configuration dialog and must always
720 be None</dd>
721 </dl>
722 </p>
723 <dl>
724 <dt>Return:</dt>
725 <dd>
726 plug-in configuration data
727 </dd>
728 </dl>
729 <a NAME="PluginManager.getPluginDetails" ID="PluginManager.getPluginDetails"></a>
730 <h4>PluginManager.getPluginDetails</h4>
731 <b>getPluginDetails</b>(<i>name</i>)
732
733 <p>
734 Public method to get detailed information about a plugin.
735 </p>
736 <dl>
737
738 <dt><i>name</i></dt>
739 <dd>
740 name of the module to get detailed infos about (string)
741 </dd>
742 </dl>
743 <dl>
744 <dt>Return:</dt>
745 <dd>
746 details of the plugin as a dictionary
747 </dd>
748 </dl>
749 <a NAME="PluginManager.getPluginDir" ID="PluginManager.getPluginDir"></a>
750 <h4>PluginManager.getPluginDir</h4>
751 <b>getPluginDir</b>(<i>key</i>)
752
753 <p>
754 Public method to get the path of a plugin directory.
755 </p>
756 <dl>
757
758 <dt><i>key</i></dt>
759 <dd>
760 key of the plug-in directory (string)
761 </dd>
762 </dl>
763 <dl>
764 <dt>Return:</dt>
765 <dd>
766 path of the requested plugin directory (string)
767 </dd>
768 </dl>
769 <a NAME="PluginManager.getPluginDisplayStrings" ID="PluginManager.getPluginDisplayStrings"></a>
770 <h4>PluginManager.getPluginDisplayStrings</h4>
771 <b>getPluginDisplayStrings</b>(<i>type_</i>)
772
773 <p>
774 Public method to get the display strings of all plugins of a specific
775 type.
776 </p>
777 <dl>
778
779 <dt><i>type_</i></dt>
780 <dd>
781 type of the plugins (string)
782 </dd>
783 </dl>
784 <dl>
785 <dt>Return:</dt>
786 <dd>
787 dictionary with name as key and display string as value
788 (dictionary of string)
789 </dd>
790 </dl>
791 <a NAME="PluginManager.getPluginExeDisplayData" ID="PluginManager.getPluginExeDisplayData"></a>
792 <h4>PluginManager.getPluginExeDisplayData</h4>
793 <b>getPluginExeDisplayData</b>(<i></i>)
794
795 <p>
796 Public method to get data to display information about a plugins
797 external tool.
798 </p>
799 <dl>
800 <dt>Return:</dt>
801 <dd>
802 list of dictionaries containing the data. Each dictionary must
803 either contain data for the determination or the data to be
804 displayed.<br />
805 A dictionary of the first form must have the following entries:
806 <ul>
807 <li>programEntry - indicator for this dictionary form
808 (boolean), always True</li>
809 <li>header - string to be diplayed as a header (string)</li>
810 <li>exe - the executable (string)</li>
811 <li>versionCommand - commandline parameter for the exe
812 (string)</li>
813 <li>versionStartsWith - indicator for the output line
814 containing the version (string)</li>
815 <li>versionPosition - number of element containing the
816 version (integer)</li>
817 <li>version - version to be used as default (string)</li>
818 <li>versionCleanup - tuple of two integers giving string
819 positions start and stop for the version string
820 (tuple of integers)</li>
821 </ul>
822 A dictionary of the second form must have the following entries:
823 <ul>
824 <li>programEntry - indicator for this dictionary form
825 (boolean), always False</li>
826 <li>header - string to be diplayed as a header (string)</li>
827 <li>text - entry text to be shown (string)</li>
828 <li>version - version text to be shown (string)</li>
829 </ul>
830 </dd>
831 </dl>
832 <a NAME="PluginManager.getPluginInfos" ID="PluginManager.getPluginInfos"></a>
833 <h4>PluginManager.getPluginInfos</h4>
834 <b>getPluginInfos</b>(<i></i>)
835
836 <p>
837 Public method to get infos about all loaded plug-ins.
838 </p>
839 <dl>
840 <dt>Return:</dt>
841 <dd>
842 list of dictionaries with keys "module_name", "plugin_name",
843 "version", "auto_activate", "active", "short_desc", "error"
844 </dd>
845 </dl>
846 <dl>
847 <dt>Return Type:</dt>
848 <dd>
849 list of dict ("module_name": str, "plugin_name": str,
850 "version": str, "auto_activate": bool, "active": bool,
851 "short_desc": str, "error": bool)
852 </dd>
853 </dl>
854 <a NAME="PluginManager.getPluginModules" ID="PluginManager.getPluginModules"></a>
855 <h4>PluginManager.getPluginModules</h4>
856 <b>getPluginModules</b>(<i>pluginPath</i>)
857
858 <p>
859 Public method to get a list of plugin modules.
860 </p>
861 <dl>
862
863 <dt><i>pluginPath</i></dt>
864 <dd>
865 name of the path to search (string)
866 </dd>
867 </dl>
868 <dl>
869 <dt>Return:</dt>
870 <dd>
871 list of plugin module names (list of string)
872 </dd>
873 </dl>
874 <a NAME="PluginManager.getPluginObject" ID="PluginManager.getPluginObject"></a>
875 <h4>PluginManager.getPluginObject</h4>
876 <b>getPluginObject</b>(<i>type_, typename, maybeActive=False</i>)
877
878 <p>
879 Public method to activate an ondemand plugin given by type and
880 typename.
881 </p>
882 <dl>
883
884 <dt><i>type_</i></dt>
885 <dd>
886 type of the plugin to be activated (string)
887 </dd>
888 <dt><i>typename</i></dt>
889 <dd>
890 name of the plugin within the type category (string)
891 </dd>
892 <dt><i>maybeActive</i></dt>
893 <dd>
894 flag indicating, that the plugin may be active
895 already (boolean)
896 </dd>
897 </dl>
898 <dl>
899 <dt>Return:</dt>
900 <dd>
901 reference to the initialized plugin object
902 </dd>
903 </dl>
904 <a NAME="PluginManager.getPluginPreviewPixmap" ID="PluginManager.getPluginPreviewPixmap"></a>
905 <h4>PluginManager.getPluginPreviewPixmap</h4>
906 <b>getPluginPreviewPixmap</b>(<i>type_, name</i>)
907
908 <p>
909 Public method to get a preview pixmap of a plugin of a specific type.
910 </p>
911 <dl>
912
913 <dt><i>type_</i></dt>
914 <dd>
915 type of the plugin (string)
916 </dd>
917 <dt><i>name</i></dt>
918 <dd>
919 name of the plugin type (string)
920 </dd>
921 </dl>
922 <dl>
923 <dt>Return:</dt>
924 <dd>
925 preview pixmap (QPixmap)
926 </dd>
927 </dl>
928 <a NAME="PluginManager.getPluginQtHelpFiles" ID="PluginManager.getPluginQtHelpFiles"></a>
929 <h4>PluginManager.getPluginQtHelpFiles</h4>
930 <b>getPluginQtHelpFiles</b>(<i></i>)
931
932 <p>
933 Public method to get the list of QtHelp documentation files provided
934 by a plug-in.
935 </p>
936 <dl>
937 <dt>Return:</dt>
938 <dd>
939 dictionary with documentation type as key and list of files
940 as value
941 </dd>
942 </dl>
943 <dl>
944 <dt>Return Type:</dt>
945 <dd>
946 dict (key: str, value: list of str)
947 </dd>
948 </dl>
949 <a NAME="PluginManager.getVcsSystemIndicators" ID="PluginManager.getVcsSystemIndicators"></a>
950 <h4>PluginManager.getVcsSystemIndicators</h4>
951 <b>getVcsSystemIndicators</b>(<i></i>)
952
953 <p>
954 Public method to get the Vcs System indicators.
955 </p>
956 <p>
957 Plugins supporting this functionality must support the module function
958 getVcsSystemIndicator returning a dictionary with indicator as key and
959 a tuple with the vcs name (string) and vcs display string (string).
960 </p>
961 <dl>
962 <dt>Return:</dt>
963 <dd>
964 dictionary with indicator as key and a list of tuples as
965 values. Each tuple contains the vcs name (string) and vcs display
966 string (string).
967 </dd>
968 </dl>
969 <a NAME="PluginManager.initOnDemandPlugin" ID="PluginManager.initOnDemandPlugin"></a>
970 <h4>PluginManager.initOnDemandPlugin</h4>
971 <b>initOnDemandPlugin</b>(<i>name</i>)
972
973 <p>
974 Public method to create a plugin object for the named on demand plugin.
975 </p>
976 <p>
977 Note: The plug-in is not activated.
978 </p>
979 <dl>
980
981 <dt><i>name</i></dt>
982 <dd>
983 name of the plug-in (string)
984 </dd>
985 </dl>
986 <dl>
987
988 <dt>Raises <b>PluginActivationError</b>:</dt>
989 <dd>
990 raised to indicate an issue during the
991 plug-in activation
992 </dd>
993 </dl>
994 <a NAME="PluginManager.initOnDemandPlugins" ID="PluginManager.initOnDemandPlugins"></a>
995 <h4>PluginManager.initOnDemandPlugins</h4>
996 <b>initOnDemandPlugins</b>(<i></i>)
997
998 <p>
999 Public method to create plugin objects for all on demand plugins.
1000 </p>
1001 <p>
1002 Note: The plugins are not activated.
1003 </p>
1004 <a NAME="PluginManager.initPluginToolbars" ID="PluginManager.initPluginToolbars"></a>
1005 <h4>PluginManager.initPluginToolbars</h4>
1006 <b>initPluginToolbars</b>(<i>toolbarManager</i>)
1007
1008 <p>
1009 Public method to initialize plug-in toolbars.
1010 </p>
1011 <dl>
1012
1013 <dt><i>toolbarManager</i></dt>
1014 <dd>
1015 reference to the toolbar manager object
1016 (EricToolBarManager)
1017 </dd>
1018 </dl>
1019 <a NAME="PluginManager.isPluginActive" ID="PluginManager.isPluginActive"></a>
1020 <h4>PluginManager.isPluginActive</h4>
1021 <b>isPluginActive</b>(<i>pluginName</i>)
1022
1023 <p>
1024 Public method to check, if a certain plugin is active.
1025 </p>
1026 <dl>
1027
1028 <dt><i>pluginName</i></dt>
1029 <dd>
1030 name of the plugin to check for (string)
1031 </dd>
1032 </dl>
1033 <dl>
1034 <dt>Return:</dt>
1035 <dd>
1036 flag indicating, if the plugin is active (boolean)
1037 </dd>
1038 </dl>
1039 <a NAME="PluginManager.isPluginLoaded" ID="PluginManager.isPluginLoaded"></a>
1040 <h4>PluginManager.isPluginLoaded</h4>
1041 <b>isPluginLoaded</b>(<i>pluginName</i>)
1042
1043 <p>
1044 Public method to check, if a certain plugin is loaded.
1045 </p>
1046 <dl>
1047
1048 <dt><i>pluginName</i></dt>
1049 <dd>
1050 name of the plugin to check for (string)
1051 </dd>
1052 </dl>
1053 <dl>
1054 <dt>Return:</dt>
1055 <dd>
1056 flag indicating, if the plugin is loaded (boolean)
1057 </dd>
1058 </dl>
1059 <a NAME="PluginManager.isValidPluginName" ID="PluginManager.isValidPluginName"></a>
1060 <h4>PluginManager.isValidPluginName</h4>
1061 <b>isValidPluginName</b>(<i>pluginName</i>)
1062
1063 <p>
1064 Public methode to check, if a file name is a valid plugin name.
1065 </p>
1066 <p>
1067 Plugin modules must start with "Plugin" and have the extension ".py".
1068 </p>
1069 <dl>
1070
1071 <dt><i>pluginName</i></dt>
1072 <dd>
1073 name of the file to be checked (string)
1074 </dd>
1075 </dl>
1076 <dl>
1077 <dt>Return:</dt>
1078 <dd>
1079 flag indicating a valid plugin name (boolean)
1080 </dd>
1081 </dl>
1082 <a NAME="PluginManager.loadDocumentationSetPlugins" ID="PluginManager.loadDocumentationSetPlugins"></a>
1083 <h4>PluginManager.loadDocumentationSetPlugins</h4>
1084 <b>loadDocumentationSetPlugins</b>(<i></i>)
1085
1086 <p>
1087 Public method to load just the documentation sets plugins.
1088 </p>
1089 <dl>
1090
1091 <dt>Raises <b>PluginModulesError</b>:</dt>
1092 <dd>
1093 raised to indicate the absence of
1094 plug-in modules
1095 </dd>
1096 </dl>
1097 <a NAME="PluginManager.loadPlugin" ID="PluginManager.loadPlugin"></a>
1098 <h4>PluginManager.loadPlugin</h4>
1099 <b>loadPlugin</b>(<i>name, directory, reload_=False, install=False</i>)
1100
1101 <p>
1102 Public method to load a plugin module.
1103 </p>
1104 <p>
1105 Initially all modules are inactive. Modules that are requested on
1106 demand are sorted out and are added to the on demand list. Some
1107 basic validity checks are performed as well. Modules failing these
1108 checks are added to the failed modules list.
1109 </p>
1110 <dl>
1111
1112 <dt><i>name</i> (str)</dt>
1113 <dd>
1114 name of the module to be loaded
1115 </dd>
1116 <dt><i>directory</i> (str)</dt>
1117 <dd>
1118 name of the plugin directory
1119 </dd>
1120 <dt><i>reload_</i> (bool)</dt>
1121 <dd>
1122 flag indicating to reload the module
1123 </dd>
1124 <dt><i>install</i> (bool)</dt>
1125 <dd>
1126 flag indicating a load operation as part of an
1127 installation process
1128 </dd>
1129 </dl>
1130 <dl>
1131
1132 <dt>Raises <b>PluginLoadError</b>:</dt>
1133 <dd>
1134 raised to indicate an issue loading
1135 the plug-in
1136 </dd>
1137 </dl>
1138 <a NAME="PluginManager.pipInstall" ID="PluginManager.pipInstall"></a>
1139 <h4>PluginManager.pipInstall</h4>
1140 <b>pipInstall</b>(<i>packages</i>)
1141
1142 <p>
1143 Public method to install the given package via pip.
1144 </p>
1145 <dl>
1146
1147 <dt><i>packages</i> (list of str)</dt>
1148 <dd>
1149 list of packages to install
1150 </dd>
1151 </dl>
1152 <a NAME="PluginManager.preferencesChanged" ID="PluginManager.preferencesChanged"></a>
1153 <h4>PluginManager.preferencesChanged</h4>
1154 <b>preferencesChanged</b>(<i></i>)
1155
1156 <p>
1157 Public slot to react to changes in configuration.
1158 </p>
1159 <a NAME="PluginManager.removePluginFromSysModules" ID="PluginManager.removePluginFromSysModules"></a>
1160 <h4>PluginManager.removePluginFromSysModules</h4>
1161 <b>removePluginFromSysModules</b>(<i>pluginName, package, internalPackages</i>)
1162
1163 <p>
1164 Public method to remove a plugin and all related modules from
1165 sys.modules.
1166 </p>
1167 <dl>
1168
1169 <dt><i>pluginName</i></dt>
1170 <dd>
1171 name of the plugin module (string)
1172 </dd>
1173 <dt><i>package</i></dt>
1174 <dd>
1175 name of the plugin package (string)
1176 </dd>
1177 <dt><i>internalPackages</i></dt>
1178 <dd>
1179 list of intenal packages (list of string)
1180 </dd>
1181 </dl>
1182 <dl>
1183 <dt>Return:</dt>
1184 <dd>
1185 flag indicating the plugin module was found in sys.modules
1186 (boolean)
1187 </dd>
1188 </dl>
1189 <a NAME="PluginManager.unloadPlugin" ID="PluginManager.unloadPlugin"></a>
1190 <h4>PluginManager.unloadPlugin</h4>
1191 <b>unloadPlugin</b>(<i>name</i>)
1192
1193 <p>
1194 Public method to unload a plugin module.
1195 </p>
1196 <dl>
1197
1198 <dt><i>name</i></dt>
1199 <dd>
1200 name of the module to be unloaded (string)
1201 </dd>
1202 </dl>
1203 <dl>
1204 <dt>Return:</dt>
1205 <dd>
1206 flag indicating success (boolean)
1207 </dd>
1208 </dl>
1209 <div align="right"><a href="#top">Up</a></div>
1210 <hr />
1211 </body></html>

eric ide

mercurial