2006-10-31 Don Allingham <don@gramps-project.org>
* src/Reorder.py: Allow for reordering of relationships * src/DataViews/_RelationView.py: add reorder support * src/glade/gramps.glade: reorder dialog * src/Makefile.am: install Reorder.py svn: r7525
This commit is contained in:
parent
ebcd60fa9e
commit
00a4313720
@ -1,3 +1,9 @@
|
|||||||
|
2006-10-31 Don Allingham <don@gramps-project.org>
|
||||||
|
* src/Reorder.py: Allow for reordering of relationships
|
||||||
|
* src/DataViews/_RelationView.py: add reorder support
|
||||||
|
* src/glade/gramps.glade: reorder dialog
|
||||||
|
* src/Makefile.am: install Reorder.py
|
||||||
|
|
||||||
2006-10-31 Alex Roitman <shura@gramps-project.org>
|
2006-10-31 Alex Roitman <shura@gramps-project.org>
|
||||||
* src/GrampsDb/_WriteGedcom.py (write_families): Properly write
|
* src/GrampsDb/_WriteGedcom.py (write_families): Properly write
|
||||||
custom attr type.
|
custom attr type.
|
||||||
|
@ -1,3 +1,24 @@
|
|||||||
|
# Gramps - a GTK+/GNOME based genealogy program
|
||||||
|
#
|
||||||
|
# Copyright (C) 2001-2006 Donald N. Allingham
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
|
# $Id$
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Python modules
|
# Python modules
|
||||||
@ -206,6 +227,7 @@ class RelationshipView(PageView.PersonNavView):
|
|||||||
</placeholder>
|
</placeholder>
|
||||||
</menu>
|
</menu>
|
||||||
<menu action="EditMenu">
|
<menu action="EditMenu">
|
||||||
|
<menuitem action="ChangeOrder"/>
|
||||||
<menuitem action="FilterEdit"/>
|
<menuitem action="FilterEdit"/>
|
||||||
</menu>
|
</menu>
|
||||||
<menu action="BookMenu">
|
<menu action="BookMenu">
|
||||||
@ -225,6 +247,9 @@ class RelationshipView(PageView.PersonNavView):
|
|||||||
<toolitem action="Forward"/>
|
<toolitem action="Forward"/>
|
||||||
<toolitem action="HomePerson"/>
|
<toolitem action="HomePerson"/>
|
||||||
</placeholder>
|
</placeholder>
|
||||||
|
<placeholder name="CommonEdit">
|
||||||
|
<toolitem action="ChangeOrder"/>
|
||||||
|
</placeholder>
|
||||||
</toolbar>
|
</toolbar>
|
||||||
<popup name="Popup">
|
<popup name="Popup">
|
||||||
<menuitem action="Back"/>
|
<menuitem action="Back"/>
|
||||||
@ -237,6 +262,10 @@ class RelationshipView(PageView.PersonNavView):
|
|||||||
def define_actions(self):
|
def define_actions(self):
|
||||||
PageView.PersonNavView.define_actions(self)
|
PageView.PersonNavView.define_actions(self)
|
||||||
|
|
||||||
|
self.add_action('ChangeOrder', gtk.STOCK_SORT_ASCENDING, _("_Reorder"),
|
||||||
|
tip=_("Reorder the relationships"),
|
||||||
|
callback=self.reorder)
|
||||||
|
|
||||||
self.add_toggle_action('Details', None, _('Show details'),
|
self.add_toggle_action('Details', None, _('Show details'),
|
||||||
None, None, self.details_toggle,
|
None, None, self.details_toggle,
|
||||||
self.show_details)
|
self.show_details)
|
||||||
@ -878,3 +907,13 @@ class RelationshipView(PageView.PersonNavView):
|
|||||||
|
|
||||||
def change_to(self, obj, handle):
|
def change_to(self, obj, handle):
|
||||||
self.dbstate.change_active_handle(handle)
|
self.dbstate.change_active_handle(handle)
|
||||||
|
|
||||||
|
def reorder(self,obj):
|
||||||
|
if self.dbstate.active:
|
||||||
|
try:
|
||||||
|
import Reorder
|
||||||
|
Reorder.Reorder(self.dbstate, self.uistate, [],
|
||||||
|
self.dbstate.active.handle)
|
||||||
|
except Errors.WindowActiveError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
@ -61,6 +61,7 @@ gdir_PYTHON = \
|
|||||||
QuestionDialog.py\
|
QuestionDialog.py\
|
||||||
RecentFiles.py\
|
RecentFiles.py\
|
||||||
Relationship.py\
|
Relationship.py\
|
||||||
|
Reorder.py\
|
||||||
ScratchPad.py\
|
ScratchPad.py\
|
||||||
Sort.py\
|
Sort.py\
|
||||||
soundex.py\
|
soundex.py\
|
||||||
|
167
gramps2/src/Reorder.py
Normal file
167
gramps2/src/Reorder.py
Normal file
@ -0,0 +1,167 @@
|
|||||||
|
# Gramps - a GTK+/GNOME based genealogy program
|
||||||
|
#
|
||||||
|
# Copyright (C) 2001-2006 Donald N. Allingham
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
|
# $Id: _SourceView.py 7138 2006-08-06 06:26:10Z rshura $
|
||||||
|
|
||||||
|
|
||||||
|
import const
|
||||||
|
import gtk
|
||||||
|
|
||||||
|
import NameDisplay
|
||||||
|
import ListModel
|
||||||
|
import ManagedWindow
|
||||||
|
|
||||||
|
_parent_titles = [(_('Father'),-1,200),(_('Mother'),-1,200),('',-1,0)]
|
||||||
|
_family_titles = [(_('Spouse'),-1,200),(_('Relationship'),-1,200),('',-1,0)]
|
||||||
|
|
||||||
|
|
||||||
|
class Reorder(ManagedWindow.ManagedWindow):
|
||||||
|
|
||||||
|
def __init__(self, state, uistate, track, handle):
|
||||||
|
xml = gtk.glade.XML(const.gladeFile, "reorder", "gramps")
|
||||||
|
top = xml.get_widget('reorder')
|
||||||
|
|
||||||
|
self.dbstate = state
|
||||||
|
ManagedWindow.ManagedWindow.__init__(self, uistate, track, self)
|
||||||
|
|
||||||
|
self.person = self.dbstate.db.get_person_from_handle(handle)
|
||||||
|
self.set_window(top, None, _("Reorder Relationships"))
|
||||||
|
|
||||||
|
self.ptree = xml.get_widget('ptree')
|
||||||
|
self.pmodel = ListModel.ListModel(self.ptree,_parent_titles)
|
||||||
|
|
||||||
|
self.ftree = xml.get_widget('ftree')
|
||||||
|
self.fmodel = ListModel.ListModel(self.ftree,_family_titles)
|
||||||
|
|
||||||
|
xml.get_widget('ok').connect('clicked', self.ok_clicked)
|
||||||
|
xml.get_widget('cancel').connect('clicked', self.cancel_clicked)
|
||||||
|
xml.get_widget('fup').connect('clicked', self.fup_clicked)
|
||||||
|
xml.get_widget('fdown').connect('clicked', self.fdown_clicked)
|
||||||
|
xml.get_widget('pup').connect('clicked', self.pup_clicked)
|
||||||
|
xml.get_widget('pdown').connect('clicked', self.pdown_clicked)
|
||||||
|
|
||||||
|
self.parent_list = self.person.get_parent_family_handle_list()
|
||||||
|
self.family_list = self.person.get_family_handle_list()
|
||||||
|
self.fill_data()
|
||||||
|
|
||||||
|
self.show()
|
||||||
|
|
||||||
|
def fill_data(self):
|
||||||
|
self.fill_parents()
|
||||||
|
self.fill_family()
|
||||||
|
|
||||||
|
def fill_parents(self):
|
||||||
|
for handle in self.parent_list:
|
||||||
|
family = self.dbstate.db.get_family_from_handle(handle)
|
||||||
|
fhandle = family.get_father_handle()
|
||||||
|
mhandle = family.get_mother_handle()
|
||||||
|
|
||||||
|
fname = ""
|
||||||
|
if fhandle:
|
||||||
|
father = self.dbstate.db.get_person_from_handle(fhandle)
|
||||||
|
if father:
|
||||||
|
fname = NameDisplay.displayer.display(father)
|
||||||
|
|
||||||
|
mname = ""
|
||||||
|
if mhandle:
|
||||||
|
mother = self.dbstate.db.get_person_from_handle(mhandle)
|
||||||
|
if mother:
|
||||||
|
mname = NameDisplay.displayer.display(mother)
|
||||||
|
|
||||||
|
self.pmodel.add([fname, mname, handle])
|
||||||
|
|
||||||
|
def fill_family(self):
|
||||||
|
for handle in self.family_list:
|
||||||
|
|
||||||
|
family = self.dbstate.db.get_family_from_handle(handle)
|
||||||
|
fhandle = family.get_father_handle()
|
||||||
|
mhandle = family.get_mother_handle()
|
||||||
|
|
||||||
|
name = ""
|
||||||
|
|
||||||
|
if fhandle and fhandle != self.person.handle:
|
||||||
|
spouse = self.dbstate.db.get_person_from_handle(fhandle)
|
||||||
|
if spouse:
|
||||||
|
name = NameDisplay.displayer.display(spouse)
|
||||||
|
elif mhandle:
|
||||||
|
spouse = self.dbstate.db.get_person_from_handle(mhandle)
|
||||||
|
if spouse:
|
||||||
|
name = NameDisplay.displayer.display(spouse)
|
||||||
|
|
||||||
|
reltype = str(family.get_relationship())
|
||||||
|
|
||||||
|
self.fmodel.add([name, reltype, handle])
|
||||||
|
|
||||||
|
def cancel_clicked(self, obj):
|
||||||
|
self.close()
|
||||||
|
|
||||||
|
def ok_clicked(self, obj):
|
||||||
|
trans = self.dbstate.db.transaction_begin()
|
||||||
|
self.dbstate.db.commit_person(self.person, trans)
|
||||||
|
name = NameDisplay.displayer.display(self.person)
|
||||||
|
msg = _("Reorder Relationships: %s") % name
|
||||||
|
self.dbstate.db.transaction_commit(trans, msg)
|
||||||
|
|
||||||
|
self.close()
|
||||||
|
|
||||||
|
def pup_clicked(self,obj):
|
||||||
|
"""Moves the current selection up one row"""
|
||||||
|
row = self.pmodel.get_selected_row()
|
||||||
|
if not row or row == -1:
|
||||||
|
return
|
||||||
|
store,the_iter = self.pmodel.get_selected()
|
||||||
|
data = self.pmodel.get_data(the_iter,xrange(3))
|
||||||
|
self.pmodel.remove(the_iter)
|
||||||
|
self.pmodel.insert(row-1,data,None,1)
|
||||||
|
handle = self.parent_list.pop(row)
|
||||||
|
self.parent_list.insert(row-1,handle)
|
||||||
|
|
||||||
|
def pdown_clicked(self, obj):
|
||||||
|
row = self.pmodel.get_selected_row()
|
||||||
|
if row + 1 >= self.pmodel.count or row == -1:
|
||||||
|
return
|
||||||
|
store,the_iter = self.pmodel.get_selected()
|
||||||
|
data = self.pmodel.get_data(the_iter,xrange(3))
|
||||||
|
self.pmodel.remove(the_iter)
|
||||||
|
self.pmodel.insert(row+1,data,None,1)
|
||||||
|
handle = self.parent_list.pop(row)
|
||||||
|
self.parent_list.insert(row+1,handle)
|
||||||
|
|
||||||
|
def fup_clicked(self, obj):
|
||||||
|
row = self.fmodel.get_selected_row()
|
||||||
|
if not row or row == -1:
|
||||||
|
return
|
||||||
|
store,the_iter = self.fmodel.get_selected()
|
||||||
|
data = self.fmodel.get_data(the_iter,xrange(3))
|
||||||
|
self.fmodel.remove(the_iter)
|
||||||
|
self.fmodel.insert(row-1,data,None,1)
|
||||||
|
handle = self.family_list.pop(row)
|
||||||
|
self.family_list.insert(row-1,handle)
|
||||||
|
|
||||||
|
|
||||||
|
def fdown_clicked(self, obj):
|
||||||
|
row = self.fmodel.get_selected_row()
|
||||||
|
if row + 1 >= self.fmodel.count or row == -1:
|
||||||
|
return
|
||||||
|
store,the_iter = self.fmodel.get_selected()
|
||||||
|
data = self.fmodel.get_data(the_iter,xrange(3))
|
||||||
|
self.fmodel.remove(the_iter)
|
||||||
|
self.fmodel.insert(row+1,data,None,1)
|
||||||
|
handle = self.family_list.pop(row)
|
||||||
|
self.family_list.insert(row+1,handle)
|
@ -15313,4 +15313,350 @@ Very High</property>
|
|||||||
</child>
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
|
|
||||||
|
<widget class="GtkDialog" id="reorder">
|
||||||
|
<property name="border_width">12</property>
|
||||||
|
<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="default_width">500</property>
|
||||||
|
<property name="default_height">400</property>
|
||||||
|
<property name="resizable">True</property>
|
||||||
|
<property name="destroy_with_parent">False</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="focus_on_map">True</property>
|
||||||
|
<property name="urgency_hint">False</property>
|
||||||
|
<property name="has_separator">True</property>
|
||||||
|
|
||||||
|
<child internal-child="vbox">
|
||||||
|
<widget class="GtkVBox" id="dialog-vbox24">
|
||||||
|
<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_area24">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkButton" id="cancel">
|
||||||
|
<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>
|
||||||
|
</widget>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkButton" id="ok">
|
||||||
|
<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>
|
||||||
|
</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="GtkTable" id="table78">
|
||||||
|
<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">6</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkLabel" id="label665">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="label" translatable="yes"><b>Parent relationships</b></property>
|
||||||
|
<property name="use_underline">False</property>
|
||||||
|
<property name="use_markup">True</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">0</property>
|
||||||
|
<property name="right_attach">3</property>
|
||||||
|
<property name="top_attach">0</property>
|
||||||
|
<property name="bottom_attach">1</property>
|
||||||
|
<property name="y_options"></property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkVBox" id="vbox129">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="homogeneous">False</property>
|
||||||
|
<property name="spacing">0</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkButton" id="pup">
|
||||||
|
<property name="visible">True</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="image2714">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="stock">gtk-go-up</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>
|
||||||
|
<widget class="GtkButton" id="pdown">
|
||||||
|
<property name="visible">True</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="image2715">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="stock">gtk-go-down</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>
|
||||||
|
<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="GtkScrolledWindow" id="scrolledwindow86">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">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="GtkTreeView" id="ptree">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="headers_visible">True</property>
|
||||||
|
<property name="rules_hint">False</property>
|
||||||
|
<property name="reorderable">False</property>
|
||||||
|
<property name="enable_search">True</property>
|
||||||
|
<property name="fixed_height_mode">False</property>
|
||||||
|
<property name="hover_selection">False</property>
|
||||||
|
<property name="hover_expand">False</property>
|
||||||
|
</widget>
|
||||||
|
</child>
|
||||||
|
</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>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkLabel" id="label666">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="label" translatable="yes"><b>Family relationships</b></property>
|
||||||
|
<property name="use_underline">False</property>
|
||||||
|
<property name="use_markup">True</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">0</property>
|
||||||
|
<property name="right_attach">3</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="GtkScrolledWindow" id="scrolledwindow87">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">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="GtkTreeView" id="ftree">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="headers_visible">True</property>
|
||||||
|
<property name="rules_hint">False</property>
|
||||||
|
<property name="reorderable">False</property>
|
||||||
|
<property name="enable_search">True</property>
|
||||||
|
<property name="fixed_height_mode">False</property>
|
||||||
|
<property name="hover_selection">False</property>
|
||||||
|
<property name="hover_expand">False</property>
|
||||||
|
</widget>
|
||||||
|
</child>
|
||||||
|
</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>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkVBox" id="vbox130">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="homogeneous">False</property>
|
||||||
|
<property name="spacing">0</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkButton" id="fup">
|
||||||
|
<property name="visible">True</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="image2716">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="stock">gtk-go-up</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>
|
||||||
|
<widget class="GtkButton" id="fdown">
|
||||||
|
<property name="visible">True</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="image2717">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="stock">gtk-go-down</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>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">2</property>
|
||||||
|
<property name="right_attach">3</property>
|
||||||
|
<property name="top_attach">4</property>
|
||||||
|
<property name="bottom_attach">5</property>
|
||||||
|
<property name="x_options">fill</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>
|
||||||
|
</child>
|
||||||
|
</widget>
|
||||||
|
|
||||||
</glade-interface>
|
</glade-interface>
|
||||||
|
Loading…
Reference in New Issue
Block a user