def _display(self): """ organize Glade 'Reorder IDs' window """ # get the main window from glade self.top = Glade(toplevel="reorder-ids") window = self.top.toplevel # set gramps style title for the window self.set_window(window, self.top.get_object("title"), \ _("Reorder Gramps IDs")) # connect signals self.top.connect_signals({ "on_object_button_clicked": self.__on_object_button_clicked, "on_object_button_toggled": self.__on_object_button_toggled, "on_format_button_clicked": self.__on_format_button_clicked, "on_start_button_clicked": self.__on_start_button_clicked, "on_step_button_clicked": self.__on_step_button_clicked, "on_keep_button_clicked": self.__on_keep_button_clicked, "on_change_button_clicked": self.__on_change_button_clicked, "on_change_button_toggled": self.__on_change_button_toggled, "on_format_entry_keyrelease": self.__on_format_entry_keyrelease, "on_format_entry_focusout": self.__on_format_entry_focusout, "on_start_entry_focusout": self.__on_start_entry_focusout, "on_help_button_clicked": self.__on_help_button_clicked, "on_cancel_button_clicked": self.__on_cancel_button_clicked, "on_ok_button_clicked": self.__on_ok_button_clicked }) # Calculate all entries and update Glade window for prim_obj, tmp in self.xobjects: # populate Object, Actual & Quantity fields with values obj_active = self.top.get_object('%s_active' % prim_obj) self.active_entries[prim_obj] = MonitoredCheckbox( obj_active, obj_active, self.obj_values[prim_obj].set_active, self.obj_values[prim_obj].get_active) obj_actual = self.top.get_object('%s_actual' % prim_obj) obj_actual.set_text('%s' % self.obj_values[prim_obj].last_id()) obj_quant = self.top.get_object('%s_quant' % prim_obj) obj_quant.set_text('%s' % str(self.obj_values[prim_obj].quant_id)) # connect/populate Format, Start, Step, Keep & Change fields with GTK/values obj_format = self.top.get_object('%s_format' % prim_obj) self.format_entries[prim_obj] = MonitoredEntry( obj_format, self.obj_values[prim_obj].set_fmt, self.obj_values[prim_obj].get_fmt) obj_change = self.top.get_object('%s_change' % prim_obj) self.change_entries[prim_obj] = MonitoredCheckbox( obj_change, obj_change, self.obj_values[prim_obj].set_change, self.obj_values[prim_obj].get_change) obj_start = self.top.get_object('%s_start' % prim_obj) self.start_entries[prim_obj] = MonitoredEntry( obj_start, self.obj_values[prim_obj].set_id, self.obj_values[prim_obj].get_id) obj_step = self.top.get_object('%s_step' % prim_obj) self.step_entries[prim_obj] = MonitoredEntry( obj_step, self.obj_values[prim_obj].set_step, self.obj_values[prim_obj].get_step, changed=self.obj_values[prim_obj].change_step) obj_keep = self.top.get_object('%s_keep' % prim_obj) self.keep_entries[prim_obj] = MonitoredCheckbox( obj_keep, obj_keep, self.obj_values[prim_obj].set_keep, self.obj_values[prim_obj].get_keep, readonly=True) # fetch the popup menu self.menu = self.top.get_object("popup_menu") # ok, let's see what we've done self.show()
def _display(self): """ organize Glade 'Import Pro-Gen' window """ # get the main window from glade self.glade = Glade('importprogen.glade') self.set_window(self.glade.toplevel, self.glade.get_object('title'), _('Import Pro-Gen')) # calculate all entries and update Glade window # Text for Source / Citation objects for obj in ('source_btn', 'citation_btn'): widget = self.glade.get_object('imp_%s' % obj) set_import = eval('self.imp_values.%s.set_value' % obj) get_import = eval('self.imp_values.%s.get_value' % obj) self.import_methods[obj] = MonitoredCheckbox(\ widget, widget, set_import, get_import, self.dbase.readonly) for obj in ('source_title', 'source_attr', 'citation_page', 'citation_attr'): widget = self.glade.get_object('imp_%s' % obj) set_import = eval('self.imp_values.%s.set_entry' % obj) get_import = eval('self.imp_values.%s.get_entry' % obj) self.import_methods[obj] = MonitoredEntry(\ widget, set_import, get_import, self.dbase.readonly) widget = self.glade.get_object('imp_citation_conf') self.import_methods['conf'] = MonitoredMenu( widget, self.imp_values.citation_conf.set_value, self.imp_values.citation_conf.get_value, [(_('Very Low'), Citation.CONF_VERY_LOW), (_('Low'), Citation.CONF_LOW), (_('Normal'), Citation.CONF_NORMAL), (_('High'), Citation.CONF_HIGH), (_('Very High'), Citation.CONF_VERY_HIGH)], self.dbase.readonly) widget = self.glade.get_object('imp_source_priv') get_import = eval('self.imp_values.source_priv') self.import_methods['source_priv'] = PrivacyButton(\ widget, get_import, self.dbase.readonly) widget = self.glade.get_object('imp_citation_priv') get_import = eval('self.imp_values.citation_priv') self.import_methods['citation_priv'] = PrivacyButton(\ widget, get_import, self.dbase.readonly) # Text (w. Defaults) for Tags for obj in ('text', 'fname'): widget = self.glade.get_object('tag_default_%s' % obj) set_import = eval('self.default_values.%s.set_entry' % obj) get_import = eval('self.default_values.%s.get_entry' % obj) self.default_methods[obj] = MonitoredEntry(\ widget, set_import, get_import, self.dbase.readonly) date = Today() datebase = DateBase() datebase.set_date_object(date) self.default_methods['date'] = MonitoredDate(\ self.glade.get_object('tag_default_date'), self.glade.get_object('tag_default_date_btn'), datebase.get_date_object(), self.uistate, [], self.dbase.readonly) for obj in libprogen.TAGOBJECTS: # populate object fields with values widget = self.glade.get_object('tag_%s_obj' % obj) self.tagobj_methods[obj] = MonitoredCheckbox( widget, widget, self.tagobj_values[obj].tag_obj.set_value, self.tagobj_values[obj].tag_obj.get_value) widget = self.glade.get_object('tag_%s_text' % obj) self.tagtext_methods[obj] = MonitoredEntry( widget, self.tagobj_values[obj].tag_text.set_entry, self.tagobj_values[obj].tag_text.get_entry) widget = self.glade.get_object('tag_%s_fname' % obj) self.tagfname_methods[obj] = MonitoredCheckbox( widget, widget, self.tagobj_values[obj].tag_fname.set_value, self.tagobj_values[obj].tag_fname.get_value) widget = self.glade.get_object('tag_%s_date' % obj) self.tagdate_methods[obj] = MonitoredCheckbox( widget, widget, self.tagobj_values[obj].tag_date.set_value, self.tagobj_values[obj].tag_date.get_value) # button's for primary objects for obj in libprogen.PRIMOBJECTS: # populate pirm. Object buttons with values widget = self.glade.get_object('prim_%s_btn' % obj) set_import = eval("self.primobj_values['%s'].set_value" % obj) get_import = eval("self.primobj_values['%s'].get_value" % obj) self.primobj_methods[obj] = MonitoredCheckbox(\ widget, widget, set_import, get_import, self.dbase.readonly) # button's for miscallaneous option's for obj in libprogen.OPTOBJECTS: # populate option buttons with values widget = self.glade.get_object('opt_%s_btn' % obj) set_import = eval("self.option_values['%s'].set_value" % obj) get_import = eval("self.option_values['%s'].get_value" % obj) self.option_methods[obj] = MonitoredCheckbox(\ widget, widget, set_import, get_import, self.dbase.readonly) # connect signals self.glade.connect_signals({ "on_source_button_toggled": self.__on_source_button_toggled, "on_citation_button_toggled": self.__on_citation_button_toggled, "on_import_entry_keyrelease": self.__on_import_entry_keyrelease, "on_tagtext_entry_keyrelease": self.__on_tagtext_entry_keyrelease, "on_object_button_clicked": self.__on_object_button_clicked, "on_object_button_toggled": self.__on_object_button_toggled, "on_text_button_clicked": self.__on_text_button_clicked, "on_fname_button_clicked": self.__on_fname_button_clicked, "on_fname_button_toggled": self.__on_fname_button_toggled, "on_date_button_clicked": self.__on_date_button_clicked, "on_date_button_toggled": self.__on_date_button_toggled, "on_primobj_button_toggled": self.__on_primobj_button_toggled, "on_surname_button_toggled": self.__on_surname_button_toggled, "on_x_button_clicked": self.__on_x_button_clicked, "on_help_button_clicked": self.__on_help_button_clicked, "on_cancel_button_clicked": self.__on_cancel_button_clicked, "on_ok_button_clicked": self.__on_ok_button_clicked }) # state of two objects trigged form configuration widget = self.glade.get_object('imp_source_btn') self.__on_source_button_toggled(widget) widget = self.glade.get_object('imp_citation_btn') self.__on_citation_button_toggled(widget) widget = self.glade.get_object('import_ok') widget.grab_focus() # creates a modal window and display immediatly! self.show() self.glade.toplevel.run()