* src/DisplayTabs.py: Move event list
* src/EditFamily.py: add editing of people, add relationship type * src/EventEdit.py: move event list * src/FamilyView.py: remove common widgets * src/gramps.glade: EditFamily changes * src/GrampsWidgets.py: Common widgets svn: r5749
This commit is contained in:
parent
58d66f6708
commit
0e48f23eb2
@ -1,3 +1,11 @@
|
|||||||
|
2006-01-13 Don Allingham <don@gramps-project.org>
|
||||||
|
* src/DisplayTabs.py: Move event list
|
||||||
|
* src/EditFamily.py: add editing of people, add relationship type
|
||||||
|
* src/EventEdit.py: move event list
|
||||||
|
* src/FamilyView.py: remove common widgets
|
||||||
|
* src/gramps.glade: EditFamily changes
|
||||||
|
* src/GrampsWidgets.py: Common widgets
|
||||||
|
|
||||||
2006-01-13 Alex Roitman <shura@gramps-project.org>
|
2006-01-13 Alex Roitman <shura@gramps-project.org>
|
||||||
* src/ViewManager.py: Proper label change for Undo/Redo.
|
* src/ViewManager.py: Proper label change for Undo/Redo.
|
||||||
|
|
||||||
|
@ -52,8 +52,6 @@ class EmbeddedList(gtk.HBox):
|
|||||||
self.tree.remove_column(column)
|
self.tree.remove_column(column)
|
||||||
self.columns = []
|
self.columns = []
|
||||||
|
|
||||||
#for pair in self.parent.db.get_child_column_order():
|
|
||||||
|
|
||||||
for pair in self.column_order():
|
for pair in self.column_order():
|
||||||
if not pair[0]:
|
if not pair[0]:
|
||||||
continue
|
continue
|
||||||
@ -74,6 +72,40 @@ class EmbeddedList(gtk.HBox):
|
|||||||
def get_tab_widget(self):
|
def get_tab_widget(self):
|
||||||
return gtk.Label('UNDEFINED')
|
return gtk.Label('UNDEFINED')
|
||||||
|
|
||||||
|
class EventEmbedList(EmbeddedList):
|
||||||
|
|
||||||
|
column_names = [
|
||||||
|
(_('Description'),0),
|
||||||
|
(_('ID'),1),
|
||||||
|
(_('Type'),2),
|
||||||
|
(_('Date'),3),
|
||||||
|
(_('Place'),4),
|
||||||
|
(_('Cause'),5),
|
||||||
|
]
|
||||||
|
|
||||||
|
def __init__(self,db,obj):
|
||||||
|
self.obj = obj
|
||||||
|
self.hbox = gtk.HBox()
|
||||||
|
self.label = gtk.Label(_('Events'))
|
||||||
|
self.hbox.show_all()
|
||||||
|
|
||||||
|
EmbeddedList.__init__(self, db, EventRefModel)
|
||||||
|
|
||||||
|
def get_data(self):
|
||||||
|
return self.obj.get_event_ref_list()
|
||||||
|
|
||||||
|
def column_order(self):
|
||||||
|
return ((1,0),(1,1),(1,2),(1,3),(1,4),(1,5))
|
||||||
|
|
||||||
|
def set_label(self):
|
||||||
|
if len(self.get_data()):
|
||||||
|
self.label.set_text("<b>%s</b>" % _('Events'))
|
||||||
|
self.label.set_use_markup(True)
|
||||||
|
else:
|
||||||
|
self.label.set_text(_('Events'))
|
||||||
|
|
||||||
|
def get_tab_widget(self):
|
||||||
|
return self.label
|
||||||
|
|
||||||
class NoteTab(gtk.HBox):
|
class NoteTab(gtk.HBox):
|
||||||
|
|
||||||
|
@ -49,53 +49,19 @@ import gtk.glade
|
|||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
import const
|
import const
|
||||||
import Utils
|
import Utils
|
||||||
import ImageSelect
|
|
||||||
import NameDisplay
|
import NameDisplay
|
||||||
import DisplayState
|
import DisplayState
|
||||||
import Spell
|
import Spell
|
||||||
import GrampsDisplay
|
import GrampsDisplay
|
||||||
import RelLib
|
import RelLib
|
||||||
import ListModel
|
|
||||||
import ReportUtils
|
import ReportUtils
|
||||||
import DisplayTabs
|
import DisplayTabs
|
||||||
|
import AutoComp
|
||||||
|
import GrampsWidgets
|
||||||
|
|
||||||
from DdTargets import DdTargets
|
from DdTargets import DdTargets
|
||||||
from WindowUtils import GladeIf
|
from WindowUtils import GladeIf
|
||||||
|
|
||||||
class EventEmbedList(DisplayTabs.EmbeddedList):
|
|
||||||
|
|
||||||
column_names = [
|
|
||||||
(_('Description'),0),
|
|
||||||
(_('ID'),1),
|
|
||||||
(_('Type'),2),
|
|
||||||
(_('Date'),3),
|
|
||||||
(_('Place'),4),
|
|
||||||
(_('Cause'),5),
|
|
||||||
]
|
|
||||||
|
|
||||||
def __init__(self,db,family):
|
|
||||||
self.family = family
|
|
||||||
self.hbox = gtk.HBox()
|
|
||||||
self.label = gtk.Label(_('Events'))
|
|
||||||
self.hbox.show_all()
|
|
||||||
|
|
||||||
DisplayTabs.EmbeddedList.__init__(self, db, DisplayTabs.EventRefModel)
|
|
||||||
|
|
||||||
def get_data(self):
|
|
||||||
return self.family.get_event_ref_list()
|
|
||||||
|
|
||||||
def column_order(self):
|
|
||||||
return ((1,0),(1,1),(1,2),(1,3),(1,4),(1,5))
|
|
||||||
|
|
||||||
def set_label(self):
|
|
||||||
if len(self.get_data()):
|
|
||||||
self.label.set_text("<b>%s</b>" % _('Events'))
|
|
||||||
self.label.set_use_markup(True)
|
|
||||||
else:
|
|
||||||
self.label.set_text(_('Events'))
|
|
||||||
|
|
||||||
def get_tab_widget(self):
|
|
||||||
return self.label
|
|
||||||
|
|
||||||
class AttrEmbedList(DisplayTabs.EmbeddedList):
|
class AttrEmbedList(DisplayTabs.EmbeddedList):
|
||||||
|
|
||||||
@ -203,6 +169,9 @@ class EditFamily(DisplayState.ManagedWindow):
|
|||||||
if self.family:
|
if self.family:
|
||||||
self.load_data()
|
self.load_data()
|
||||||
|
|
||||||
|
self.mname = None
|
||||||
|
self.fname = None
|
||||||
|
|
||||||
self.show()
|
self.show()
|
||||||
|
|
||||||
def build_menu_names(self,obj):
|
def build_menu_names(self,obj):
|
||||||
@ -216,44 +185,57 @@ class EditFamily(DisplayState.ManagedWindow):
|
|||||||
self.gladeif = GladeIf(self.top)
|
self.gladeif = GladeIf(self.top)
|
||||||
self.window = self.top.get_widget("marriageEditor")
|
self.window = self.top.get_widget("marriageEditor")
|
||||||
|
|
||||||
self.fname = self.top.get_widget('fname')
|
|
||||||
self.fbirth = self.top.get_widget('fbirth')
|
self.fbirth = self.top.get_widget('fbirth')
|
||||||
self.fdeath = self.top.get_widget('fdeath')
|
self.fdeath = self.top.get_widget('fdeath')
|
||||||
|
|
||||||
self.mname = self.top.get_widget('mname')
|
|
||||||
self.mbirth = self.top.get_widget('mbirth')
|
self.mbirth = self.top.get_widget('mbirth')
|
||||||
self.mdeath = self.top.get_widget('mdeath')
|
self.mdeath = self.top.get_widget('mdeath')
|
||||||
|
|
||||||
self.gid = self.top.get_widget('gid')
|
self.gid = self.top.get_widget('gid')
|
||||||
self.reltype= self.top.get_widget('relationship_type')
|
self.reltype= self.top.get_widget('marriage_type')
|
||||||
|
|
||||||
self.mbutton= self.top.get_widget('mbutton')
|
self.mbutton= self.top.get_widget('mbutton')
|
||||||
self.fbutton= self.top.get_widget('fbutton')
|
self.fbutton= self.top.get_widget('fbutton')
|
||||||
|
|
||||||
|
self.mbox = self.top.get_widget('mbox')
|
||||||
|
self.fbox = self.top.get_widget('fbox')
|
||||||
|
|
||||||
self.ok = self.top.get_widget('ok')
|
self.ok = self.top.get_widget('ok')
|
||||||
self.cancel = self.top.get_widget('cancel')
|
self.cancel = self.top.get_widget('cancel')
|
||||||
|
|
||||||
self.vbox = self.top.get_widget('vbox')
|
self.vbox = self.top.get_widget('vbox')
|
||||||
|
self.child_list = self.top.get_widget('child_list')
|
||||||
|
|
||||||
|
rel_types = dict(Utils.family_relations)
|
||||||
|
|
||||||
|
mtype = self.family.get_relationship()
|
||||||
|
if mtype:
|
||||||
|
defval = mtype[0]
|
||||||
|
else:
|
||||||
|
defval = None
|
||||||
|
|
||||||
|
self.type_sel = AutoComp.StandardCustomSelector(
|
||||||
|
rel_types, self.reltype, RelLib.Family.CUSTOM, defval)
|
||||||
|
|
||||||
self.notebook = gtk.Notebook()
|
self.notebook = gtk.Notebook()
|
||||||
self.notebook.show()
|
self.notebook.show()
|
||||||
|
|
||||||
self.vbox.pack_start(self.notebook,True)
|
self.vbox.pack_start(self.notebook,True)
|
||||||
|
|
||||||
self.child_list = self.top.get_widget('child_list')
|
|
||||||
self.cancel.connect('clicked', self.close_window)
|
self.cancel.connect('clicked', self.close_window)
|
||||||
|
|
||||||
def load_data(self):
|
def load_data(self):
|
||||||
self.load_parent(self.family.get_father_handle(),self.fname,
|
self.update_father(self.family.get_father_handle())
|
||||||
self.fbirth, self.fdeath, self.fbutton)
|
self.update_mother(self.family.get_mother_handle())
|
||||||
self.load_parent(self.family.get_mother_handle(),self.mname,
|
|
||||||
self.mbirth, self.mdeath, self.mbutton)
|
self.mbutton.connect('clicked',self.mother_clicked)
|
||||||
|
self.fbutton.connect('clicked',self.father_clicked)
|
||||||
|
|
||||||
self.child_list = ChildEmbedList(self.dbstate.db, self.family)
|
self.child_list = ChildEmbedList(self.dbstate.db, self.family)
|
||||||
self.event_list = EventEmbedList(self.dbstate.db, self.family)
|
self.event_list = DisplayTabs.EventEmbedList(self.dbstate.db, self.family)
|
||||||
self.attr_list = AttrEmbedList(self.dbstate.db, self.family.get_attribute_list())
|
self.attr_list = AttrEmbedList(self.dbstate.db, self.family.get_attribute_list())
|
||||||
self.note_tab = DisplayTabs.NoteTab(self.family.get_note_object())
|
self.note_tab = DisplayTabs.NoteTab(self.family.get_note_object())
|
||||||
self.gallery_tab = DisplayTabs.GalleryTab(self.dbstate.db,self.family.get_media_list())
|
self.gallery_tab = DisplayTabs.GalleryTab(self.dbstate.db,
|
||||||
|
self.family.get_media_list())
|
||||||
|
|
||||||
self.notebook.insert_page(self.child_list)
|
self.notebook.insert_page(self.child_list)
|
||||||
self.notebook.set_tab_label(self.child_list,self.child_list.get_tab_widget())
|
self.notebook.set_tab_label(self.child_list,self.child_list.get_tab_widget())
|
||||||
@ -272,11 +254,41 @@ class EditFamily(DisplayState.ManagedWindow):
|
|||||||
|
|
||||||
self.gid.set_text(self.family.get_gramps_id())
|
self.gid.set_text(self.family.get_gramps_id())
|
||||||
|
|
||||||
|
def update_father(self,handle):
|
||||||
|
self.load_parent(handle, self.fbox, self.fbirth, self.fdeath, self.fbutton)
|
||||||
|
|
||||||
def load_parent(self,handle,name_obj,birth_obj,death_obj,btn_obj):
|
def update_mother(self,handle):
|
||||||
|
self.load_parent(handle, self.mbox, self.mbirth, self.mdeath, self.mbutton)
|
||||||
|
|
||||||
|
def mother_clicked(self,obj):
|
||||||
|
handle = self.family.get_mother_handle()
|
||||||
|
if handle:
|
||||||
|
self.family.set_mother_handle(None)
|
||||||
|
self.update_mother(None)
|
||||||
|
else:
|
||||||
|
print "Call person selector"
|
||||||
|
|
||||||
|
def father_clicked(self,obj):
|
||||||
|
handle = self.family.get_father_handle()
|
||||||
|
if handle:
|
||||||
|
self.family.set_father_handle(None)
|
||||||
|
self.update_father(None)
|
||||||
|
else:
|
||||||
|
print "Call person selector"
|
||||||
|
|
||||||
|
def edit_person(self,obj,event,handle):
|
||||||
|
if event.type == gtk.gdk.BUTTON_PRESS and event.button == 1:
|
||||||
|
import EditPerson
|
||||||
|
person = self.dbstate.db.get_person_from_handle(handle)
|
||||||
|
EditPerson.EditPerson(self.dbstate, self.uistate, self.track, person)
|
||||||
|
|
||||||
|
def load_parent(self,handle,box,birth_obj,death_obj,btn_obj):
|
||||||
|
|
||||||
is_used = handle != None
|
is_used = handle != None
|
||||||
|
|
||||||
|
for i in box.get_children():
|
||||||
|
box.remove(i)
|
||||||
|
|
||||||
btn_obj.remove(btn_obj.get_children()[0])
|
btn_obj.remove(btn_obj.get_children()[0])
|
||||||
|
|
||||||
if is_used:
|
if is_used:
|
||||||
@ -292,6 +304,11 @@ class EditFamily(DisplayState.ManagedWindow):
|
|||||||
del_image.show()
|
del_image.show()
|
||||||
del_image.set_from_stock(gtk.STOCK_REMOVE,gtk.ICON_SIZE_BUTTON)
|
del_image.set_from_stock(gtk.STOCK_REMOVE,gtk.ICON_SIZE_BUTTON)
|
||||||
btn_obj.add(del_image)
|
btn_obj.add(del_image)
|
||||||
|
|
||||||
|
box.pack_start(GrampsWidgets.LinkBox(
|
||||||
|
GrampsWidgets.BasicLabel(name),
|
||||||
|
GrampsWidgets.IconButton(self.edit_person,person.handle)
|
||||||
|
))
|
||||||
else:
|
else:
|
||||||
name = ""
|
name = ""
|
||||||
birth = ""
|
birth = ""
|
||||||
@ -302,7 +319,6 @@ class EditFamily(DisplayState.ManagedWindow):
|
|||||||
add_image.set_from_stock(gtk.STOCK_ADD,gtk.ICON_SIZE_BUTTON)
|
add_image.set_from_stock(gtk.STOCK_ADD,gtk.ICON_SIZE_BUTTON)
|
||||||
btn_obj.add(add_image)
|
btn_obj.add(add_image)
|
||||||
|
|
||||||
name_obj.set_text(name)
|
|
||||||
birth_obj.set_text(birth)
|
birth_obj.set_text(birth)
|
||||||
death_obj.set_text(death)
|
death_obj.set_text(death)
|
||||||
|
|
||||||
|
@ -240,20 +240,20 @@ class EventEditor(DisplayState.ManagedWindow):
|
|||||||
date_stat,
|
date_stat,
|
||||||
self.window)
|
self.window)
|
||||||
|
|
||||||
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,
|
||||||
self.db,self,self.window)
|
# self.db,self,self.window)
|
||||||
|
|
||||||
self.gladeif.connect('event_edit','delete_event',self.on_delete_event)
|
self.gladeif.connect('event_edit','delete_event',self.on_delete_event)
|
||||||
self.gladeif.connect('button111','clicked',self.close)
|
self.gladeif.connect('button111','clicked',self.close)
|
||||||
self.gladeif.connect('ok','clicked',self.on_event_edit_ok_clicked)
|
self.gladeif.connect('ok','clicked',self.on_event_edit_ok_clicked)
|
||||||
self.gladeif.connect('button126','clicked',self.on_help_clicked)
|
self.gladeif.connect('button126','clicked',self.on_help_clicked)
|
||||||
self.gladeif.connect('notebook','switch_page',self.on_switch_page)
|
self.gladeif.connect('notebook','switch_page',self.on_switch_page)
|
||||||
self.gladeif.connect('add_obj','clicked',self.gallery.on_add_media_clicked)
|
# self.gladeif.connect('add_obj','clicked',self.gallery.on_add_media_clicked)
|
||||||
self.gladeif.connect('sel_obj','clicked',self.gallery.on_select_media_clicked)
|
# self.gladeif.connect('sel_obj','clicked',self.gallery.on_select_media_clicked)
|
||||||
self.gladeif.connect('button172','clicked',self.gallery.on_edit_media_clicked)
|
# self.gladeif.connect('button172','clicked',self.gallery.on_edit_media_clicked)
|
||||||
self.gladeif.connect('del_obj','clicked',self.gallery.on_delete_media_clicked)
|
# self.gladeif.connect('del_obj','clicked',self.gallery.on_delete_media_clicked)
|
||||||
|
|
||||||
self.top.get_widget('del_obj').set_sensitive(not noedit)
|
self.top.get_widget('del_obj').set_sensitive(not noedit)
|
||||||
self.top.get_widget('sel_obj').set_sensitive(not noedit)
|
self.top.get_widget('sel_obj').set_sensitive(not noedit)
|
||||||
@ -285,12 +285,12 @@ class EventEditor(DisplayState.ManagedWindow):
|
|||||||
|
|
||||||
def on_delete_event(self,obj,b):
|
def on_delete_event(self,obj,b):
|
||||||
self.gladeif.close()
|
self.gladeif.close()
|
||||||
self.gallery.close()
|
# self.gallery.close()
|
||||||
gc.collect()
|
gc.collect()
|
||||||
|
|
||||||
def close(self,obj):
|
def close(self,obj):
|
||||||
self.gladeif.close()
|
self.gladeif.close()
|
||||||
self.gallery.close()
|
# self.gallery.close()
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
gc.collect()
|
gc.collect()
|
||||||
|
|
||||||
|
@ -30,6 +30,7 @@ import DateHandler
|
|||||||
import ImgManip
|
import ImgManip
|
||||||
import ReportUtils
|
import ReportUtils
|
||||||
import GrampsKeys
|
import GrampsKeys
|
||||||
|
import GrampsWidgets
|
||||||
|
|
||||||
_GenderCode = {
|
_GenderCode = {
|
||||||
RelLib.Person.MALE : u'\u2642',
|
RelLib.Person.MALE : u'\u2642',
|
||||||
@ -77,76 +78,6 @@ class AttachList:
|
|||||||
self.max_x = max(self.max_x,x1)
|
self.max_x = max(self.max_x,x1)
|
||||||
self.max_y = max(self.max_y,y1)
|
self.max_y = max(self.max_y,y1)
|
||||||
|
|
||||||
class LinkLabel(gtk.EventBox):
|
|
||||||
|
|
||||||
def __init__(self,label,func,handle):
|
|
||||||
gtk.EventBox.__init__(self)
|
|
||||||
self.orig_text = cgi.escape(label[0])
|
|
||||||
self.gender = label[1]
|
|
||||||
text = '<span underline="single">%s</span>' % self.orig_text
|
|
||||||
if label[1]:
|
|
||||||
text += u' %s' % label[1]
|
|
||||||
|
|
||||||
self.label = gtk.Label(text)
|
|
||||||
self.label.set_use_markup(True)
|
|
||||||
self.label.set_alignment(0,0.5)
|
|
||||||
|
|
||||||
self.add(self.label)
|
|
||||||
self.set_visible_window(False)
|
|
||||||
|
|
||||||
self.connect('button-press-event',func,handle)
|
|
||||||
self.connect('enter-notify-event',self.enter_text,handle)
|
|
||||||
self.connect('leave-notify-event',self.leave_text,handle)
|
|
||||||
|
|
||||||
def enter_text(self,obj,event,handle):
|
|
||||||
text = '<span foreground="blue" underline="single">%s</span>' % self.orig_text
|
|
||||||
if self.gender:
|
|
||||||
text += u" %s" % self.gender
|
|
||||||
self.label.set_text(text)
|
|
||||||
self.label.set_use_markup(True)
|
|
||||||
|
|
||||||
def leave_text(self,obj,event,handle):
|
|
||||||
text = '<span underline="single">%s</span>' % self.orig_text
|
|
||||||
if self.gender:
|
|
||||||
text += u" %s" % self.gender
|
|
||||||
self.label.set_text(text)
|
|
||||||
self.label.set_use_markup(True)
|
|
||||||
|
|
||||||
class IconButton(gtk.EventBox):
|
|
||||||
|
|
||||||
def __init__(self,func,handle,icon=gtk.STOCK_EDIT):
|
|
||||||
gtk.EventBox.__init__(self)
|
|
||||||
image = gtk.Image()
|
|
||||||
image.set_from_stock(icon,gtk.ICON_SIZE_MENU)
|
|
||||||
image.show()
|
|
||||||
self.add(image)
|
|
||||||
self.show()
|
|
||||||
self.connect('button-press-event',func,handle)
|
|
||||||
|
|
||||||
class LinkBox(gtk.HBox):
|
|
||||||
|
|
||||||
def __init__(self,link,button):
|
|
||||||
gtk.HBox.__init__(self)
|
|
||||||
self.set_spacing(6)
|
|
||||||
self.pack_start(link,False)
|
|
||||||
self.pack_start(button,False)
|
|
||||||
self.show()
|
|
||||||
|
|
||||||
class BasicLabel(gtk.Label):
|
|
||||||
|
|
||||||
def __init__(self,text):
|
|
||||||
gtk.Label.__init__(self,text)
|
|
||||||
self.set_alignment(0,0.5)
|
|
||||||
self.show()
|
|
||||||
|
|
||||||
class MarkupLabel(gtk.Label):
|
|
||||||
|
|
||||||
def __init__(self,text):
|
|
||||||
gtk.Label.__init__(self,text)
|
|
||||||
self.set_alignment(0,0.5)
|
|
||||||
self.set_use_markup(True)
|
|
||||||
self.show()
|
|
||||||
|
|
||||||
class FamilyView(PageView.PersonNavView):
|
class FamilyView(PageView.PersonNavView):
|
||||||
|
|
||||||
def __init__(self,dbstate,uistate):
|
def __init__(self,dbstate,uistate):
|
||||||
@ -322,10 +253,10 @@ class FamilyView(PageView.PersonNavView):
|
|||||||
name = NameDisplay.displayer.display(person)
|
name = NameDisplay.displayer.display(person)
|
||||||
text = '<span size="larger" weight="bold">%s %s</span>' % (cgi.escape(name),
|
text = '<span size="larger" weight="bold">%s %s</span>' % (cgi.escape(name),
|
||||||
_GenderCode[person.gender])
|
_GenderCode[person.gender])
|
||||||
label = MarkupLabel(text)
|
label = GrampsWidgets.MarkupLabel(text)
|
||||||
button = IconButton(self.edit_button_press,person.handle)
|
button = GrampsWidgets.IconButton(self.edit_button_press,person.handle)
|
||||||
|
|
||||||
hbox = LinkBox(label,button)
|
hbox = GrampsWidgets.LinkBox(label,button)
|
||||||
|
|
||||||
# GRAMPS ID
|
# GRAMPS ID
|
||||||
self.row = 1
|
self.row = 1
|
||||||
@ -397,33 +328,33 @@ class FamilyView(PageView.PersonNavView):
|
|||||||
self.write_person_data(ename,'')
|
self.write_person_data(ename,'')
|
||||||
|
|
||||||
def write_person_data(self,title,data):
|
def write_person_data(self,title,data):
|
||||||
self.attach.attach(BasicLabel(title),_ALABEL_START,
|
self.attach.attach(GrampsWidgets.BasicLabel(title),_ALABEL_START,
|
||||||
_ALABEL_STOP,self.row,self.row+1,
|
_ALABEL_STOP,self.row,self.row+1,
|
||||||
xoptions=gtk.FILL|gtk.SHRINK)
|
xoptions=gtk.FILL|gtk.SHRINK)
|
||||||
self.attach.attach(BasicLabel(data),_ADATA_START,_ADATA_STOP,
|
self.attach.attach(GrampsWidgets.BasicLabel(data),_ADATA_START,_ADATA_STOP,
|
||||||
self.row,self.row+1)
|
self.row,self.row+1)
|
||||||
self.row += 1
|
self.row += 1
|
||||||
|
|
||||||
def write_label(self,title,family):
|
def write_label(self,title,family):
|
||||||
msg = "<i><b>%s</b></i>" % cgi.escape(title)
|
msg = "<i><b>%s</b></i>" % cgi.escape(title)
|
||||||
self.attach.attach(MarkupLabel(msg),_LABEL_START,_LABEL_STOP,
|
self.attach.attach(GrampsWidgets.MarkupLabel(msg),_LABEL_START,_LABEL_STOP,
|
||||||
self.row,self.row+1,gtk.SHRINK|gtk.FILL)
|
self.row,self.row+1,gtk.SHRINK|gtk.FILL)
|
||||||
|
|
||||||
if family:
|
if family:
|
||||||
value = family.gramps_id
|
value = family.gramps_id
|
||||||
else:
|
else:
|
||||||
value = ""
|
value = ""
|
||||||
self.attach.attach(BasicLabel(value),_DATA_START,_DATA_STOP,
|
self.attach.attach(GrampsWidgets.BasicLabel(value),_DATA_START,_DATA_STOP,
|
||||||
self.row,self.row+1,gtk.SHRINK|gtk.FILL)
|
self.row,self.row+1,gtk.SHRINK|gtk.FILL)
|
||||||
|
|
||||||
hbox = gtk.HBox()
|
hbox = gtk.HBox()
|
||||||
hbox.set_spacing(6)
|
hbox.set_spacing(6)
|
||||||
add = IconButton(self.add_family,None,gtk.STOCK_ADD)
|
add = GrampsWidgets.IconButton(self.add_family,None,gtk.STOCK_ADD)
|
||||||
hbox.pack_start(add,False)
|
hbox.pack_start(add,False)
|
||||||
if family:
|
if family:
|
||||||
edit = IconButton(self.edit_family,family.handle,gtk.STOCK_EDIT)
|
edit = GrampsWidgets.IconButton(self.edit_family,family.handle,gtk.STOCK_EDIT)
|
||||||
hbox.pack_start(edit,False)
|
hbox.pack_start(edit,False)
|
||||||
delete = IconButton(self.delete_family,family.handle,gtk.STOCK_REMOVE)
|
delete = GrampsWidgets.IconButton(self.delete_family,family.handle,gtk.STOCK_REMOVE)
|
||||||
hbox.pack_start(delete,False)
|
hbox.pack_start(delete,False)
|
||||||
self.attach.attach(hbox,_BTN_START,_BTN_STOP,self.row,self.row+1)
|
self.attach.attach(hbox,_BTN_START,_BTN_STOP,self.row,self.row+1)
|
||||||
self.row += 1
|
self.row += 1
|
||||||
@ -437,15 +368,15 @@ class FamilyView(PageView.PersonNavView):
|
|||||||
if self.show_details:
|
if self.show_details:
|
||||||
value = self.info_string(family.get_father_handle())
|
value = self.info_string(family.get_father_handle())
|
||||||
if value:
|
if value:
|
||||||
self.attach.attach(BasicLabel(value),_PDTLS_START,
|
self.attach.attach(GrampsWidgets.BasicLabel(value),_PDTLS_START,
|
||||||
_PDTLS_STOP,self.row, self.row+1)
|
_PDTLS_STOP,self.row, self.row+1)
|
||||||
self.row += 1
|
self.row += 1
|
||||||
self.write_person(_('Mother'),family.get_mother_handle())
|
self.write_person(_('Mother'),family.get_mother_handle())
|
||||||
if self.show_details:
|
if self.show_details:
|
||||||
value = self.info_string(family.get_mother_handle())
|
value = self.info_string(family.get_mother_handle())
|
||||||
if value:
|
if value:
|
||||||
self.attach.attach(BasicLabel(value),_PDTLS_START,_PDTLS_STOP,
|
self.attach.attach(GrampsWidgets.BasicLabel(value),_PDTLS_START,
|
||||||
self.row, self.row+1)
|
_PDTLS_STOP, self.row, self.row+1)
|
||||||
self.row += 1
|
self.row += 1
|
||||||
|
|
||||||
if self.show_siblings:
|
if self.show_siblings:
|
||||||
@ -466,13 +397,14 @@ class FamilyView(PageView.PersonNavView):
|
|||||||
else:
|
else:
|
||||||
format = "%s"
|
format = "%s"
|
||||||
|
|
||||||
label = MarkupLabel(format % cgi.escape(title))
|
label = GrampsWidgets.MarkupLabel(format % cgi.escape(title))
|
||||||
self.attach.attach(label,_PLABEL_START,_PLABEL_STOP,self.row,self.row+1,
|
self.attach.attach(label,_PLABEL_START,_PLABEL_STOP,self.row,self.row+1,
|
||||||
xoptions=gtk.FILL|gtk.SHRINK)
|
xoptions=gtk.FILL|gtk.SHRINK)
|
||||||
|
|
||||||
link_label = LinkLabel(self.get_name(handle,True),self.button_press,handle)
|
link_label = GrampsWidgets.LinkLabel(self.get_name(handle,True),
|
||||||
button = IconButton(self.edit_button_press,handle)
|
self.button_press,handle)
|
||||||
self.attach.attach(LinkBox(link_label,button),_PDATA_START,
|
button = GrampsWidgets.IconButton(self.edit_button_press,handle)
|
||||||
|
self.attach.attach(GrampsWidgets.LinkBox(link_label,button),_PDATA_START,
|
||||||
_PDATA_STOP,self.row,self.row+1)
|
_PDATA_STOP,self.row,self.row+1)
|
||||||
self.row += 1
|
self.row += 1
|
||||||
|
|
||||||
@ -482,13 +414,14 @@ class FamilyView(PageView.PersonNavView):
|
|||||||
else:
|
else:
|
||||||
format = "%s"
|
format = "%s"
|
||||||
|
|
||||||
label = MarkupLabel(format % cgi.escape(title))
|
label = GrampsWidgets.MarkupLabel(format % cgi.escape(title))
|
||||||
self.attach.attach(label,_CLABEL_START,_CLABEL_STOP,self.row,self.row+1,
|
self.attach.attach(label,_CLABEL_START,_CLABEL_STOP,self.row,self.row+1,
|
||||||
xoptions=gtk.FILL|gtk.SHRINK)
|
xoptions=gtk.FILL|gtk.SHRINK)
|
||||||
|
|
||||||
link_label = LinkLabel(self.get_name(handle,True),self.button_press,handle)
|
link_label = GrampsWidgets.LinkLabel(self.get_name(handle,True),
|
||||||
button = IconButton(self.edit_button_press,handle)
|
self.button_press,handle)
|
||||||
self.attach.attach(LinkBox(link_label,button),_CDATA_START,
|
button = GrampsWidgets.IconButton(self.edit_button_press,handle)
|
||||||
|
self.attach.attach(GrampsWidgets.LinkBox(link_label,button),_CDATA_START,
|
||||||
_CDATA_STOP,self.row,self.row+1,
|
_CDATA_STOP,self.row,self.row+1,
|
||||||
xoptions=gtk.EXPAND|gtk.FILL)
|
xoptions=gtk.EXPAND|gtk.FILL)
|
||||||
|
|
||||||
@ -497,13 +430,13 @@ class FamilyView(PageView.PersonNavView):
|
|||||||
if self.show_details:
|
if self.show_details:
|
||||||
value = self.info_string(handle)
|
value = self.info_string(handle)
|
||||||
if value:
|
if value:
|
||||||
self.attach.attach(BasicLabel(value),_CDTLS_START,
|
self.attach.attach(GrampsWidgets.BasicLabel(value),_CDTLS_START,
|
||||||
_CDTLS_STOP,self.row, self.row+1)
|
_CDTLS_STOP,self.row, self.row+1)
|
||||||
self.row += 1
|
self.row += 1
|
||||||
|
|
||||||
def write_data(self,title,start_col=_SDATA_START,stop_col=_SDATA_STOP):
|
def write_data(self,title,start_col=_SDATA_START,stop_col=_SDATA_STOP):
|
||||||
self.attach.attach(BasicLabel(title),start_col,stop_col,self.row,
|
self.attach.attach(GrampsWidgets.BasicLabel(title),start_col,stop_col,
|
||||||
self.row+1, xoptions=gtk.EXPAND|gtk.FILL)
|
self.row, self.row+1, xoptions=gtk.EXPAND|gtk.FILL)
|
||||||
self.row += 1
|
self.row += 1
|
||||||
|
|
||||||
def info_string(self,handle):
|
def info_string(self,handle):
|
||||||
@ -604,7 +537,7 @@ class FamilyView(PageView.PersonNavView):
|
|||||||
|
|
||||||
value = self.info_string(handle)
|
value = self.info_string(handle)
|
||||||
if value:
|
if value:
|
||||||
self.attach.attach(BasicLabel(value),_PDTLS_START,
|
self.attach.attach(GrampsWidgets.BasicLabel(value),_PDTLS_START,
|
||||||
_PDTLS_STOP,self.row, self.row+1)
|
_PDTLS_STOP,self.row, self.row+1)
|
||||||
self.row += 1
|
self.row += 1
|
||||||
if not self.write_marriage(family):
|
if not self.write_marriage(family):
|
||||||
|
@ -1907,7 +1907,7 @@
|
|||||||
<property name="spacing">0</property>
|
<property name="spacing">0</property>
|
||||||
|
|
||||||
<child>
|
<child>
|
||||||
<widget class="GtkTable" id="table67">
|
<widget class="GtkTable" id="ftable">
|
||||||
<property name="border_width">6</property>
|
<property name="border_width">6</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="n_rows">4</property>
|
<property name="n_rows">4</property>
|
||||||
@ -2028,61 +2028,6 @@
|
|||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkLabel" id="fbirth">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="label" translatable="yes"></property>
|
|
||||||
<property name="use_underline">False</property>
|
|
||||||
<property name="use_markup">False</property>
|
|
||||||
<property name="justify">GTK_JUSTIFY_LEFT</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="ellipsize">PANGO_ELLIPSIZE_NONE</property>
|
|
||||||
<property name="width_chars">-1</property>
|
|
||||||
<property name="single_line_mode">False</property>
|
|
||||||
<property name="angle">0</property>
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="left_attach">2</property>
|
|
||||||
<property name="right_attach">3</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="fname">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="label" translatable="yes"></property>
|
|
||||||
<property name="use_underline">False</property>
|
|
||||||
<property name="use_markup">False</property>
|
|
||||||
<property name="justify">GTK_JUSTIFY_LEFT</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="ellipsize">PANGO_ELLIPSIZE_NONE</property>
|
|
||||||
<property name="width_chars">-1</property>
|
|
||||||
<property name="single_line_mode">False</property>
|
|
||||||
<property name="angle">0</property>
|
|
||||||
</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="y_options"></property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<child>
|
<child>
|
||||||
<widget class="GtkVBox" id="vbox118">
|
<widget class="GtkVBox" id="vbox118">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
@ -2154,6 +2099,53 @@
|
|||||||
<property name="y_options"></property>
|
<property name="y_options"></property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkHBox" id="fbox">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="homogeneous">False</property>
|
||||||
|
<property name="spacing">0</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</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">fill</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkLabel" id="fbirth">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="label" translatable="yes"></property>
|
||||||
|
<property name="use_underline">False</property>
|
||||||
|
<property name="use_markup">False</property>
|
||||||
|
<property name="justify">GTK_JUSTIFY_LEFT</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="ellipsize">PANGO_ELLIPSIZE_NONE</property>
|
||||||
|
<property name="width_chars">-1</property>
|
||||||
|
<property name="single_line_mode">False</property>
|
||||||
|
<property name="angle">0</property>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">2</property>
|
||||||
|
<property name="right_attach">3</property>
|
||||||
|
<property name="top_attach">2</property>
|
||||||
|
<property name="bottom_attach">3</property>
|
||||||
|
<property name="y_options"></property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="padding">0</property>
|
<property name="padding">0</property>
|
||||||
@ -2163,7 +2155,7 @@
|
|||||||
</child>
|
</child>
|
||||||
|
|
||||||
<child>
|
<child>
|
||||||
<widget class="GtkTable" id="table66">
|
<widget class="GtkTable" id="mtable">
|
||||||
<property name="border_width">6</property>
|
<property name="border_width">6</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="n_rows">4</property>
|
<property name="n_rows">4</property>
|
||||||
@ -2256,34 +2248,6 @@
|
|||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkLabel" id="mbirth">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="label" translatable="yes"></property>
|
|
||||||
<property name="use_underline">False</property>
|
|
||||||
<property name="use_markup">False</property>
|
|
||||||
<property name="justify">GTK_JUSTIFY_LEFT</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="ellipsize">PANGO_ELLIPSIZE_NONE</property>
|
|
||||||
<property name="width_chars">-1</property>
|
|
||||||
<property name="single_line_mode">False</property>
|
|
||||||
<property name="angle">0</property>
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="left_attach">2</property>
|
|
||||||
<property name="right_attach">3</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>
|
<child>
|
||||||
<widget class="GtkLabel" id="mdeath">
|
<widget class="GtkLabel" id="mdeath">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
@ -2312,33 +2276,6 @@
|
|||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkLabel" id="mname">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="label" translatable="yes"></property>
|
|
||||||
<property name="use_underline">False</property>
|
|
||||||
<property name="use_markup">False</property>
|
|
||||||
<property name="justify">GTK_JUSTIFY_LEFT</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="ellipsize">PANGO_ELLIPSIZE_NONE</property>
|
|
||||||
<property name="width_chars">-1</property>
|
|
||||||
<property name="single_line_mode">False</property>
|
|
||||||
<property name="angle">0</property>
|
|
||||||
</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="y_options"></property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<child>
|
<child>
|
||||||
<widget class="GtkLabel" id="label574">
|
<widget class="GtkLabel" id="label574">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
@ -2410,6 +2347,66 @@
|
|||||||
<property name="y_options">fill</property>
|
<property name="y_options">fill</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkHBox" id="hbox123">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="homogeneous">False</property>
|
||||||
|
<property name="spacing">0</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkHBox" id="mbox">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="homogeneous">False</property>
|
||||||
|
<property name="spacing">0</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="padding">0</property>
|
||||||
|
<property name="expand">True</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
</packing>
|
||||||
|
</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">fill</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkLabel" id="mbirth">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="label" translatable="yes"></property>
|
||||||
|
<property name="use_underline">False</property>
|
||||||
|
<property name="use_markup">False</property>
|
||||||
|
<property name="justify">GTK_JUSTIFY_LEFT</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="ellipsize">PANGO_ELLIPSIZE_NONE</property>
|
||||||
|
<property name="width_chars">-1</property>
|
||||||
|
<property name="single_line_mode">False</property>
|
||||||
|
<property name="angle">0</property>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">2</property>
|
||||||
|
<property name="right_attach">3</property>
|
||||||
|
<property name="top_attach">2</property>
|
||||||
|
<property name="bottom_attach">3</property>
|
||||||
|
<property name="y_options"></property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="padding">0</property>
|
<property name="padding">0</property>
|
||||||
|
Loading…
Reference in New Issue
Block a user