* various: More support for event refs.

svn: r4753
This commit is contained in:
Alex Roitman 2005-06-01 20:45:45 +00:00
parent f242e619e0
commit 4e8e4ee636
7 changed files with 606 additions and 67 deletions

View File

@ -7,7 +7,8 @@
src/ListBox.py, src/Marriage.py, src/NameEdit.py: Support tuple src/ListBox.py, src/Marriage.py, src/NameEdit.py: Support tuple
types. types.
* src/gramps.glade: Replace ComboBox with ComboBoxEntry; add icons. * src/gramps.glade: Replace ComboBox with ComboBoxEntry; add icons.
* various: More support for event refs.
2005-05-31 Martin Hawlisch <Martin.Hawlisch@gmx.de> 2005-05-31 Martin Hawlisch <Martin.Hawlisch@gmx.de>
* src/EditSource.py, src/ListBox.py, src/ReadGedcom.py, * src/EditSource.py, src/ListBox.py, src/ReadGedcom.py,

View File

@ -58,6 +58,7 @@ import Marriage
import NameDisplay import NameDisplay
import GenericFilter import GenericFilter
from QuestionDialog import ErrorDialog, QuestionDialog2 from QuestionDialog import ErrorDialog, QuestionDialog2
import AutoComp
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# #
@ -93,13 +94,10 @@ class AddSpouse:
self.glade = gtk.glade.XML(const.gladeFile, "spouseDialog","gramps") self.glade = gtk.glade.XML(const.gladeFile, "spouseDialog","gramps")
self.relation_def = self.glade.get_widget("reldef")
self.rel_combo = self.glade.get_widget("rel_combo") self.rel_combo = self.glade.get_widget("rel_combo")
self.spouse_list = self.glade.get_widget("spouse_list") self.spouse_list = self.glade.get_widget("spouse_list")
self.showall = self.glade.get_widget('showall') self.showall = self.glade.get_widget('showall')
self.set_gender()
self.renderer = gtk.CellRendererText() self.renderer = gtk.CellRendererText()
self.slist = PeopleModel.PeopleModel(self.db,self.filter) self.slist = PeopleModel.PeopleModel(self.db,self.filter)
@ -127,7 +125,11 @@ class AddSpouse:
"destroy_passed_object" : Utils.destroy_passed_object "destroy_passed_object" : Utils.destroy_passed_object
}) })
self.rel_combo.set_active(RelLib.Family.MARRIED) self.rel_selector = AutoComp.StandardCustomSelector(
Utils.family_relations,self.rel_combo,
RelLib.Family.CUSTOM,RelLib.Family.MARRIED)
self.set_gender()
self.update_data() self.update_data()
def build_all(self): def build_all(self):
@ -203,8 +205,8 @@ class AddSpouse:
""" """
import EditPerson import EditPerson
relation = self.rel_combo.get_active() rel_i,rel_s = self.rel_selector.get_values()
if relation == RelLib.Family.CIVIL_UNION: if rel_i == RelLib.Family.CIVIL_UNION:
if self.person.get_gender() == RelLib.Person.MALE: if self.person.get_gender() == RelLib.Person.MALE:
gen = RelLib.Person.MALE gen = RelLib.Person.MALE
else: else:
@ -309,8 +311,8 @@ class AddSpouse:
self.active_family.set_father_handle(spouse.get_handle()) self.active_family.set_father_handle(spouse.get_handle())
self.active_family.set_mother_handle(self.person.get_handle()) self.active_family.set_mother_handle(self.person.get_handle())
rtype = self.rel_combo.get_active() rtype = self.rel_selector.get_values()
self.active_family.set_relationship((rtype,Utils.family_relations[rtype])) self.active_family.set_relationship(rtype)
self.db.commit_family(self.active_family,trans) self.db.commit_family(self.active_family,trans)
self.db.transaction_commit(trans,_("Add Spouse")) self.db.transaction_commit(trans,_("Add Spouse"))
@ -373,7 +375,8 @@ class AddSpouse:
return 1 return 1
def set_gender(self): def set_gender(self):
if self.rel_combo.get_active() == RelLib.Family.CIVIL_UNION: rel_i,rel_s = self.rel_selector.get_values()
if rel_i == RelLib.Family.CIVIL_UNION:
if self.gender == RelLib.Person.MALE: if self.gender == RelLib.Person.MALE:
self.sgender = RelLib.Person.FEMALE self.sgender = RelLib.Person.FEMALE
else: else:

