* src/Filters/Rules/*: Add object-specific rules.

svn: r6529
This commit is contained in:
Alex Roitman
2006-05-03 06:29:07 +00:00
parent 5e85cd3c91
commit 2dd9893045
94 changed files with 1085 additions and 550 deletions

View File

@@ -1,4 +1,3 @@
#
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2000-2006 Donald N. Allingham
@@ -528,32 +527,32 @@ class FilterWidget(Widget):
if filter in ["everyone", "all filters"]:
f = GenericFilter()
f.set_name(_("Entire Database"))
f.add_rule(Rules.Everyone([]))
f.add_rule(Rules.Person.Everyone([]))
retval.append(f)
if filter in ["descendants", "all filters"]:
f = GenericFilter()
f.set_name(_("Descendants of %s") % name)
f.add_rule(Rules.IsDescendantOf([gramps_id,1]))
f.add_rule(Rules.Person.IsDescendantOf([gramps_id,1]))
retval.append(f)
if filter in ["descendant families", "all filters"]:
f = GenericFilter()
f.set_name(_("Descendant Families of %s") % name)
f.add_rule(Rules.IsDescendantFamilyOf([gramps_id]))
f.add_rule(Rules.Person.IsDescendantFamilyOf([gramps_id]))
retval.append(f)
if filter in ["ancestors", "all filters"]:
f = GenericFilter()
f.set_name(_("Ancestors of %s") % name)
f.add_rule(Rules.IsAncestorOf([gramps_id,1]))
f.add_rule(Rules.Person.IsAncestorOf([gramps_id,1]))
retval.append(f)
if filter in ["common ancestors", "all filters"]:
f = GenericFilter()
f.set_name(_("People with common ancestor with %s") % name)
f.add_rule(Rules.HasCommonAncestorWith([gramps_id]))
f.add_rule(Rules.Person.HasCommonAncestorWith([gramps_id]))
retval.append(f)
if filter in ["calendar attribute", "all filters"]:
f = ParamFilter()
f.set_name(_("People with a Calendar attribute"))
f.add_rule(Rules.HasTextMatchingSubstringOf(['Calendar',0,0]))
f.add_rule(Rules.Person.HasTextMatchingSubstringOf(['Calendar',0,0]))
retval.append(f)
return retval

View File

@@ -154,7 +154,7 @@ class EventComparison(Tool.Tool,ManagedWindow.ManagedWindow):
self.all = GenericFilter()
self.all.set_name(_("Entire Database"))
self.all.add_rule(Rules.Everyone([]))
self.all.add_rule(Rules.Person.Everyone([]))
self.filter_menu = build_filter_menu([self.all])
filter_num = self.options.handler.get_filter_number()

View File

@@ -86,25 +86,25 @@ class CalendarWriterOptionBox:
all = GenericFilter()
all.set_name(_("Entire Database"))
all.add_rule(Rules.Everyone([]))
all.add_rule(Rules.Person.Everyone([]))
if self.person:
des = GenericFilter()
des.set_name(_("Descendants of %s") %
self.person.get_primary_name().get_name())
des.add_rule(Rules.IsDescendantOf(
des.add_rule(Rules.Person.IsDescendantOf(
[self.person.get_gramps_id(),1]))
ans = GenericFilter()
ans.set_name(_("Ancestors of %s") %
self.person.get_primary_name().get_name())
ans.add_rule(Rules.IsAncestorOf(
ans.add_rule(Rules.Person.IsAncestorOf(
[self.person.get_gramps_id(),1]))
com = GenericFilter()
com.set_name(_("People with common ancestor with %s") %
self.person.get_primary_name().get_name())
com.add_rule(Rules.HasCommonAncestorWith(
com.add_rule(Rules.Person.HasCommonAncestorWith(
[self.person.get_gramps_id()]))
self.filter_menu = build_filter_menu(

View File

@@ -84,25 +84,25 @@ class CardWriterOptionBox:
all = GenericFilter()
all.set_name(_("Entire Database"))
all.add_rule(Rules.Everyone([]))
all.add_rule(Rules.Person.Everyone([]))
if self.person:
des = GenericFilter()
des.set_name(_("Descendants of %s") %
self.person.get_primary_name().get_name())
des.add_rule(Rules.IsDescendantOf(
des.add_rule(Rules.Person.IsDescendantOf(
[self.person.get_gramps_id(),1]))
ans = GenericFilter()
ans.set_name(_("Ancestors of %s") %
self.person.get_primary_name().get_name())
ans.add_rule(Rules.IsAncestorOf(
ans.add_rule(Rules.Person.IsAncestorOf(
[self.person.get_gramps_id(),1]))
com = GenericFilter()
com.set_name(_("People with common ancestor with %s") %
self.person.get_primary_name().get_name())
com.add_rule(Rules.HasCommonAncestorWith(
com.add_rule(Rules.Person.HasCommonAncestorWith(
[self.person.get_gramps_id()]))
self.filter_menu = build_filter_menu(

View File

@@ -620,7 +620,7 @@ class EditRule:
self.page = []
self.class2page = {}
the_map = {}
for class_obj in Rules.editor_rule_list:
for class_obj in Rules.Person.editor_rule_list:
arglist = class_obj.labels
vallist = []
tlist = []

View File

@@ -656,19 +656,19 @@ class GraphVizOptions(ReportOptions.ReportOptions):
all = GenericFilter()
all.set_name(_("Entire Database"))
all.add_rule(Rules.Everyone([]))
all.add_rule(Rules.Person.Everyone([]))
des = GenericFilter()
des.set_name(_("Descendants of %s") % name)
des.add_rule(Rule.IsDescendantOf([gramps_id,1]))
des.add_rule(Rules.Person.IsDescendantOf([gramps_id,1]))
ans = GenericFilter()
ans.set_name(_("Ancestors of %s") % name)
ans.add_rule(Rule.IsAncestorOf([gramps_id,1]))
ans.add_rule(Rules.Person.IsAncestorOf([gramps_id,1]))
com = GenericFilter()
com.set_name(_("People with common ancestor with %s") % name)
com.add_rule(Rules.HasCommonAncestorWith([gramps_id]))
com.add_rule(Rules.Person.HasCommonAncestorWith([gramps_id]))
return [all,des,ans,com]

View File

@@ -522,23 +522,23 @@ class IndivCompleteOptions(ReportOptions.ReportOptions):
filt_id = GenericFilter()
filt_id.set_name(name)
filt_id.add_rule(Rules.HasIdOf([gramps_id]))
filt_id.add_rule(Rules.Person.HasIdOf([gramps_id]))
all = GenericFilter()
all.set_name(_("Entire Database"))
all.add_rule(Rules.Everyone([]))
all.add_rule(Rules.Person.Everyone([]))
des = GenericFilter()
des.set_name(_("Descendants of %s") % name)
des.add_rule(Rules.IsDescendantOf([gramps_id,1]))
des.add_rule(Rules.Person.IsDescendantOf([gramps_id,1]))
ans = GenericFilter()
ans.set_name(_("Ancestors of %s") % name)
ans.add_rule(Rules.IsAncestorOf([gramps_id,1]))
ans.add_rule(Rules.Person.IsAncestorOf([gramps_id,1]))
com = GenericFilter()
com.set_name(_("People with common ancestor with %s") % name)
com.add_rule(Rules.HasCommonAncestorWith([gramps_id]))
com.add_rule(Rules.Person.HasCommonAncestorWith([gramps_id]))
return [filt_id,all,des,ans,com]

View File

@@ -2405,23 +2405,23 @@ class WebReportOptions(ReportOptions.ReportOptions):
all = GenericFilter()
all.set_name(_("Entire Database"))
all.add_rule(Rules.Everyone([]))
all.add_rule(Rules.Person.Everyone([]))
des = GenericFilter()
des.set_name(_("Descendants of %s") % name)
des.add_rule(Rules.IsDescendantOf([gramps_id,1]))
des.add_rule(Rules.Person.IsDescendantOf([gramps_id,1]))
df = GenericFilter()
df.set_name(_("Descendant Families of %s") % name)
df.add_rule(Rules.IsDescendantFamilyOf([gramps_id]))
df.add_rule(Rules.Person.IsDescendantFamilyOf([gramps_id]))
ans = GenericFilter()
ans.set_name(_("Ancestors of %s") % name)
ans.add_rule(Rules.IsAncestorOf([gramps_id,1]))
ans.add_rule(Rules.Person.IsAncestorOf([gramps_id,1]))
com = GenericFilter()
com.set_name(_("People with common ancestor with %s") % name)
com.add_rule(Rules.HasCommonAncestorWith([gramps_id]))
com.add_rule(Rules.Person.HasCommonAncestorWith([gramps_id]))
return [all,des,df,ans,com]

View File

@@ -843,19 +843,19 @@ class StatisticsChartOptions(ReportOptions.ReportOptions):
all = GenericFilter()
all.set_name(_("Entire Database"))
all.add_rule(Rules.Everyone([]))
all.add_rule(Rules.Person.Everyone([]))
des = GenericFilter()
des.set_name(_("Descendants of %s") % name)
des.add_rule(Rules.IsDescendantOf([gramps_id, 1]))
des.add_rule(Rules.Person.IsDescendantOf([gramps_id, 1]))
ans = GenericFilter()
ans.set_name(_("Ancestors of %s") % name)
ans.add_rule(Rules.IsAncestorOf([gramps_id, 1]))
ans.add_rule(Rules.Person.IsAncestorOf([gramps_id, 1]))
com = GenericFilter()
com.set_name(_("People with common ancestor with %s") % name)
com.add_rule(Rules.HasCommonAncestorWith([gramps_id]))
com.add_rule(Rules.Person.HasCommonAncestorWith([gramps_id]))
return [all, des, ans, com]

View File

@@ -411,19 +411,19 @@ class TimeLineOptions(ReportOptions.ReportOptions):
all = GenericFilter()
all.set_name(_("Entire Database"))
all.add_rule(Rules.Everyone([]))
all.add_rule(Rules.Person.Everyone([]))
des = GenericFilter()
des.set_name(_("Descendants of %s") % name)
des.add_rule(Rules.IsDescendantOf([gramps_id,1]))
des.add_rule(Rules.Person.IsDescendantOf([gramps_id,1]))
ans = GenericFilter()
ans.set_name(_("Ancestors of %s") % name)
ans.add_rule(Rules.IsAncestorOf([gramps_id,1]))
ans.add_rule(Rules.Person.IsAncestorOf([gramps_id,1]))
com = GenericFilter()
com.set_name(_("People with common ancestor with %s") % name)
com.add_rule(Rules.HasCommonAncestorWith([gramps_id]))
com.add_rule(Rules.Person.HasCommonAncestorWith([gramps_id]))
return [all,des,ans,com]

View File

@@ -88,25 +88,25 @@ class FtreeWriterOptionBox:
all = GenericFilter()
all.set_name(_("Entire Database"))
all.add_rule(Rules.Everyone([]))
all.add_rule(Rules.Person.Everyone([]))
if self.person:
des = GenericFilter()
des.set_name(_("Descendants of %s") %
self.person.get_primary_name().get_name())
des.add_rule(Rules.IsDescendantOf(
des.add_rule(Rules.Person.IsDescendantOf(
[self.person.get_gramps_id(),1]))
ans = GenericFilter()
ans.set_name(_("Ancestors of %s")
% self.person.get_primary_name().get_name())
ans.add_rule(Rules.IsAncestorOf(
ans.add_rule(Rules.Person.IsAncestorOf(
[self.person.get_gramps_id(),1]))
com = GenericFilter()
com.set_name(_("People with common ancestor with %s") %
self.person.get_primary_name().get_name())
com.add_rule(Rules.HasCommonAncestorWith(
com.add_rule(Rules.Person.HasCommonAncestorWith(
[self.person.get_gramps_id()]))
self.filter_menu = build_filter_menu([all,des,ans,com])

View File

@@ -90,25 +90,25 @@ class GeneWebWriterOptionBox:
all = GenericFilter()
all.set_name(_("Entire Database"))
all.add_rule(Rules.Everyone([]))
all.add_rule(Rules.Person.Everyone([]))
if self.person:
des = GenericFilter()
des.set_name(_("Descendants of %s") %
self.person.get_primary_name().get_name())
des.add_rule(Rules.IsDescendantOf(
des.add_rule(Rules.Person.IsDescendantOf(
[self.person.get_gramps_id(),1]))
ans = GenericFilter()
ans.set_name(_("Ancestors of %s") %
self.person.get_primary_name().get_name())
ans.add_rule(Rules.IsAncestorOf(
ans.add_rule(Rules.Person.IsAncestorOf(
[self.person.get_gramps_id(),1]))
com = GenericFilter()
com.set_name(_("People with common ancestor with %s") %
self.person.get_primary_name().get_name())
com.add_rule(Rules.HasCommonAncestorWith(
com.add_rule(Rules.Person.HasCommonAncestorWith(
[self.person.get_gramps_id()]))
self.filter_menu = build_filter_menu([all,des,ans,com])