Changes to allow Menu Options to be used in other places

svn: r10369
This commit is contained in:
Doug Blank 2008-03-21 22:58:35 +00:00
parent 1a2fb30f20
commit 4a283dd93f
2 changed files with 32 additions and 30 deletions

View File

@ -1192,8 +1192,8 @@ class GuiMenuOptions:
if name in self.options_dict: if name in self.options_dict:
option.set_value(self.options_dict[name]) option.set_value(self.options_dict[name])
widget, label = make_gui_option(option, dialog, widget, label = make_gui_option(option, self.__tooltips,
self.__tooltips) dialog.dbstate, dialog.uistate, dialog.track)
if widget == None: if widget == None:
print "UNKNOWN OPTION: ", option print "UNKNOWN OPTION: ", option
@ -1213,7 +1213,7 @@ class GuiMenuOptions:
option = self.menu.get_option_by_name(name) option = self.menu.get_option_by_name(name)
self.options_dict[name] = option.get_value() self.options_dict[name] = option.get_value()
def make_gui_option(option, dialog, tooltips): def make_gui_option(option, tooltips, dbstate, uistate, track):
""" """
Stand-alone function so that Options can be used in other Stand-alone function so that Options can be used in other
ways, too. Takes an Option and returns a GuiOption. ways, too. Takes an Option and returns a GuiOption.
@ -1221,57 +1221,59 @@ def make_gui_option(option, dialog, tooltips):
widget = None widget = None
label = True label = True
if isinstance(option, _MenuOptions.PersonOption): if isinstance(option, _MenuOptions.PersonOption):
widget = GuiPersonOption(option, dialog.dbstate, widget = GuiPersonOption(option, dbstate,
dialog.uistate, dialog.track, uistate, track,
tooltips) tooltips)
elif isinstance(option, _MenuOptions.FamilyOption): elif isinstance(option, _MenuOptions.FamilyOption):
widget = GuiFamilyOption(option, dialog.dbstate, widget = GuiFamilyOption(option, dbstate,
dialog.uistate, dialog.track, uistate, track,
tooltips) tooltips)
elif isinstance(option, _MenuOptions.NoteOption): elif isinstance(option, _MenuOptions.NoteOption):
widget = GuiNoteOption(option, dialog.dbstate, widget = GuiNoteOption(option, dbstate,
dialog.uistate, dialog.track, uistate, track,
tooltips) tooltips)
elif isinstance(option, _MenuOptions.MediaOption): elif isinstance(option, _MenuOptions.MediaOption):
widget = GuiMediaOption(option, dialog.dbstate, widget = GuiMediaOption(option, dbstate,
dialog.uistate, dialog.track, uistate, track,
tooltips) tooltips)
elif isinstance(option, _MenuOptions.PersonListOption): elif isinstance(option, _MenuOptions.PersonListOption):
widget = GuiPersonListOption(option, dialog.dbstate, widget = GuiPersonListOption(option, dbstate,
dialog.uistate, dialog.track, uistate, track,
tooltips) tooltips)
elif isinstance(option, _MenuOptions.NumberOption): elif isinstance(option, _MenuOptions.NumberOption):
widget = GuiNumberOption(option, dialog.dbstate, widget = GuiNumberOption(option, dbstate,
dialog.uistate, dialog.track, uistate, track,
tooltips) tooltips)
elif isinstance(option, _MenuOptions.BooleanOption): elif isinstance(option, _MenuOptions.BooleanOption):
widget = GuiBooleanOption(option, dialog.dbstate, widget = GuiBooleanOption(option, dbstate,
dialog.uistate, dialog.track, uistate, track,
tooltips) tooltips)
label = False label = False
elif isinstance(option, _MenuOptions.DestinationOption): elif isinstance(option, _MenuOptions.DestinationOption):
widget = GuiDestinationOption(option, dialog.dbstate, widget = GuiDestinationOption(option, dbstate,
dialog.uistate, dialog.track, uistate, track,
tooltips) tooltips)
elif isinstance(option, _MenuOptions.StringOption): elif isinstance(option, _MenuOptions.StringOption):
widget = GuiStringOption(option, dialog.dbstate, widget = GuiStringOption(option, dbstate,
dialog.uistate, dialog.track, uistate, track,
tooltips) tooltips)
elif isinstance(option, _MenuOptions.EnumeratedListOption): elif isinstance(option, _MenuOptions.EnumeratedListOption):
widget = GuiEnumeratedListOption(option, dialog.dbstate, widget = GuiEnumeratedListOption(option, dbstate,
dialog.uistate, dialog.track, uistate, track,
tooltips) tooltips)
elif isinstance(option, _MenuOptions.TextOption): elif isinstance(option, _MenuOptions.TextOption):
widget = GuiTextOption(option, dialog.dbstate, widget = GuiTextOption(option, dbstate,
dialog.uistate, dialog.track, uistate, track,
tooltips) tooltips)
elif isinstance(option, _MenuOptions.ColourOption): elif isinstance(option, _MenuOptions.ColourOption):
widget = GuiColourOption(option, dialog.dbstate, widget = GuiColourOption(option, dbstate,
dialog.uistate, dialog.track, uistate, track,
tooltips) tooltips)
elif isinstance(option, _MenuOptions.SurnameColourOption): elif isinstance(option, _MenuOptions.SurnameColourOption):
widget = GuiSurnameColourOption(option, dialog.dbstate, widget = GuiSurnameColourOption(option, dbstate,
dialog.uistate, dialog.track, uistate, track,
tooltips) tooltips)
else:
raise AttributeError("can't make GuiOption: unknown option type: '%s'" % option)
return widget, label return widget, label

View File

@ -33,7 +33,7 @@ from _MenuOptions import (NumberOption, BooleanOption, TextOption,
ColourOption, PersonOption, PersonListOption, ColourOption, PersonOption, PersonListOption,
SurnameColourOption, FamilyOption, DestinationOption, SurnameColourOption, FamilyOption, DestinationOption,
NoteOption, MediaOption) NoteOption, MediaOption)
from _GuiOptions import GuiMenuOptions from _GuiOptions import GuiMenuOptions, make_gui_option
from _PluginMgr import (register_export, register_import, register_tool, from _PluginMgr import (register_export, register_import, register_tool,
register_report, register_relcalc, relationship_class, register_report, register_relcalc, relationship_class,
textdoc_list, drawdoc_list, bookdoc_list, textdoc_list, drawdoc_list, bookdoc_list,