View File

@ -60,7 +60,7 @@ from QuestionDialog import WarningDialog, ErrorDialog
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
class EventEditor: class EventEditor:
def __init__(self,parent,name,elist,trans,event,def_placename, def __init__(self,parent,name,etypes,event,def_placename,
read_only, cb, def_event=None, noedit=False): read_only, cb, def_event=None, noedit=False):
self.parent = parent self.parent = parent
self.db = self.parent.db self.db = self.parent.db
@ -74,7 +74,6 @@ class EventEditor:
self.win_key = self self.win_key = self
self.event = event self.event = event
self.child_windows = {} self.child_windows = {}
self.trans = trans
self.callback = cb self.callback = cb
self.path = self.db.get_save_path() self.path = self.db.get_save_path()
self.plist = [] self.plist = []
@ -83,15 +82,15 @@ class EventEditor:
self.dp = DateHandler.parser self.dp = DateHandler.parser
self.dd = DateHandler.displayer self.dd = DateHandler.displayer
values = {} # values = {}
for v in elist: # for v in elist:
values[v] = 1 # values[v] = 1
for vv in self.db.get_person_event_type_list(): # for vv in self.db.get_person_event_type_list():
v = _(vv) # v = _(vv)
values[v] = 1 # values[v] = 1
#
self.elist = values.keys() # self.elist = values.keys()
self.elist.sort() # self.elist.sort()
for key in self.parent.db.get_place_handles(): for key in self.parent.db.get_place_handles():
title = self.parent.db.get_place_from_handle(key).get_title() title = self.parent.db.get_place_from_handle(key).get_title()
@ -103,7 +102,6 @@ class EventEditor:
if not self.witnesslist: if not self.witnesslist:
self.witnesslist = [] self.witnesslist = []
self.date = Date.Date(self.event.get_date_object()) self.date = Date.Date(self.event.get_date_object())
transname = const.display_event(event.get_name())
# add the name to the list if it is not already there. This # add the name to the list if it is not already there. This
# tends to occur in translated languages with the 'Death' # tends to occur in translated languages with the 'Death'
# event, which is a partial match to other events # event, which is a partial match to other events
@ -361,7 +359,7 @@ class EventEditor:
if self.callback: if self.callback:
self.callback(self.event) self.callback(self.event)
def update_event(self,name,date,place,desc,note,format,priv,cause): def update_event(self,the_type,date,place,desc,note,format,priv,cause):
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())
@ -371,8 +369,8 @@ class EventEditor:
self.event.set_place_handle("") self.event.set_place_handle("")
self.parent.lists_changed = 1 self.parent.lists_changed = 1
if self.event.get_name() not in [self.trans.find_key(name)]: if self.event.get_type() != the_type:
self.event.set_name(self.trans.find_key(name)) self.event.set_type(the_type)
self.parent.lists_changed = 1 self.parent.lists_changed = 1
if self.event.get_description() != desc: if self.event.get_description() != desc:
@ -413,3 +411,128 @@ class EventEditor:
Utils.bold_label(self.notes_label) Utils.bold_label(self.notes_label)
else: else:
Utils.unbold_label(self.notes_label) Utils.unbold_label(self.notes_label)
class EventRefEditor:
def __init__(self, eventref, referent, database, update, parent):
self.db = database
self.parent = parent
self.referent = referent
if self.parent.__dict__.has_key('child_windows'):
self.win_parent = self.parent
else:
self.win_parent = self.parent.parent
if eventref:
if self.win_parent.child_windows.has_key(eventref):
self.win_parent.child_windows[eventref].present(None)
return
else:
self.win_key = eventref
else:
self.win_key = self
self.update = update
self.event_ref = eventref
self.child_windows = {}
self.title = _('Event Reference Editor')
self.top = gtk.glade.XML(const.dialogFile, "eventref_edit","gramps")
self.window = self.top.get_widget('eventref_edit')
self.note_field = self.top.get_widget('er_note')
self.role_combo = self.top.get_widget('er_role_combo')
self.type_label = self.top.get_widget('er_type_label')
self.id_label = self.top.get_widget('er_id_label')
self.privacy = self.top.get_widget('er_priv_button')
Utils.set_titles(self.window,
self.top.get_widget('er_title'),
self.title)
self.top.signal_autoconnect({
"on_help_er_edit_clicked" : self.on_help_clicked,
"on_ok_er_edit_clicked" : self.on_ok_clicked,
"on_cancel_er_edit_clicked" : self.close,
"on_er_edit_delete_event" : self.on_delete_event,
})
self.role_selector = AutoComp.StandardCustomSelector(
Utils.event_roles,self.role_combo,
RelLib.EventRef.CUSTOM,RelLib.EventRef.PRIMARY)
self.trans = self.db.transaction_begin()
if not self.event_ref:
trans2 = self.db.transaction_begin()
e = RelLib.Event()
e.set_type((RelLib.Event.MARRIAGE,_("Married")))
self.db.add_event(e,trans2)
self.db.transaction_commit(trans2,_("Add Event"))
self.event_ref = RelLib.EventRef()
self.event_ref.set_role((RelLib.EventRef.PRIMARY,_('Primary')))
self.event_ref.set_note('Some text')
self.event_ref.set_reference_handle(e.get_handle())
self.role_selector.set_values(self.event_ref.get_role())
self.note_field.get_buffer().set_text(self.event_ref.get_note())
event = self.db.get_event_from_handle(self.event_ref.ref)
self.id_label.set_text(event.get_gramps_id())
self.type_label.set_text(event.get_type()[1])
self.add_itself_to_menu()
self.window.show()
def on_delete_event(self,obj,b):
self.close_child_windows()
self.remove_itself_from_menu()
def close(self,obj):
self.close_child_windows()
self.remove_itself_from_menu()
self.window.destroy()
def close_child_windows(self):
for child_window in self.child_windows.values():
child_window.close(None)
self.child_windows = {}
def add_itself_to_menu(self):
self.win_parent.child_windows[self.win_key] = self
label = _('Event Reference')
self.parent_menu_item = gtk.MenuItem(label)
self.parent_menu_item.set_submenu(gtk.Menu())
self.parent_menu_item.show()
self.win_parent.winsmenu.append(self.parent_menu_item)
self.winsmenu = self.parent_menu_item.get_submenu()
self.menu_item = gtk.MenuItem(self.title)
self.menu_item.connect("activate",self.present)
self.menu_item.show()
self.winsmenu.append(self.menu_item)
def remove_itself_from_menu(self):
del self.win_parent.child_windows[self.win_key]
self.menu_item.destroy()
self.winsmenu.destroy()
self.parent_menu_item.destroy()
def present(self,obj):
self.window.present()
def on_help_clicked(self,obj):
pass
def on_ok_clicked(self,obj):
self.event_ref.set_role(self.role_selector.get_values())
buf = self.note_field.get_buffer()
start = buf.get_start_iter()
stop = buf.get_end_iter()
note = unicode(buf.get_text(start,stop,False))
self.event_ref.set_note(note)
self.referent.add_event_ref(self.event_ref)
if self.referent.__class__.__name__ == 'Person':
self.db.commit_person(self.referent,self.trans)
elif self.referent.__class__.__name__ == 'Family':
self.db.commit_family(self.referent,self.trans)
self.db.transaction_commit(self.trans,_("Add Event Reference"))
self.close(None)

