Bug 2888: EventCmp.py - convert from libglade to gtkbuilder

svn: r12449
This commit is contained in:
Gerald Britton 2009-04-15 19:26:07 +00:00
parent efffaa97e1
commit 1c7daa4ed5
2 changed files with 351 additions and 441 deletions

View File

@ -37,14 +37,13 @@ import sys
# #
#------------------------------------------------------------------------ #------------------------------------------------------------------------
import gtk import gtk
from gtk import glade
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# #
# GRAMPS modules # GRAMPS modules
# #
#------------------------------------------------------------------------ #------------------------------------------------------------------------
from Filters import GenericFilter, build_filter_menu, Rules from Filters import GenericFilter, build_filter_model, Rules
import Sort import Sort
import Utils import Utils
from docgen import ODSTab from docgen import ODSTab
@ -67,6 +66,7 @@ from TransUtils import sgettext as _
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
WIKI_HELP_PAGE = '%s_-_Tools' % const.URL_MANUAL_PAGE WIKI_HELP_PAGE = '%s_-_Tools' % const.URL_MANUAL_PAGE
WIKI_HELP_SEC = _('manual|Compare_Individual_Events...') WIKI_HELP_SEC = _('manual|Compare_Individual_Events...')
_GLADE_FILE = "eventcmp.glade"
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# #
@ -122,12 +122,14 @@ class EventComparison(Tool.Tool,ManagedWindow.ManagedWindow):
Tool.Tool.__init__(self,dbstate, options_class, name) Tool.Tool.__init__(self,dbstate, options_class, name)
ManagedWindow.ManagedWindow.__init__(self, uistate, [], self) ManagedWindow.ManagedWindow.__init__(self, uistate, [], self)
base = os.path.dirname(__file__) glade_file = os.path.join(
self.glade_file = base + os.sep + "eventcmp.glade" os.path.split(__file__)[0],
_GLADE_FILE)
self.qual = 0 self.qual = 0
self.filterDialog = glade.XML(self.glade_file,"filters","gramps") self.filterDialog = gtk.Builder()
self.filterDialog.signal_autoconnect({ self.filterDialog.add_from_file(glade_file)
self.filterDialog.connect_signals({
"on_apply_clicked" : self.on_apply_clicked, "on_apply_clicked" : self.on_apply_clicked,
"on_editor_clicked" : self.filter_editor_clicked, "on_editor_clicked" : self.filter_editor_clicked,
"on_filters_delete_event": self.close, "on_filters_delete_event": self.close,
@ -135,25 +137,27 @@ class EventComparison(Tool.Tool,ManagedWindow.ManagedWindow):
"destroy_passed_object" : self.close "destroy_passed_object" : self.close
}) })
window = self.filterDialog.get_widget("filters") window = self.filterDialog.get_object("filters")
self.filters = self.filterDialog.get_widget("filter_list") window.show()
self.filters = self.filterDialog.get_object("filter_list")
self.label = _('Event comparison filter selection') self.label = _('Event comparison filter selection')
self.set_window(window,self.filterDialog.get_widget('title'), self.set_window(window,self.filterDialog.get_object('title'),
self.label) self.label)
all = GenericFilter() all = GenericFilter()
all.set_name(_("Entire Database")) all.set_name(_("Entire Database"))
all.add_rule(Rules.Person.Everyone([])) all.add_rule(Rules.Person.Everyone([]))
the_filters = [all] # the following three lines appear to be unnecessary.
from Filters import CustomFilters # variable "the_filters" is not used anywhere else
the_filters.extend(CustomFilters.get_filters('Person')) # commenting out for now
#the_filters = [all]
#from Filters import CustomFilters
#the_filters.extend(CustomFilters.get_filters('Person'))
self.filter_menu = build_filter_menu(the_filters) self.filter_menu = build_filter_model('Person')
filter_num = self.options.handler.options_dict['filter'] filter_num = self.options.handler.options_dict['filter']
self.filter_menu.set_active(filter_num) self.filters.set_model(self.filter_menu)
self.filter_menu.show()
self.filters.set_menu(self.filter_menu)
self.show() self.show()
@ -173,7 +177,7 @@ class EventComparison(Tool.Tool,ManagedWindow.ManagedWindow):
pass pass
def on_apply_clicked(self, obj): def on_apply_clicked(self, obj):
cfilter = self.filter_menu.get_active().get_data("filter") cfilter = self.filter_menu[self.filters.get_active()][1]
progress_bar = Utils.ProgressMeter(_('Comparing events'),'') progress_bar = Utils.ProgressMeter(_('Comparing events'),'')
progress_bar.set_pass(_('Selecting people'),1) progress_bar.set_pass(_('Selecting people'),1)
@ -183,7 +187,7 @@ class EventComparison(Tool.Tool,ManagedWindow.ManagedWindow):
progress_bar.step() progress_bar.step()
progress_bar.close() progress_bar.close()
self.options.handler.options_dict['filter'] = self.filters.get_history() self.options.handler.options_dict['filter'] = self.filters.get_active()
# Save options # Save options
self.options.handler.save_options() self.options.handler.save_options()
@ -226,21 +230,24 @@ class DisplayChart(ManagedWindow.ManagedWindow):
self.row_data = [] self.row_data = []
self.save_form = None self.save_form = None
base = os.path.dirname(__file__) glade_file = os.path.join(
self.glade_file = base + os.sep + "eventcmp.glade" os.path.split(__file__)[0],
_GLADE_FILE)
self.topDialog = glade.XML(self.glade_file,"view","gramps") self.topDialog = gtk.Builder()
self.topDialog.signal_autoconnect({ self.topDialog.add_from_file(glade_file)
self.topDialog.connect_signals({
"on_write_table" : self.on_write_table, "on_write_table" : self.on_write_table,
"destroy_passed_object" : self.close, "destroy_passed_object" : self.close,
"on_help_clicked" : self.on_help_clicked, "on_help_clicked" : self.on_help_clicked,
}) })
window = self.topDialog.get_widget("view") window = self.topDialog.get_object("view")
self.set_window(window, self.topDialog.get_widget('title'), window.show()
self.set_window(window, self.topDialog.get_object('title'),
_('Event Comparison Results')) _('Event Comparison Results'))
self.eventlist = self.topDialog.get_widget('treeview') self.eventlist = self.topDialog.get_object('treeview')
self.sort = Sort.Sort(self.db) self.sort = Sort.Sort(self.db)
self.my_list.sort(self.sort.by_last_name) self.my_list.sort(self.sort.by_last_name)
@ -310,20 +317,18 @@ class DisplayChart(ManagedWindow.ManagedWindow):
else: else:
the_map[event_name] = [ievent_ref.ref] the_map[event_name] = [ievent_ref.ref]
first = 1 first = True
done = 0 done = False
while done == 0: while not done:
added = 0 added = False
if first: tlist = [name, gid] if first else ["", ""]
tlist = [name,gid]
else:
tlist = ["",""]
for ename in self.event_titles: for ename in self.event_titles:
if ename in the_map and len(the_map[ename]) > 0: if ename in the_map and len(the_map[ename]) > 0:
event_handle = the_map[ename][0] event_handle = the_map[ename][0]
del the_map[ename][0] del the_map[ename][0]
date = "" date = place = ""
place = ""
if event_handle: if event_handle:
event = self.db.get_event_from_handle(event_handle) event = self.db.get_event_from_handle(event_handle)
date = DateHandler.get_date(event) date = DateHandler.get_date(event)
@ -333,20 +338,16 @@ class DisplayChart(ManagedWindow.ManagedWindow):
if place_handle: if place_handle:
place = self.db. \ place = self.db. \
get_place_from_handle(place_handle).get_title() get_place_from_handle(place_handle).get_title()
tlist.append(date) tlist += [date, sortdate, place]
tlist.append(sortdate) added = True
tlist.append(place)
added = 1
else: else:
tlist.append("") tlist += [""]*3
tlist.append("")
tlist.append("")
if first: if first:
first = 0 first = False
self.row_data.append(tlist) self.row_data.append(tlist)
elif added == 0: elif not added:
done = 1 done = True
else: else:
self.row_data.append(tlist) self.row_data.append(tlist)
self.progress_bar.step() self.progress_bar.step()
@ -366,11 +367,11 @@ class DisplayChart(ManagedWindow.ManagedWindow):
if not name: if not name:
break break
if name in the_map: if name in the_map:
the_map[name] = the_map[name] + 1 the_map[name] += 1
else: else:
the_map[name] = 1 the_map[name] = 1
unsort_list = [ (the_map[item],item) for item in the_map.keys() ] unsort_list = [ (the_map[item], item) for item in the_map.keys() ]
unsort_list.sort(by_value) unsort_list.sort(by_value)
sort_list = [ item[1] for item in unsort_list ] sort_list = [ item[1] for item in unsort_list ]
## Presently there's no Birth and Death. Instead there's Birth Date and ## Presently there's no Birth and Death. Instead there's Birth Date and

