Feature #2393: Allow the use of user-defined (mega)-widgets by MD Nauta; added register_option()

svn: r11861
This commit is contained in:
Doug Blank
2009-02-05 02:23:46 +00:00
parent fc5dcee88b
commit ef066a3b6a
2 changed files with 25 additions and 0 deletions

View File

@@ -1415,6 +1415,8 @@ def make_gui_option(option, tooltips, dbstate, uistate, track):
"""
widget = None
label = True
pmgr = gen.plug.PluginManager.get_instance()
external_options = pmgr.get_external_opt_dict()
if tooltips == None:
tooltips = gtk.Tooltips()
elif type(tooltips) == type(""):
@@ -1455,6 +1457,9 @@ def make_gui_option(option, tooltips, dbstate, uistate, track):
tooltips)
elif isinstance(option, gen.plug.menu.PlaceListOption):
widget = GuiPlaceListOption(option, dbstate, uistate, track, tooltips)
elif option.__class__ in external_options:
widget = external_options[option.__class__](option, dbstate, uistate,
track, tooltips)
else:
raise AttributeError(
"can't make GuiOption: unknown option type: '%s'" % option)