View File

@ -1084,7 +1084,7 @@ class FamilyView:
for event_ref in family.get_event_ref_list(): for event_ref in family.get_event_ref_list():
if event_ref: if event_ref:
event = self.parent.db.get_event_from_handle(event_ref.ref) event = self.parent.db.get_event_from_handle(event_ref.ref)
if event.get_name() == "Marriage": if event.get_type()[0] == RelLib.Event.MARRIAGE:
return event return event
return None return None

View File

@ -557,7 +557,7 @@ class Marriage:
place_name = self.db.get_place_from_handle(place_handle).get_title() place_name = self.db.get_place_from_handle(place_handle).get_title()
else: else:
place_name = "" place_name = ""
node = self.etree.add([const.display_fevent(event.get_name()), node = self.etree.add([event.get_type()[1],
event.get_quote_date(),place_name],event) event.get_quote_date(),place_name],event)
self.emap[str(event)] = node self.emap[str(event)] = node
if self.ereflist: if self.ereflist:
@ -726,11 +726,11 @@ class Marriage:
def on_add_clicked(self,*obj): def on_add_clicked(self,*obj):
import EventEdit import EventEdit
name = Utils.family_name(self.family,self.db) #name = Utils.family_name(self.family,self.db)
EventEdit.EventEditor( EventEdit.EventRefEditor(None,self.family, self.db,None,self)
self,name, const.marriageEvents, const.family_events, #self,name, Utils.family_events,
None, None, 0, self.event_edit_callback, #None, None, 0, self.event_edit_callback,
const.defaultMarriageEvent, self.db.readonly) #RelLib.Event.MARRIAGE, self.db.readonly)
def on_event_update_clicked(self,obj): def on_event_update_clicked(self,obj):
import EventEdit import EventEdit
@ -739,9 +739,9 @@ class Marriage:
return return
event = self.etree.get_object(node) event = self.etree.get_object(node)
name = Utils.family_name(self.family,self.db) name = Utils.family_name(self.family,self.db)
EventEdit.EventEditor( EventEdit.EventRefEditor(
self, name, const.marriageEvents, const.family_events,event, self, name, Utils.family_events,event,
None, 0,self.event_edit_callback, None, self.db.readonly) None, 0, self.event_edit_callback, None, self.db.readonly)
def on_delete_clicked(self,obj): def on_delete_clicked(self,obj):
if Utils.delete_selected(obj,self.ereflist): if Utils.delete_selected(obj,self.ereflist):
@ -763,7 +763,7 @@ class Marriage:
place_name = u"" place_name = u""
self.place_field.set_text(place_name) self.place_field.set_text(place_name)
self.cause_field.set_text(event.get_cause()) self.cause_field.set_text(event.get_cause())
self.name_field.set_label(const.display_fevent(event.get_name())) self.name_field.set_label(event.get_type()[1])
if len(event.get_source_references()) > 0: if len(event.get_source_references()) > 0:
psrc_ref = event.get_source_references()[0] psrc_ref = event.get_source_references()[0]
psrc_id = psrc_ref.get_base_handle() psrc_id = psrc_ref.get_base_handle()

