Example #1
0
    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
Example #2
0
    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
Example #3
0
 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')
Example #5
0
 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
Example #6
0
    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
Example #7
0
 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
Example #8
0
    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
Example #9
0
    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
Example #10
0
 def __add_clicked(self, obj):
     person = Person()
     EditPerson(self.dbstate, self.uistate, self.track, person,
                self.__added)
Example #11
0
 def edit_person(self, handle):
     person = self.dbstate.db.get_person_from_handle(handle)
     try:
         EditPerson(self.dbstate, self.uistate, [], person)
     except WindowActiveError:
         pass