def cb_double_click(self, treeview): """ Handle double click on treeview. """ (model, iter_) = treeview.get_selection().get_selected() if not iter_: return try: handle = model.get_value(iter_, 4) person = self.dbstate.db.get_person_from_handle(handle) EditPerson(self.dbstate, self.uistate, [], person) except WindowActiveError: pass
def select_participant(self, *obj): SelectPerson = SelectorFactory('Person') dialog = SelectPerson(self.dbstate, self.uistate) person = dialog.run() if person is None: return ref = EventRef() ref.ref = self.handle person.add_event_ref(ref) try: EditPerson(self.dbstate, self.uistate, [], person) except WindowActiveError: pass
def edit_person(self, menu, event, lat, lon, mark): """ Edit the selected person at the marker position """ dummy_menu = menu dummy_event = event dummy_lat = lat dummy_lon = lon _LOG.debug("edit_person : %s", mark[8]) # need to add code here to edit the person. person = self.dbstate.db.get_person_from_gramps_id(mark[8]) try: EditPerson(self.dbstate, self.uistate, [], person) except WindowActiveError: pass
def _button_press(self, obj, event): """ Double-click for edit, single for make active. """ model, iter_ = obj.get_selection().get_selected() if iter_: handle = model.get_value(iter_, 2) if event.type == Gdk.EventType._2BUTTON_PRESS and \ event.button == 1: try: person = self.dbstate.db.get_person_from_handle(handle) EditPerson(self.dbstate, self.uistate, [], person) except WindowActiveError: pass else: self.uistate.set_active(handle, 'Person')
def rowactivated_cb1(self, treeview, path, column): """ Called when a Person row is activated. """ dummy_tv = treeview dummy_col = column iter_ = self.model_1.get_iter(path) handle = self.model_1.get_value(iter_, 0) person = self.dbstate.db.get_person_from_handle(handle) if person: try: EditPerson(self.dbstate, self.uistate, [], person) except WindowActiveError: pass return True return False
def cb_double_click(self, treeview): #row = self.namemodel.get_selected_row() #print(row) """ Handle double click on treeview. """ (model, rows) = treeview.get_selection().get_selected_rows() if len(rows) != 1: return ref = Gtk.TreeRowReference(model, rows[0]) print(ref) try: handle = model.get_value(model.get_iter(ref.get_path()), 8) person = self.dbstate.db.get_person_from_handle(handle) EditPerson(self.dbstate, self.uistate, [], person) except: pass
def add_child_to_fam(self, obj, event, handle): if button_activated(event, _LEFT_BUTTON): callback = lambda x: self.callback_add_child(x, handle) person = Person() name = Name() #the editor requires a surname name.add_surname(Surname()) name.set_primary_surname(0) family = self.dbstate.db.get_family_from_handle(handle) father = self.dbstate.db.get_person_from_handle( family.get_father_handle()) if father: preset_name(father, name) person.set_primary_name(name) try: EditPerson(self.dbstate, self.uistate, [], person, callback=callback) except WindowActiveError: pass
def rowActivated(self, treeView, path, column): # first we need to check that the row corresponds to a person iter = self.model.get_iter(path) personGid = self.model.get_value(iter, 1) familyGid = self.model.get_value(iter, 4) if familyGid != '': # do we have a family? # get the parent family for this person family = self.db.get_family_from_gramps_id(familyGid) if family: try: EditFamily(self.dbstate, self.uistate, [], family) except WindowActiveError: pass elif personGid != '': # do we have a person? # get the person that corresponds to this GID person = self.db.get_person_from_gramps_id(personGid) if person: try: EditPerson(self.dbstate, self.uistate, [], person) except WindowActiveError: pass
def _display_editor(self, treeview): """ Display the appropriate editor - either event ref or person editor depending on the which type of object the handle belongs to """ model, iter_ = treeview.get_selection().get_selected() if iter_: handle = model.get_value(iter_, 4) if self.dbstate.db.has_event_handle(handle): event = self.dbstate.db.get_event_from_handle(handle) event_ref = self._get_event_ref(event) try: EditEventRef(self.dbstate, self.uistate, [], event, event_ref, self._object_edited) except WindowActiveError: pass return person = self.dbstate.db.get_person_from_handle(handle) if person: try: EditPerson(self.dbstate, self.uistate, [], person) except WindowActiveError: pass
def __add_clicked(self, obj): person = Person() EditPerson(self.dbstate, self.uistate, self.track, person, self.__added)
def edit_person(self, handle): person = self.dbstate.db.get_person_from_handle(handle) try: EditPerson(self.dbstate, self.uistate, [], person) except WindowActiveError: pass