View File

@ -4164,12 +4164,10 @@ class EventRef(BaseObject,PrivacyBase,NoteBase):
NoteBase.__init__(self) NoteBase.__init__(self)
if source: if source:
self.ref = source.ref self.ref = source.ref
self.role_int = source.role_int self.role = source.role_int
self.role_str = source.role_str
else: else:
self.ref = None self.ref = None
self.role_int = EventRef.ROLE_CUSTOM self.role = (EventRef.CUSTOM,"")
self.role_str = ""
def get_text_data_list(self): def get_text_data_list(self):
""" """
@ -4218,25 +4216,15 @@ class EventRef(BaseObject,PrivacyBase,NoteBase):
def get_role(self): def get_role(self):
""" """
Returns the integer corresponding to the preset role. Returns the tuple corresponding to the preset role.
If custom then the string is returned.
""" """
if self.role_int == EventRef.ROLE_CUSTOM: return self.role
return self.role_str
else:
return self.role_int
def set_role(self,role): def set_role(self,role):
""" """
Sets the role according to the given argument. Sets the role according to the given argument.
If integer, it is set as is. If string, it is recorded as custom role.
""" """
if type(role) == str: self.role = role
self.role_int = EventRef.ROLE_CUSTOM
self.role_str = role
elif type(role) == int:
self.role_int = role
self.role_str = ""
class GenderStats: class GenderStats:
""" """

