Package Gnumed :: Package wxpython :: Module gmPlugin
[frames] | no frames]

Module gmPlugin

source code

gmPlugin - base classes for GNUmed Horst space notebook plugins.


Copyright: author

Author: H.Herb, I.Haywood, K.Hilbert

License: GPL v2 or later (details at http://www.gnu.org)

Classes
  cLoadProgressBar
  cNotebookPlugin
Base class for plugins which provide a full notebook page.
  cPatientChange_PluginMixin
This mixin adds listening to patient change signals.
Functions
 
instantiate_plugin(aPackage='xxxDEFAULTxxx', plugin_name='xxxDEFAULTxxx')
Instantiates a plugin object from a package directory, returning the object.
source code
 
get_installed_plugins(plugin_dir='')
Looks for installed plugins in the filesystem.
source code
 
GetPluginLoadList(option, plugin_dir='', defaults=None, workplace=None)
Get a list of plugins to load.
source code
 
UnloadPlugin(set, name)
Unloads the named plugin
source code

Imports: os, sys, glob, logging, wx, gmExceptions, gmGuiBroker, gmCfg, gmCfg2, gmDispatcher, gmTools, gmPerson, gmPraxis


Function Details

instantiate_plugin(aPackage='xxxDEFAULTxxx', plugin_name='xxxDEFAULTxxx')

source code 
Instantiates a plugin object from a package directory, returning the object.

NOTE: it does NOT call register() for you !!!!

- "set" specifies the subdirectory in which to find the plugin
- this knows nothing of databases, all it does is instantiate a named plugin

There will be a general 'gui' directory for large GUI
components: prescritions, etc., then several others for more
specific types: export/import filters, crypto algorithms
guibroker, dbbroker are broker objects provided
defaults are the default set of plugins to be loaded

FIXME: we should inform the user about failing plugins

get_installed_plugins(plugin_dir='')

source code 

Looks for installed plugins in the filesystem.

The first directory in sys.path which contains a wxpython/gui/ is considered the one -- because that's where the import will get it from.

GetPluginLoadList(option, plugin_dir='', defaults=None, workplace=None)

source code 

Get a list of plugins to load.

1) from database if option is not None 2) from list of defaults 3) if 2 is None, from source directory (then stored in database)

FIXME: NOT from files in directories (important for py2exe)