* src/EditPerson.py: Start event_ref integration
* src/EventEdit.py: Start event_ref integration * src/ListModel.py: Start event_ref integration * src/PersonModel.py: Start event_ref integration * src/ListBox.py: Start event_ref integration svn: r4754
This commit is contained in:
parent
35ffafc48c
commit
778b584916
@ -1,3 +1,10 @@
|
|||||||
|
2005-06-01 Don Allingham <don@gramps-project.org>
|
||||||
|
* src/EditPerson.py: Start event_ref integration
|
||||||
|
* src/EventEdit.py: Start event_ref integration
|
||||||
|
* src/ListModel.py: Start event_ref integration
|
||||||
|
* src/PersonModel.py: Start event_ref integration
|
||||||
|
* src/ListBox.py: Start event_ref integration
|
||||||
|
|
||||||
2005-06-01 Alex Roitman <shura@gramps-project.org>
|
2005-06-01 Alex Roitman <shura@gramps-project.org>
|
||||||
* src/AutoComp.py (StandardCustomSelector): Provide an option to
|
* src/AutoComp.py (StandardCustomSelector): Provide an option to
|
||||||
use an existing ComboBoxEntry instance; add set_values method.
|
use an existing ComboBoxEntry instance; add set_values method.
|
||||||
|
@ -853,16 +853,16 @@ class EditPerson:
|
|||||||
self.person.set_birth_ref(None)
|
self.person.set_birth_ref(None)
|
||||||
self.person.set_death_ref(None)
|
self.person.set_death_ref(None)
|
||||||
eref_list = self.event_box.data[:]
|
eref_list = self.event_box.data[:]
|
||||||
for event_ref in eref_list:
|
print eref_list
|
||||||
if event_ref and event_ref.ref:
|
for (event_ref,event) in eref_list:
|
||||||
event = self.db.get_event_from_handle(event_ref.ref)
|
print event.handle
|
||||||
if event.get_name() == "Birth":
|
if event.get_type()[0] == RelLib.Event.BIRTH:
|
||||||
self.person.set_birth_ref(event_ref)
|
self.person.set_birth_ref(event_ref)
|
||||||
self.event_box.data.remove(event_ref)
|
self.event_box.data.remove(event_ref)
|
||||||
if event.get_name() == "Death":
|
if event.get_type()[0] == RelLib.Event.DEATH:
|
||||||
self.person.set_death_ref(event_ref)
|
self.person.set_death_ref(event_ref)
|
||||||
self.event_box.data.remove(event_ref)
|
self.event_box.data.remove(event_ref)
|
||||||
eref_list = [event_ref for event_ref in self.event_box.data]
|
eref_list = [event_ref for (event_ref,event) in self.event_box.data]
|
||||||
self.person.set_event_ref_list(eref_list)
|
self.person.set_event_ref_list(eref_list)
|
||||||
|
|
||||||
def on_apply_person_clicked(self,obj):
|
def on_apply_person_clicked(self,obj):
|
||||||
@ -1036,7 +1036,7 @@ class EditPerson:
|
|||||||
self.db.commit_person(self.person, trans)
|
self.db.commit_person(self.person, trans)
|
||||||
n = self.person.get_primary_name().get_regular_name()
|
n = self.person.get_primary_name().get_regular_name()
|
||||||
|
|
||||||
for event in self.event_box.get_changed_objects():
|
for (event_ref,event) in self.event_box.get_changed_objects():
|
||||||
self.db.commit_event(event,trans)
|
self.db.commit_event(event,trans)
|
||||||
|
|
||||||
self.db.transaction_commit(trans,_("Edit Person (%s)") % n)
|
self.db.transaction_commit(trans,_("Edit Person (%s)") % n)
|
||||||
|
@ -178,7 +178,10 @@ class EventEditor:
|
|||||||
self.witnesslist, self, self.top, self.window, self.wlist,
|
self.witnesslist, self, self.top, self.window, self.wlist,
|
||||||
add_witness, edit_witness, del_witness)
|
add_witness, edit_witness, del_witness)
|
||||||
|
|
||||||
AutoComp.fill_combo(self.event_menu,self.elist)
|
#AutoComp.fill_combo(self.event_menu,self.elist)
|
||||||
|
|
||||||
|
self.eventmapper = AutoComp.StandardCustomSelector(
|
||||||
|
Utils.personal_events, self.event_menu, RelLib.Event.CUSTOM)
|
||||||
AutoComp.fill_entry(self.place_field,self.pmap.keys())
|
AutoComp.fill_entry(self.place_field,self.pmap.keys())
|
||||||
|
|
||||||
if event != None:
|
if event != None:
|
||||||
@ -219,6 +222,7 @@ class EventEditor:
|
|||||||
self.window)
|
self.window)
|
||||||
if not event:
|
if not event:
|
||||||
event = RelLib.Event()
|
event = RelLib.Event()
|
||||||
|
event.set_handle(Utils.create_id())
|
||||||
self.icon_list = self.top.get_widget("iconlist")
|
self.icon_list = self.top.get_widget("iconlist")
|
||||||
self.gallery = ImageSelect.Gallery(event, self.db.commit_event,
|
self.gallery = ImageSelect.Gallery(event, self.db.commit_event,
|
||||||
self.path, self.icon_list,
|
self.path, self.icon_list,
|
||||||
@ -316,13 +320,7 @@ class EventEditor:
|
|||||||
|
|
||||||
def on_event_edit_ok_clicked(self,obj):
|
def on_event_edit_ok_clicked(self,obj):
|
||||||
|
|
||||||
ename = unicode(self.event_menu.child.get_text())
|
event_data = self.eventmapper.get_values()
|
||||||
|
|
||||||
if not ename.strip():
|
|
||||||
ErrorDialog(_("Event does not have a type"),
|
|
||||||
_("You must specify an event type "
|
|
||||||
"before you can save the event"))
|
|
||||||
return
|
|
||||||
|
|
||||||
#self.date = self.dp.parse(unicode(self.date_field.get_text()))
|
#self.date = self.dp.parse(unicode(self.date_field.get_text()))
|
||||||
ecause = unicode(self.cause_field.get_text())
|
ecause = unicode(self.cause_field.get_text())
|
||||||
@ -336,23 +334,24 @@ class EventEditor:
|
|||||||
edesc = unicode(self.descr_field.get_text())
|
edesc = unicode(self.descr_field.get_text())
|
||||||
epriv = self.priv.get_active()
|
epriv = self.priv.get_active()
|
||||||
|
|
||||||
if ename not in self.elist:
|
# if ename not in self.elist:
|
||||||
WarningDialog(
|
# WarningDialog(
|
||||||
_('New event type created'),
|
# _('New event type created'),
|
||||||
_('The "%s" event type has been added to this database.\n'
|
# _('The "%s" event type has been added to this database.\n'
|
||||||
'It will now appear in the event menus for this database') % ename)
|
# 'It will now appear in the event menus for this database') % ename)
|
||||||
self.elist.append(ename)
|
# self.elist.append(ename)
|
||||||
self.elist.sort()
|
# self.elist.sort()
|
||||||
|
|
||||||
just_added = False
|
just_added = False
|
||||||
if self.event == None:
|
if self.event == None:
|
||||||
self.event = RelLib.Event()
|
self.event = RelLib.Event()
|
||||||
self.event.set_handle(Utils.create_id())
|
self.event.set_handle(Utils.create_id())
|
||||||
self.event.set_source_reference_list(self.srcreflist)
|
self.event.set_source_reference_list(self.srcreflist)
|
||||||
self.event.set_witness_list(self.witnesslist)
|
#self.event.set_witness_list(self.witnesslist)
|
||||||
|
self.event.set_type(event_data)
|
||||||
just_added = True
|
just_added = True
|
||||||
|
|
||||||
self.update_event(ename,self.date,eplace_obj,edesc,enote,eformat,
|
self.update_event(event_data,self.date,eplace_obj,edesc,enote,eformat,
|
||||||
epriv,ecause)
|
epriv,ecause)
|
||||||
|
|
||||||
self.close(obj)
|
self.close(obj)
|
||||||
@ -360,6 +359,8 @@ class EventEditor:
|
|||||||
self.callback(self.event)
|
self.callback(self.event)
|
||||||
|
|
||||||
def update_event(self,the_type,date,place,desc,note,format,priv,cause):
|
def update_event(self,the_type,date,place,desc,note,format,priv,cause):
|
||||||
|
print self.event
|
||||||
|
|
||||||
if place:
|
if place:
|
||||||
if self.event.get_place_handle() != place.get_handle():
|
if self.event.get_place_handle() != place.get_handle():
|
||||||
self.event.set_place_handle(place.get_handle())
|
self.event.set_place_handle(place.get_handle())
|
||||||
@ -388,7 +389,7 @@ class EventEditor:
|
|||||||
dobj = self.event.get_date_object()
|
dobj = self.event.get_date_object()
|
||||||
|
|
||||||
self.event.set_source_reference_list(self.srcreflist)
|
self.event.set_source_reference_list(self.srcreflist)
|
||||||
self.event.set_witness_list(self.witnesslist)
|
#self.event.set_witness_list(self.witnesslist)
|
||||||
|
|
||||||
if not dobj.is_equal(date):
|
if not dobj.is_equal(date):
|
||||||
self.event.set_date_object(date)
|
self.event.set_date_object(date)
|
||||||
@ -412,8 +413,6 @@ class EventEditor:
|
|||||||
else:
|
else:
|
||||||
Utils.unbold_label(self.notes_label)
|
Utils.unbold_label(self.notes_label)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class EventRefEditor:
|
class EventRefEditor:
|
||||||
def __init__(self, eventref, referent, database, update, parent):
|
def __init__(self, eventref, referent, database, update, parent):
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ from ListModel import ListModel, NOSORT, COMBO, TEXT, TOGGLE
|
|||||||
from DdTargets import DdTargets
|
from DdTargets import DdTargets
|
||||||
|
|
||||||
import const
|
import const
|
||||||
import TransTable
|
import RelLib
|
||||||
import UrlEdit
|
import UrlEdit
|
||||||
import NameEdit
|
import NameEdit
|
||||||
import NoteEdit
|
import NoteEdit
|
||||||
@ -82,6 +82,8 @@ class ListBox:
|
|||||||
return list(self.change_list)
|
return list(self.change_list)
|
||||||
|
|
||||||
def add_object(self,item):
|
def add_object(self,item):
|
||||||
|
import traceback
|
||||||
|
traceback.print_stack()
|
||||||
self.data.append(item)
|
self.data.append(item)
|
||||||
self.change_list.add(item)
|
self.change_list.add(item)
|
||||||
|
|
||||||
@ -242,17 +244,19 @@ class EventListBox(ReorderListBox):
|
|||||||
|
|
||||||
def __init__(self,parent,person,obj,label,button_list):
|
def __init__(self,parent,person,obj,label,button_list):
|
||||||
|
|
||||||
self.trans = TransTable.TransTable(self.titles)
|
|
||||||
|
|
||||||
self.data = []
|
self.data = []
|
||||||
if person.get_birth_ref():
|
birth_ref = person.get_birth_ref()
|
||||||
event = parent.db.get_event_from_handle(person.get_birth_ref().ref)
|
death_ref = person.get_death_ref()
|
||||||
self.data.append(event)
|
if birth_ref:
|
||||||
if person.get_death_ref():
|
self.data.append((birth_ref,
|
||||||
event = parent.db.get_event_from_handle(person.get_death_ref().ref)
|
parent.db.get_event_from_handle(birth_ref.ref)))
|
||||||
self.data.append(event)
|
if death_ref:
|
||||||
|
self.data.append((death_ref,
|
||||||
|
parent.db.get_event_from_handle(death_ref.ref)))
|
||||||
|
self
|
||||||
for event_ref in person.get_event_ref_list():
|
for event_ref in person.get_event_ref_list():
|
||||||
self.data.append(parent.db.get_event_from_handle(event_ref.ref))
|
self.data.append((event_ref,
|
||||||
|
parent.db.get_event_from_handle(event_ref.ref)))
|
||||||
|
|
||||||
eventnames = Utils.personal_events.values()
|
eventnames = Utils.personal_events.values()
|
||||||
|
|
||||||
@ -270,26 +274,26 @@ class EventListBox(ReorderListBox):
|
|||||||
button_list, evalues, DdTargets.EVENT)
|
button_list, evalues, DdTargets.EVENT)
|
||||||
|
|
||||||
def set_name(self,index,value):
|
def set_name(self,index,value):
|
||||||
self.data[index].set_name(value)
|
self.data[index][1].set_name(value)
|
||||||
self.change_list.add(self.data[index])
|
self.change_list.add(self.data[index])
|
||||||
|
|
||||||
def set_description(self,index,value):
|
def set_description(self,index,value):
|
||||||
self.data[index].set_description(value)
|
self.data[index][1].set_description(value)
|
||||||
self.change_list.add(self.data[index])
|
self.change_list.add(self.data[index])
|
||||||
|
|
||||||
def set_place(self,index,value):
|
def set_place(self,index,value):
|
||||||
self.data[index].set_description(value)
|
self.data[index][1].set_description(value)
|
||||||
self.change_list.add(self.data[index])
|
self.change_list.add(self.data[index])
|
||||||
|
|
||||||
def set_date(self,index,value):
|
def set_date(self,index,value):
|
||||||
self.data[index].set_date(value)
|
self.data[index][1].set_date(value)
|
||||||
self.change_list.add(self.data[index])
|
self.change_list.add(self.data[index])
|
||||||
|
|
||||||
def add(self,obj):
|
def add(self,obj):
|
||||||
"""Brings up the EventEditor for a new event"""
|
"""Brings up the EventEditor for a new event"""
|
||||||
EventEdit.EventEditor(
|
EventEdit.EventEditor(
|
||||||
self.parent, self.name, Utils.personal_events,
|
self.parent, self.name, Utils.personal_events,
|
||||||
Utils.personal_events, None, None, 0,
|
None, None, False,
|
||||||
self.edit_callback, noedit=self.db.readonly)
|
self.edit_callback, noedit=self.db.readonly)
|
||||||
|
|
||||||
def update(self,obj):
|
def update(self,obj):
|
||||||
@ -299,11 +303,12 @@ class EventListBox(ReorderListBox):
|
|||||||
event = self.list_model.get_object(node)
|
event = self.list_model.get_object(node)
|
||||||
EventEdit.EventEditor(
|
EventEdit.EventEditor(
|
||||||
self.parent, self.name, Utils.personal_events,
|
self.parent, self.name, Utils.personal_events,
|
||||||
Utils.personal_events, event, None, 0,
|
event, None, False,
|
||||||
self.edit_callback, noedit=self.db.readonly)
|
self.edit_callback, noedit=self.db.readonly)
|
||||||
|
|
||||||
def display_data(self,event):
|
def display_data(self,event_tuple):
|
||||||
|
print event_tuple
|
||||||
|
(event_ref, event) = event_tuple
|
||||||
pid = event.get_place_handle()
|
pid = event.get_place_handle()
|
||||||
if pid:
|
if pid:
|
||||||
pname = self.db.get_place_from_handle(pid).get_title()
|
pname = self.db.get_place_from_handle(pid).get_title()
|
||||||
@ -311,7 +316,12 @@ class EventListBox(ReorderListBox):
|
|||||||
pname = u''
|
pname = u''
|
||||||
has_note = event.get_note()
|
has_note = event.get_note()
|
||||||
has_source = len(event.get_source_references())> 0
|
has_source = len(event.get_source_references())> 0
|
||||||
return [const.display_pevent(event.get_name()),
|
etype = event.get_type()
|
||||||
|
if etype[0] == RelLib.Event.CUSTOM:
|
||||||
|
name = etype[1]
|
||||||
|
else:
|
||||||
|
name = Utils.personal_events[etype[0]]
|
||||||
|
return [name,
|
||||||
event.get_description(), event.get_date(),
|
event.get_description(), event.get_date(),
|
||||||
pname, has_source, has_note]
|
pname, has_source, has_note]
|
||||||
|
|
||||||
@ -326,6 +336,20 @@ class EventListBox(ReorderListBox):
|
|||||||
foo.set_place_handle(place.get_handle())
|
foo.set_place_handle(place.get_handle())
|
||||||
self.data.insert(row,foo.get_handle())
|
self.data.insert(row,foo.get_handle())
|
||||||
|
|
||||||
|
def edit_callback(self,data):
|
||||||
|
self.changed = True
|
||||||
|
ref = RelLib.EventRef()
|
||||||
|
ref.ref = data
|
||||||
|
new_data = (ref,data)
|
||||||
|
self.change_list.add(new_data)
|
||||||
|
if new_data not in self.data:
|
||||||
|
self.data.append(new_data)
|
||||||
|
self.redraw()
|
||||||
|
try:
|
||||||
|
self.list_model.select_iter(self.node_map[new_data])
|
||||||
|
except:
|
||||||
|
print "Edit callback failed"
|
||||||
|
|
||||||
class NameListBox(ReorderListBox):
|
class NameListBox(ReorderListBox):
|
||||||
|
|
||||||
def __init__(self,parent,person,obj,label,button_list):
|
def __init__(self,parent,person,obj,label,button_list):
|
||||||
|
@ -42,7 +42,7 @@ class ListModel:
|
|||||||
self.mylist = []
|
self.mylist = []
|
||||||
self.data_index = 0
|
self.data_index = 0
|
||||||
for l in dlist:
|
for l in dlist:
|
||||||
if l[0] == TOGGLE:
|
if l[3] == TOGGLE:
|
||||||
self.mylist.append(TYPE_BOOLEAN)
|
self.mylist.append(TYPE_BOOLEAN)
|
||||||
else:
|
else:
|
||||||
self.mylist.append(TYPE_STRING)
|
self.mylist.append(TYPE_STRING)
|
||||||
|
@ -297,24 +297,27 @@ class PeopleModel(gtk.GenericTreeModel):
|
|||||||
|
|
||||||
def column_birth_day(self,data,node):
|
def column_birth_day(self,data,node):
|
||||||
if data[_BIRTH_COL]:
|
if data[_BIRTH_COL]:
|
||||||
birth = self.db.get_event_from_handle(data[_BIRTH_COL])
|
birth = self.db.get_event_from_handle(data[_BIRTH_COL].ref)
|
||||||
if birth.get_date() and birth.get_date() != "":
|
if birth.get_date() and birth.get_date() != "":
|
||||||
return cgi.escape(birth.get_date())
|
return cgi.escape(birth.get_date())
|
||||||
|
|
||||||
for event_handle in data[_EVENT_COL]:
|
for event_ref in data[_EVENT_COL]:
|
||||||
event = self.db.get_event_from_handle(event_handle)
|
print event_ref, event_ref.ref
|
||||||
if event.name in ["Baptism", "Christening"] and event.get_date() != "":
|
event = self.db.get_event_from_handle(event_ref.ref)
|
||||||
|
print "Event",event
|
||||||
|
if (event.get_type() in [RelLib.Event.BAPTISM, RelLib.Event.CHRISTEN]
|
||||||
|
and event.get_date() != ""):
|
||||||
return "<i>" + cgi.escape(event.get_date()) + "</i>"
|
return "<i>" + cgi.escape(event.get_date()) + "</i>"
|
||||||
|
|
||||||
return u""
|
return u""
|
||||||
|
|
||||||
def column_death_day(self,data,node):
|
def column_death_day(self,data,node):
|
||||||
if data[_DEATH_COL]:
|
if data[_DEATH_COL]:
|
||||||
death = self.db.get_event_from_handle(data[_DEATH_COL])
|
death = self.db.get_event_from_handle(data[_DEATH_COL].ref)
|
||||||
if death.get_date() and death.get_date() != "":
|
if death.get_date() and death.get_date() != "":
|
||||||
return cgi.escape(death.get_date())
|
return cgi.escape(death.get_date())
|
||||||
|
|
||||||
for event_handle in data[_EVENT_COL]:
|
for event_handle in data[_EVENT_COL].ref:
|
||||||
event = self.db.get_event_from_handle(event_handle)
|
event = self.db.get_event_from_handle(event_handle)
|
||||||
if event.name in ["Burial", "Cremation"] and event.get_date() != "":
|
if event.name in ["Burial", "Cremation"] and event.get_date() != "":
|
||||||
return "<i>" + cgi.escape(event.get_date()) + "</i>"
|
return "<i>" + cgi.escape(event.get_date()) + "</i>"
|
||||||
@ -323,13 +326,13 @@ class PeopleModel(gtk.GenericTreeModel):
|
|||||||
|
|
||||||
def column_cause_of_death(self,data,node):
|
def column_cause_of_death(self,data,node):
|
||||||
if data[_DEATH_COL]:
|
if data[_DEATH_COL]:
|
||||||
return self.db.get_event_from_handle(data[_DEATH_COL]).get_cause()
|
return self.db.get_event_from_handle(data[_DEATH_COL].ref).get_cause()
|
||||||
else:
|
else:
|
||||||
return u""
|
return u""
|
||||||
|
|
||||||
def column_birth_place(self,data,node):
|
def column_birth_place(self,data,node):
|
||||||
if data[_BIRTH_COL]:
|
if data[_BIRTH_COL]:
|
||||||
event = self.db.get_event_from_handle(data[_BIRTH_COL])
|
event = self.db.get_event_from_handle(data[_BIRTH_COL].ref)
|
||||||
if event:
|
if event:
|
||||||
place_handle = event.get_place_handle()
|
place_handle = event.get_place_handle()
|
||||||
if place_handle:
|
if place_handle:
|
||||||
@ -337,7 +340,7 @@ class PeopleModel(gtk.GenericTreeModel):
|
|||||||
if place_title != "":
|
if place_title != "":
|
||||||
return cgi.escape(place_title)
|
return cgi.escape(place_title)
|
||||||
|
|
||||||
for event_handle in data[_EVENT_COL]:
|
for event_handle in data[_EVENT_COL].ref:
|
||||||
event = self.db.get_event_from_handle(event_handle)
|
event = self.db.get_event_from_handle(event_handle)
|
||||||
if event.name in ["Baptism", "Christening"]:
|
if event.name in ["Baptism", "Christening"]:
|
||||||
place_handle = event.get_place_handle()
|
place_handle = event.get_place_handle()
|
||||||
@ -350,7 +353,7 @@ class PeopleModel(gtk.GenericTreeModel):
|
|||||||
|
|
||||||
def column_death_place(self,data,node):
|
def column_death_place(self,data,node):
|
||||||
if data[_DEATH_COL]:
|
if data[_DEATH_COL]:
|
||||||
event = self.db.get_event_from_handle(data[_DEATH_COL])
|
event = self.db.get_event_from_handle(data[_DEATH_COL].ref)
|
||||||
if event:
|
if event:
|
||||||
place_handle = event.get_place_handle()
|
place_handle = event.get_place_handle()
|
||||||
if place_handle:
|
if place_handle:
|
||||||
@ -358,7 +361,7 @@ class PeopleModel(gtk.GenericTreeModel):
|
|||||||
if place_title != "":
|
if place_title != "":
|
||||||
return cgi.escape(place_title)
|
return cgi.escape(place_title)
|
||||||
|
|
||||||
for event_handle in data[_EVENT_COL]:
|
for event_handle in data[_EVENT_COL].ref:
|
||||||
event = self.db.get_event_from_handle(event_handle)
|
event = self.db.get_event_from_handle(event_handle)
|
||||||
if event.name in ["Burial", "Cremation"]:
|
if event.name in ["Burial", "Cremation"]:
|
||||||
place_handle = event.get_place_handle()
|
place_handle = event.get_place_handle()
|
||||||
|
Loading…
Reference in New Issue
Block a user