View File

@ -3891,20 +3891,14 @@
</child> </child>
<child> <child>
<widget class="GtkComboBox" id="rel_combo"> <widget class="GtkComboBoxEntry" id="rel_combo">
<property name="visible">True</property> <property name="visible">True</property>
<property name="items" translatable="yes">Married
Unmarried
Civil Union
Unknown
Other</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="right_attach">2</property> <property name="right_attach">2</property>
<property name="top_attach">0</property> <property name="top_attach">0</property>
<property name="bottom_attach">1</property> <property name="bottom_attach">1</property>
<property name="x_options">fill</property>
<property name="y_options">fill</property> <property name="y_options">fill</property>
</packing> </packing>
</child> </child>
@ -13179,7 +13173,7 @@ Other</property>
<child> <child>
<widget class="GtkButton" id="marriage_add"> <widget class="GtkButton" id="marriage_add">
<property name="visible">True</property> <property name="visible">True</property>
<property name="tooltip" translatable="yes">Add new event for this marriage</property> <property name="tooltip" translatable="yes">Add new event to the database and link this marriage to it</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property> <property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property> <property name="focus_on_click">True</property>
@ -13204,6 +13198,34 @@ Other</property>
</packing> </packing>
</child> </child>
<child>
<widget class="GtkButton" id="button196">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Select an existing event from the database and link this marriage to it</property>
<property name="can_focus">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="on_marriageSelBtn_clicked" object="marriageEventList" last_modification_time="Wed, 01 Jun 2005 17:55:21 GMT"/>
<child>
<widget class="GtkImage" id="image2615">
<property name="visible">True</property>
<property name="stock">gtk-index</property>
<property name="icon_size">4</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child> <child>
<widget class="GtkButton" id="button116"> <widget class="GtkButton" id="button116">
<property name="visible">True</property> <property name="visible">True</property>
@ -13226,7 +13248,7 @@ Other</property>
<packing> <packing>
<property name="padding">0</property> <property name="padding">0</property>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">False</property>
</packing> </packing>
</child> </child>
@ -13254,13 +13276,9 @@ Other</property>
<packing> <packing>
<property name="padding">0</property> <property name="padding">0</property>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">False</property>
</packing> </packing>
</child> </child>
<child>
<placeholder/>
</child>
</widget> </widget>
<packing> <packing>
<property name="padding">0</property> <property name="padding">0</property>
@ -34604,4 +34622,410 @@ Very High</property>
</child> </child>
</widget> </widget>
<widget class="GtkDialog" id="eventref_edit">
<property name="visible">True</property>
<property name="title" translatable="yes"></property>
<property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="window_position">GTK_WIN_POS_NONE</property>
<property name="modal">False</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="decorated">True</property>
<property name="skip_taskbar_hint">False</property>
<property name="skip_pager_hint">False</property>
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
<property name="has_separator">True</property>
<signal name="delete_event" handler="on_er_edit_delete_event" last_modification_time="Wed, 01 Jun 2005 18:54:32 GMT"/>
<child internal-child="vbox">
<widget class="GtkVBox" id="dialog-vbox21">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child internal-child="action_area">
<widget class="GtkHButtonBox" id="dialog-action_area21">
<property name="visible">True</property>
<property name="layout_style">GTK_BUTTONBOX_END</property>
<child>
<widget class="GtkButton" id="helpbutton1">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
<property name="label">gtk-help</property>
<property name="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="response_id">-11</property>
<signal name="clicked" handler="on_help_er_edit_clicked" last_modification_time="Wed, 01 Jun 2005 18:54:14 GMT"/>
</widget>
</child>
<child>
<widget class="GtkButton" id="cancelbutton3">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
<property name="label">gtk-cancel</property>
<property name="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="response_id">-6</property>
<signal name="clicked" handler="on_cancel_er_edit_clicked" last_modification_time="Wed, 01 Jun 2005 18:54:02 GMT"/>
</widget>
</child>
<child>
<widget class="GtkButton" id="okbutton3">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
<property name="label">gtk-ok</property>
<property name="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="response_id">-5</property>
<signal name="clicked" handler="on_ok_er_edit_clicked" last_modification_time="Wed, 01 Jun 2005 18:53:49 GMT"/>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">GTK_PACK_END</property>
</packing>
</child>
<child>
<widget class="GtkVBox" id="vbox102">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkLabel" id="er_title">
<property name="visible">True</property>
<property name="label" translatable="yes"></property>
<property name="use_underline">False</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">10</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkTable" id="table61">
<property name="border_width">12</property>
<property name="visible">True</property>
<property name="n_rows">5</property>
<property name="n_columns">3</property>
<property name="homogeneous">False</property>
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
<widget class="GtkLabel" id="label493">
<property name="visible">True</property>
<property name="label" translatable="yes">Event I_D:</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="left_attach">0</property>
<property name="right_attach">1</property>
<property name="top_attach">0</property>
<property name="bottom_attach">1</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label495">
<property name="visible">True</property>
<property name="label" translatable="yes">_Role:</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">3</property>
</widget>
<packing>
<property name="left_attach">0</property>
<property name="right_attach">1</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label500">
<property name="visible">True</property>
<property name="label" translatable="yes">Event _Type:</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="left_attach">0</property>
<property name="right_attach">1</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label494">
<property name="visible">True</property>
<property name="label" translatable="yes">_Note:</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="left_attach">0</property>
<property name="right_attach">1</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkCheckButton" id="er_priv_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">_Private record</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkScrolledWindow" id="er_notes_sw">
<property name="visible">True</property>
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="shadow_type">GTK_SHADOW_IN</property>
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
<child>
<widget class="GtkTextView" id="er_note">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="editable">True</property>
<property name="overwrite">False</property>
<property name="accepts_tab">True</property>
<property name="justification">GTK_JUSTIFY_LEFT</property>
<property name="wrap_mode">GTK_WRAP_WORD</property>
<property name="cursor_visible">True</property>
<property name="pixels_above_lines">0</property>
<property name="pixels_below_lines">0</property>
<property name="pixels_inside_wrap">0</property>
<property name="left_margin">0</property>
<property name="right_margin">0</property>
<property name="indent">0</property>
<property name="text" translatable="yes"></property>
</widget>
</child>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">3</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="er_id_label">
<property name="visible">True</property>
<property name="label" translatable="yes"></property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">er_add_button</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">0</property>
<property name="bottom_attach">1</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="er_type_label">
<property name="visible">True</property>
<property name="label" translatable="yes"></property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkButton" id="er_sel_button">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Select an existing event for this reference</property>
<property name="can_focus">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<child>
<widget class="GtkImage" id="image2631">
<property name="visible">True</property>
<property name="stock">gtk-index</property>
<property name="icon_size">4</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
</child>
</widget>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkButton" id="er_add_button">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Create new event for this reference</property>
<property name="can_focus">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<child>
<widget class="GtkImage" id="image2632">
<property name="visible">True</property>
<property name="stock">gtk-add</property>
<property name="icon_size">4</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
</child>
</widget>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">0</property>
<property name="bottom_attach">1</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkComboBoxEntry" id="er_role_combo">
<property name="visible">True</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">3</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="y_options">fill</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
</widget>
</child>
</widget>
</glade-interface> </glade-interface>