View File

@ -1,392 +1,301 @@
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> <?xml version="1.0"?>
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> <interface>
<requires lib="gtk+" version="2.16"/>
<glade-interface> <!-- interface-naming-policy toplevel-contextual -->
<object class="GtkListStore" id="liststore1">
<widget class="GtkDialog" id="view"> <columns>
<property name="visible">True</property> <!-- column-name gchararray1 -->
<property name="title" translatable="yes"></property> <column type="gchararray"/>
<property name="type">GTK_WINDOW_TOPLEVEL</property> </columns>
<property name="window_position">GTK_WIN_POS_NONE</property> </object>
<property name="modal">False</property> <object class="GtkDialog" id="view">
<property name="default_width">500</property> <property name="default_width">500</property>
<property name="default_height">400</property> <property name="default_height">400</property>
<property name="resizable">True</property> <property name="type_hint">dialog</property>
<property name="destroy_with_parent">False</property> <property name="has_separator">False</property>
<property name="decorated">True</property> <signal name="delete_event" handler="on_view_delete_event"/>
<property name="skip_taskbar_hint">False</property> <child internal-child="vbox">
<property name="skip_pager_hint">False</property> <object class="GtkVBox" id="dialog-vbox3">
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> <property name="visible">True</property>
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property> <property name="spacing">8</property>
<property name="focus_on_map">True</property> <child>
<property name="urgency_hint">False</property> <object class="GtkTable" id="mytable">
<property name="has_separator">False</property> <property name="visible">True</property>
<signal name="delete_event" handler="on_view_delete_event" last_modification_time="Mon, 10 May 2004 22:57:39 GMT"/> <property name="n_rows">2</property>
<child>
<child internal-child="vbox"> <object class="GtkLabel" id="title">
<widget class="GtkVBox" id="dialog-vbox3"> <property name="visible">True</property>
<property name="visible">True</property> <property name="justify">center</property>
<property name="homogeneous">False</property> </object>
<property name="spacing">8</property> <packing>
<property name="x_options">GTK_FILL</property>
<child internal-child="action_area"> <property name="y_options"></property>
<widget class="GtkHButtonBox" id="dialog-action_area3"> <property name="y_padding">10</property>
<property name="visible">True</property> </packing>
<property name="layout_style">GTK_BUTTONBOX_END</property> </child>
<child>
<child> <object class="GtkScrolledWindow" id="addarea">
<widget class="GtkButton" id="button21"> <property name="visible">True</property>
<property name="visible">True</property> <property name="can_focus">False</property>
<property name="can_default">True</property> <property name="hscrollbar_policy">automatic</property>
<property name="can_focus">True</property> <property name="vscrollbar_policy">automatic</property>
<property name="label">gtk-close</property> <property name="shadow_type">in</property>
<property name="use_stock">True</property> <child>
<property name="relief">GTK_RELIEF_NORMAL</property> <object class="GtkTreeView" id="treeview">
<property name="focus_on_click">True</property> <property name="visible">True</property>
<property name="response_id">0</property> <property name="can_focus">True</property>
<signal name="clicked" handler="destroy_passed_object" object="view"/> <property name="rules_hint">True</property>
</widget> </object>
</child> </child>
</object>
<child> <packing>
<widget class="GtkButton" id="button19"> <property name="top_attach">1</property>
<property name="visible">True</property> <property name="bottom_attach">2</property>
<property name="can_default">True</property> </packing>
<property name="can_focus">True</property> </child>
<property name="label">gtk-save-as</property> </object>
<property name="use_stock">True</property> <packing>
<property name="relief">GTK_RELIEF_NORMAL</property> <property name="position">1</property>
<property name="focus_on_click">True</property> </packing>
<property name="response_id">0</property> </child>
<signal name="clicked" handler="on_write_table" object="view"/> <child internal-child="action_area">
</widget> <object class="GtkHButtonBox" id="dialog-action_area3">
</child> <property name="visible">True</property>
<property name="layout_style">end</property>
<child> <child>
<widget class="GtkButton" id="button30"> <object class="GtkButton" id="button21">
<property name="visible">True</property> <property name="label">gtk-close</property>
<property name="can_default">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="label">gtk-help</property> <property name="can_default">True</property>
<property name="use_stock">True</property> <property name="receives_default">False</property>
<property name="relief">GTK_RELIEF_NORMAL</property> <property name="use_stock">True</property>
<property name="focus_on_click">True</property> <signal name="clicked" handler="destroy_passed_object" object="view"/>
<property name="response_id">-11</property> </object>
<signal name="clicked" handler="on_help_clicked" last_modification_time="Thu, 24 Mar 2005 04:06:52 GMT"/> <packing>
</widget> <property name="expand">False</property>
</child> <property name="fill">False</property>
</widget> <property name="position">0</property>
<packing> </packing>
<property name="padding">0</property> </child>
<property name="expand">False</property> <child>
<property name="fill">True</property> <object class="GtkButton" id="button19">
<property name="pack_type">GTK_PACK_END</property> <property name="label">gtk-save-as</property>
</packing> <property name="visible">True</property>
</child> <property name="can_focus">True</property>
<property name="can_default">True</property>
<child> <property name="receives_default">False</property>
<widget class="GtkTable" id="mytable"> <property name="use_stock">True</property>
<property name="visible">True</property> <signal name="clicked" handler="on_write_table" object="view"/>
<property name="n_rows">2</property> </object>
<property name="n_columns">1</property> <packing>
<property name="homogeneous">False</property> <property name="expand">False</property>
<property name="row_spacing">0</property> <property name="fill">False</property>
<property name="column_spacing">0</property> <property name="position">1</property>
</packing>
<child> </child>
<widget class="GtkLabel" id="title"> <child>
<property name="visible">True</property> <object class="GtkButton" id="button30">
<property name="label" translatable="yes"></property> <property name="label">gtk-help</property>
<property name="use_underline">False</property> <property name="visible">True</property>
<property name="use_markup">False</property> <property name="can_focus">True</property>
<property name="justify">GTK_JUSTIFY_CENTER</property> <property name="can_default">True</property>
<property name="wrap">False</property> <property name="receives_default">False</property>
<property name="selectable">False</property> <property name="use_stock">True</property>
<property name="xalign">0.5</property> <signal name="clicked" handler="on_help_clicked"/>
<property name="yalign">0.5</property> </object>
<property name="xpad">0</property> <packing>
<property name="ypad">0</property> <property name="expand">False</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> <property name="fill">False</property>
<property name="width_chars">-1</property> <property name="position">2</property>
<property name="single_line_mode">False</property> </packing>
<property name="angle">0</property> </child>
</widget> </object>
<packing> <packing>
<property name="left_attach">0</property> <property name="expand">False</property>
<property name="right_attach">1</property> <property name="pack_type">end</property>
<property name="top_attach">0</property> <property name="position">0</property>
<property name="bottom_attach">1</property> </packing>
<property name="y_padding">10</property> </child>
<property name="x_options">fill</property> </object>
<property name="y_options"></property> </child>
</packing> <action-widgets>
</child> <action-widget response="0">button21</action-widget>
<action-widget response="0">button19</action-widget>
<child> <action-widget response="-11">button30</action-widget>
<widget class="GtkScrolledWindow" id="addarea"> </action-widgets>
<property name="visible">True</property> </object>
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> <object class="GtkDialog" id="filters">
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> <property name="default_width">400</property>
<property name="shadow_type">GTK_SHADOW_IN</property> <property name="type_hint">dialog</property>
<property name="window_placement">GTK_CORNER_TOP_LEFT</property> <property name="has_separator">False</property>
<signal name="delete_event" handler="on_filters_delete_event"/>
<child> <child internal-child="vbox">
<widget class="GtkTreeView" id="treeview"> <object class="GtkVBox" id="dialog-vbox5">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="spacing">8</property>
<property name="headers_visible">True</property> <child>
<property name="rules_hint">True</property> <object class="GtkTable" id="table1">
<property name="reorderable">False</property> <property name="visible">True</property>
<property name="enable_search">True</property> <property name="border_width">12</property>
<property name="fixed_height_mode">False</property> <property name="n_rows">3</property>
<property name="hover_selection">False</property> <property name="n_columns">3</property>
<property name="hover_expand">False</property> <property name="column_spacing">12</property>
</widget> <property name="row_spacing">12</property>
</child> <child>
</widget> <object class="GtkLabel" id="label8">
<packing> <property name="visible">True</property>
<property name="left_attach">0</property> <property name="xalign">1</property>
<property name="right_attach">1</property> <property name="xpad">5</property>
<property name="top_attach">1</property> <property name="label" translatable="yes">_Filter:</property>
<property name="bottom_attach">2</property> <property name="use_underline">True</property>
</packing> <property name="justify">center</property>
</child> </object>
</widget> <packing>
<packing> <property name="top_attach">1</property>
<property name="padding">0</property> <property name="bottom_attach">2</property>
<property name="expand">True</property> <property name="x_options">GTK_FILL</property>
<property name="fill">True</property> <property name="y_options"></property>
</packing> </packing>
</child> </child>
</widget> <child>
</child> <object class="GtkLabel" id="label12">
</widget> <property name="visible">True</property>
<property name="label" translatable="yes">The event comparison utility uses the filters defined in the Custom Filter Editor.</property>
<widget class="GtkDialog" id="filters"> <property name="wrap">True</property>
<property name="visible">True</property> </object>
<property name="title" translatable="yes"></property> <packing>
<property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="left_attach">1</property>
<property name="window_position">GTK_WIN_POS_NONE</property> <property name="right_attach">2</property>
<property name="modal">False</property> <property name="top_attach">2</property>
<property name="default_width">400</property> <property name="bottom_attach">3</property>
<property name="resizable">True</property> <property name="x_options">GTK_FILL</property>
<property name="destroy_with_parent">False</property> <property name="y_options"></property>
<property name="decorated">True</property> </packing>
<property name="skip_taskbar_hint">False</property> </child>
<property name="skip_pager_hint">False</property> <child>
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> <object class="GtkButton" id="button28">
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property> <property name="label" translatable="yes">Custom filter _editor</property>
<property name="focus_on_map">True</property> <property name="visible">True</property>
<property name="urgency_hint">False</property> <property name="can_focus">True</property>
<property name="has_separator">False</property> <property name="receives_default">False</property>
<signal name="delete_event" handler="on_filters_delete_event" last_modification_time="Mon, 10 May 2004 00:54:23 GMT"/> <property name="use_underline">True</property>
<signal name="clicked" handler="on_editor_clicked"/>
<child internal-child="vbox"> </object>
<widget class="GtkVBox" id="dialog-vbox5"> <packing>
<property name="visible">True</property> <property name="left_attach">2</property>
<property name="homogeneous">False</property> <property name="right_attach">3</property>
<property name="spacing">8</property> <property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<child internal-child="action_area"> <property name="x_options">GTK_FILL</property>
<widget class="GtkHButtonBox" id="dialog-action_area5"> <property name="y_options"></property>
<property name="visible">True</property> </packing>
<property name="layout_style">GTK_BUTTONBOX_END</property> </child>
<child>
<child> <object class="GtkLabel" id="title">
<widget class="GtkButton" id="button27"> <property name="visible">True</property>
<property name="visible">True</property> <property name="justify">center</property>
<property name="can_default">True</property> </object>
<property name="can_focus">True</property> <packing>
<property name="label">gtk-close</property> <property name="right_attach">3</property>
<property name="use_stock">True</property> <property name="x_options">GTK_FILL</property>
<property name="relief">GTK_RELIEF_NORMAL</property> <property name="y_options"></property>
<property name="focus_on_click">True</property> </packing>
<property name="response_id">-7</property> </child>
<signal name="clicked" handler="destroy_passed_object" object="filters"/> <child>
</widget> <object class="GtkComboBox" id="filter_list">
</child> <property name="visible">True</property>
<property name="model">liststore1</property>
<child> <child>
<widget class="GtkButton" id="button26"> <object class="GtkCellRendererText" id="cellrenderertext1"/>
<property name="visible">True</property> <attributes>
<property name="can_default">True</property> <attribute name="text">0</attribute>
<property name="can_focus">True</property> </attributes>
<property name="label">gtk-apply</property> </child>
<property name="use_stock">True</property> </object>
<property name="relief">GTK_RELIEF_NORMAL</property> <packing>
<property name="focus_on_click">True</property> <property name="left_attach">1</property>
<property name="response_id">0</property> <property name="right_attach">2</property>
<signal name="clicked" handler="on_apply_clicked" object="filters"/> <property name="top_attach">1</property>
</widget> <property name="bottom_attach">2</property>
</child> </packing>
</child>
<child> <child>
<widget class="GtkButton" id="button29"> <placeholder/>
<property name="visible">True</property> </child>
<property name="can_default">True</property> <child>
<property name="can_focus">True</property> <placeholder/>
<property name="label">gtk-help</property> </child>
<property name="use_stock">True</property> </object>
<property name="relief">GTK_RELIEF_NORMAL</property> <packing>
<property name="focus_on_click">True</property> <property name="position">1</property>
<property name="response_id">-11</property> </packing>
<signal name="clicked" handler="on_help_clicked" last_modification_time="Thu, 24 Mar 2005 04:05:22 GMT"/> </child>
</widget> <child internal-child="action_area">
</child> <object class="GtkHButtonBox" id="dialog-action_area5">
</widget> <property name="visible">True</property>
<packing> <property name="layout_style">end</property>
<property name="padding">0</property> <child>
<property name="expand">False</property> <object class="GtkButton" id="button27">
<property name="fill">True</property> <property name="label">gtk-close</property>
<property name="pack_type">GTK_PACK_END</property> <property name="visible">True</property>
</packing> <property name="can_focus">True</property>
</child> <property name="can_default">True</property>
<property name="receives_default">False</property>
<child> <property name="use_stock">True</property>
<widget class="GtkTable" id="table1"> <signal name="clicked" handler="destroy_passed_object" object="filters"/>
<property name="border_width">12</property> </object>
<property name="visible">True</property> <packing>
<property name="n_rows">3</property> <property name="expand">False</property>
<property name="n_columns">3</property> <property name="fill">False</property>
<property name="homogeneous">False</property> <property name="position">0</property>
<property name="row_spacing">12</property> </packing>
<property name="column_spacing">12</property> </child>
<child>
<child> <object class="GtkButton" id="button26">
<widget class="GtkLabel" id="label8"> <property name="label">gtk-apply</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="label" translatable="yes">_Filter:</property> <property name="can_focus">True</property>
<property name="use_underline">True</property> <property name="can_default">True</property>
<property name="use_markup">False</property> <property name="receives_default">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property> <property name="use_stock">True</property>
<property name="wrap">False</property> <signal name="clicked" handler="on_apply_clicked" object="filters"/>
<property name="selectable">False</property> </object>
<property name="xalign">1</property> <packing>
<property name="yalign">0.5</property> <property name="expand">False</property>
<property name="xpad">5</property> <property name="fill">False</property>
<property name="ypad">0</property> <property name="position">1</property>
<property name="mnemonic_widget">filter_list</property> </packing>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> </child>
<property name="width_chars">-1</property> <child>
<property name="single_line_mode">False</property> <object class="GtkButton" id="button29">
<property name="angle">0</property> <property name="label">gtk-help</property>
</widget> <property name="visible">True</property>
<packing> <property name="can_focus">True</property>
<property name="left_attach">0</property> <property name="can_default">True</property>
<property name="right_attach">1</property> <property name="receives_default">False</property>
<property name="top_attach">1</property> <property name="use_stock">True</property>
<property name="bottom_attach">2</property> <signal name="clicked" handler="on_help_clicked"/>
<property name="x_options">fill</property> </object>
<property name="y_options"></property> <packing>
</packing> <property name="expand">False</property>
</child> <property name="fill">False</property>
<property name="position">2</property>
<child> </packing>
<widget class="GtkLabel" id="label12"> </child>
<property name="visible">True</property> </object>
<property name="label" translatable="yes">The event comparison utility uses the filters defined in the Custom Filter Editor.</property> <packing>
<property name="use_underline">False</property> <property name="expand">False</property>
<property name="use_markup">False</property> <property name="pack_type">end</property>
<property name="justify">GTK_JUSTIFY_LEFT</property> <property name="position">0</property>
<property name="wrap">True</property> </packing>
<property name="selectable">False</property> </child>
<property name="xalign">0.5</property> </object>
<property name="yalign">0.5</property> </child>
<property name="xpad">0</property> <action-widgets>
<property name="ypad">0</property> <action-widget response="-7">button27</action-widget>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> <action-widget response="0">button26</action-widget>
<property name="width_chars">-1</property> <action-widget response="-11">button29</action-widget>
<property name="single_line_mode">False</property> </action-widgets>
<property name="angle">0</property> </object>
</widget> </interface>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</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="GtkButton" id="button28">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Custom filter _editor</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="on_editor_clicked" last_modification_time="Wed, 12 Mar 2003 00:28:59 GMT"/>
</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="GtkOptionMenu" id="filter_list">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="history">-1</property>
<signal name="enter" handler="on_filter_list_enter" last_modification_time="Wed, 12 Mar 2003 00:38:33 GMT"/>
<child internal-child="menu">
<widget class="GtkMenu" id="convertwidget3">
<property name="visible">True</property>
</widget>
</child>
</widget>
<packing>
<property name="left_attach">1</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>
<widget class="GtkLabel" id="title">
<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_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">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="x_options">fill</property>
<property name="y_options"></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>