예제 #1
0
def GconfComboBox(key=None, texts=None, values=None):
    def value_changed_cb(widget, setting):
        text = widget.get_active_text()

        setting.get_client().set_value(setting.get_key(), setting.values[setting.texts.index(text)])

    combobox = gtk.combo_box_new_text()
    setting = GconfSetting(key=key)
    setting.texts = texts
    setting.values = values

    for text in texts:
        combobox.append_text(text)

    if setting.get_value() in values:
        combobox.set_active(values.index(setting.get_value()))
    combobox.connect("changed", value_changed_cb, setting)

    return combobox