Finished class SourcePage's Citations Referents section.
svn: r18897
This commit is contained in:
@@ -770,8 +770,7 @@ class BasePage(object):
|
|||||||
lnk = (self.report.cur_fname, self.page_title, self.gid)
|
lnk = (self.report.cur_fname, self.page_title, self.gid)
|
||||||
text = ""
|
text = ""
|
||||||
for citation_handle in citation_handle_list:
|
for citation_handle in citation_handle_list:
|
||||||
citation = self.report.database.get_citation_from_handle(
|
citation = self.report.database.get_citation_from_handle(citation_handle)
|
||||||
citation_handle)
|
|
||||||
if citation:
|
if citation:
|
||||||
|
|
||||||
# Add the source information to src_list for use when displaying the
|
# Add the source information to src_list for use when displaying the
|
||||||
@@ -4437,8 +4436,10 @@ class SourceListPage(BasePage):
|
|||||||
#
|
#
|
||||||
"""
|
"""
|
||||||
class SourcePage(BasePage):
|
class SourcePage(BasePage):
|
||||||
def __init__(self, report, title, src_handle, src_list, ppl_handle_list, database_handles_list):
|
def __init__(self, report, title, src_handle, src_list, ppl_handle_list,
|
||||||
|
database_handles_list):
|
||||||
self.dbase_ = report.database
|
self.dbase_ = report.database
|
||||||
|
|
||||||
source = self.dbase_.get_source_from_handle(src_handle)
|
source = self.dbase_.get_source_from_handle(src_handle)
|
||||||
if not source:
|
if not source:
|
||||||
return
|
return
|
||||||
@@ -4525,34 +4526,6 @@ class SourcePage(BasePage):
|
|||||||
(citation_list, citation_referents_list) = the_lists
|
(citation_list, citation_referents_list) = the_lists
|
||||||
if citation_referents_list:
|
if citation_referents_list:
|
||||||
|
|
||||||
# if the menu layout if DropDown, then add these items to the web page?
|
|
||||||
if self.navigation == "DropDown":
|
|
||||||
|
|
||||||
# add Animated Drop Down Citations Style Sheet
|
|
||||||
fname = "/".join(["css", "narrative-citations.css"])
|
|
||||||
url = self.report.build_url_fname(fname, None, self.up)
|
|
||||||
head += Html("link", href = url, type = "text/css", media = "screen", rel = "stylesheet")
|
|
||||||
|
|
||||||
# add javascript code to handle if the user's browser is IE6?
|
|
||||||
fname = "/".join(["scripts", "jquery-1.7..min.js"])
|
|
||||||
url = self.report.build_url_fname(fname, None, self.up)
|
|
||||||
head += Html("script", src = url, type = "text/javascript", language = "javascript", inline = True)
|
|
||||||
|
|
||||||
with Html("script", type = "text/javascript", language = "javascript") as jsc:
|
|
||||||
head += jsc
|
|
||||||
|
|
||||||
jsc += """
|
|
||||||
$(function() {
|
|
||||||
if ($.browser.msie && $.browser.version.substr(0,1)<7)
|
|
||||||
{
|
|
||||||
$('li').has('ul').mouseover(function(){
|
|
||||||
$(this).children('ul').show();
|
|
||||||
}).mouseout(function(){
|
|
||||||
$(this).children('ul').hide();
|
|
||||||
})
|
|
||||||
}
|
|
||||||
});"""
|
|
||||||
|
|
||||||
# begin Source Citation Referents section
|
# begin Source Citation Referents section
|
||||||
with Html("div", class_ ="subsection", id = "SourceCitationReferents") as section:
|
with Html("div", class_ ="subsection", id = "SourceCitationReferents") as section:
|
||||||
sourcedetail += section
|
sourcedetail += section
|
||||||
@@ -5302,11 +5275,11 @@ class ContactPage(BasePage):
|
|||||||
# and close the file
|
# and close the file
|
||||||
self.XHTMLWriter(contactpage, of)
|
self.XHTMLWriter(contactpage, of)
|
||||||
|
|
||||||
#################################################
|
"""
|
||||||
#
|
#
|
||||||
# creates the Individual Pages from the IndividualListPage
|
# creates the Individual Pages from the IndividualListPage
|
||||||
#
|
#
|
||||||
#################################################
|
"""
|
||||||
class IndividualPage(BasePage):
|
class IndividualPage(BasePage):
|
||||||
gender_map = {
|
gender_map = {
|
||||||
gen.lib.Person.MALE : _('male'),
|
gen.lib.Person.MALE : _('male'),
|
||||||
@@ -5334,6 +5307,9 @@ class IndividualPage(BasePage):
|
|||||||
|
|
||||||
# decide if we will sort the birth order of siblings...
|
# decide if we will sort the birth order of siblings...
|
||||||
self.birthorder = self.report.options['birthorder']
|
self.birthorder = self.report.options['birthorder']
|
||||||
|
|
||||||
|
# get the Relationship Calculator so that we can determine
|
||||||
|
# bio, half, step- siblings for use in display_ind_parents() ...
|
||||||
self.rel_class = rel_class
|
self.rel_class = rel_class
|
||||||
|
|
||||||
of = self.report.create_file(person.get_handle(), "ppl")
|
of = self.report.create_file(person.get_handle(), "ppl")
|
||||||
@@ -5362,7 +5338,7 @@ class IndividualPage(BasePage):
|
|||||||
individualdetail += sect2
|
individualdetail += sect2
|
||||||
|
|
||||||
# display parents
|
# display parents
|
||||||
sect3 = self.display_ind_parents(self.ind_list)
|
sect3 = self.display_ind_parents()
|
||||||
if sect3 is not None:
|
if sect3 is not None:
|
||||||
individualdetail += sect3
|
individualdetail += sect3
|
||||||
|
|
||||||
@@ -6183,7 +6159,7 @@ class IndividualPage(BasePage):
|
|||||||
# return table columns to its caller
|
# return table columns to its caller
|
||||||
return tcell1, tcell2
|
return tcell1, tcell2
|
||||||
|
|
||||||
def display_ind_parents(self, ppl_handle_list):
|
def display_ind_parents(self):
|
||||||
"""
|
"""
|
||||||
Display a person's parents
|
Display a person's parents
|
||||||
"""
|
"""
|
||||||
@@ -6192,8 +6168,6 @@ class IndividualPage(BasePage):
|
|||||||
if not parent_list:
|
if not parent_list:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
birthorder = self.report.options['birthorder']
|
|
||||||
|
|
||||||
# begin parents division
|
# begin parents division
|
||||||
with Html("div", class_ = "subsection", id = "parents") as section:
|
with Html("div", class_ = "subsection", id = "parents") as section:
|
||||||
section += Html("h4", _("Parents"), inline = True)
|
section += Html("h4", _("Parents"), inline = True)
|
||||||
@@ -6210,7 +6184,7 @@ class IndividualPage(BasePage):
|
|||||||
# Get the mother and father relationships
|
# Get the mother and father relationships
|
||||||
frel = None
|
frel = None
|
||||||
mrel = None
|
mrel = None
|
||||||
sibling = []
|
all_children = []
|
||||||
|
|
||||||
child_handle = self.person.get_handle()
|
child_handle = self.person.get_handle()
|
||||||
child_ref_list = family.get_child_ref_list()
|
child_ref_list = family.get_child_ref_list()
|
||||||
@@ -6252,13 +6226,136 @@ class IndividualPage(BasePage):
|
|||||||
if len(child_ref_list) > 1:
|
if len(child_ref_list) > 1:
|
||||||
|
|
||||||
# remove sibling if it is yourself?
|
# remove sibling if it is yourself?
|
||||||
childlist = [child_ref.ref for child_ref in child_ref_list
|
child_list = [child_ref.ref for child_ref in child_ref_list
|
||||||
if child_ref.ref != self.person.handle]
|
if child_ref.ref != self.person.get_handle()]
|
||||||
sibling.extend(childlist)
|
all_children.extend(child_list)
|
||||||
|
|
||||||
# now that we have all siblings in families of the person,
|
## TO FIX: the code only works if the user has his
|
||||||
# display them...
|
## half/step siblings in a specific way in the database,
|
||||||
|
## however this way is not the official way
|
||||||
|
## The official way is:
|
||||||
|
## 1. step or half siblings _must_ be present
|
||||||
|
## somewhere in the same family. So the search
|
||||||
|
## here over other families is wrong
|
||||||
|
## 2. to determine the relationship, only the child
|
||||||
|
## relationship must be looked at, nothing else!
|
||||||
|
showallsiblings = self.report.options['showhalfsiblings']
|
||||||
|
# if we have a known father...
|
||||||
|
if father_handle and showallsiblings:
|
||||||
|
# 1) get all of the families in which this father is involved
|
||||||
|
# 2) get all of the children from those families
|
||||||
|
# 3) if the children are not already listed as siblings...
|
||||||
|
# 4) then remember those children since we're going to list them
|
||||||
|
father = self.dbase_.get_person_from_handle(father_handle)
|
||||||
|
for family_handle in father.get_family_handle_list():
|
||||||
|
family = self.dbase_.get_family_from_handle(family_handle)
|
||||||
|
for child_ref in family.get_child_ref_list():
|
||||||
|
child_handle = child_ref.ref
|
||||||
|
if child_handle not in all_children:
|
||||||
|
if child_handle != self.person.get_handle():
|
||||||
|
all_children.append(child_handle)
|
||||||
|
|
||||||
|
# do the same thing with the mother (see "father" just above):
|
||||||
|
if mother_handle and showallsiblings:
|
||||||
|
mother = self.dbase_.get_person_from_handle(mother_handle)
|
||||||
|
for family_handle in mother.get_family_handle_list():
|
||||||
|
family = self.dbase_.get_family_from_handle(family_handle)
|
||||||
|
for child_ref in family.get_child_ref_list():
|
||||||
|
child_handle = child_ref.ref
|
||||||
|
if child_handle not in all_children:
|
||||||
|
if child_handle != self.person.get_handle():
|
||||||
|
all_children.append(child_handle)
|
||||||
|
|
||||||
|
if showallsiblings:
|
||||||
|
|
||||||
|
# to find the step-siblings, we need to identify
|
||||||
|
# all of the families that can be linked back to
|
||||||
|
# the current person, and then extract the children
|
||||||
|
# from those families
|
||||||
|
all_family_handles = set()
|
||||||
|
all_parent_handles = set()
|
||||||
|
tmp_parent_handles = set()
|
||||||
|
|
||||||
|
# first we queue up the parents we know about
|
||||||
|
if mother_handle:
|
||||||
|
tmp_parent_handles.add(mother_handle)
|
||||||
|
if father_handle:
|
||||||
|
tmp_parent_handles.add(father_handle)
|
||||||
|
|
||||||
|
while len(tmp_parent_handles):
|
||||||
|
# pop the next parent from the set
|
||||||
|
parent_handle = tmp_parent_handles.pop()
|
||||||
|
|
||||||
|
# add this parent to our official list
|
||||||
|
all_parent_handles.add(parent_handle)
|
||||||
|
|
||||||
|
# get all families with this parent
|
||||||
|
parent = self.dbase_.get_person_from_handle(parent_handle)
|
||||||
|
for family_handle in parent.get_family_handle_list():
|
||||||
|
|
||||||
|
all_family_handles.add(family_handle)
|
||||||
|
|
||||||
|
# we already have 1 parent from this family
|
||||||
|
# (see "parent" above) so now see if we need
|
||||||
|
# to queue up the other parent
|
||||||
|
family = self.dbase_.get_family_from_handle(family_handle)
|
||||||
|
tmp_mother_handle = family.get_mother_handle()
|
||||||
|
if tmp_mother_handle and \
|
||||||
|
tmp_mother_handle != parent and \
|
||||||
|
tmp_mother_handle not in tmp_parent_handles and \
|
||||||
|
tmp_mother_handle not in all_parent_handles:
|
||||||
|
tmp_parent_handles.add(tmp_mother_handle)
|
||||||
|
|
||||||
|
tmp_father_handle = family.get_father_handle()
|
||||||
|
if tmp_father_handle and \
|
||||||
|
tmp_father_handle != parent and \
|
||||||
|
tmp_father_handle not in tmp_parent_handles and \
|
||||||
|
tmp_father_handle not in all_parent_handles:
|
||||||
|
tmp_parent_handles.add(tmp_father_handle)
|
||||||
|
|
||||||
|
# once we get here, we have all of the families
|
||||||
|
# that could result in step-siblings; note that
|
||||||
|
# we can only have step-siblings if the number
|
||||||
|
# of families involved is > 1
|
||||||
|
|
||||||
|
if len(all_family_handles) > 1:
|
||||||
|
while len(all_family_handles):
|
||||||
|
# pop the next family from the set
|
||||||
|
family_handle = all_family_handles.pop()
|
||||||
|
# look in this family for children we haven't yet seen
|
||||||
|
family = self.dbase_.get_family_from_handle(family_handle)
|
||||||
|
for child_ref in family.get_child_ref_list():
|
||||||
|
child_handle = child_ref.ref
|
||||||
|
if child_handle not in all_children and \
|
||||||
|
child_handle != self.person.get_handle():
|
||||||
|
all_children.append(child_handle)
|
||||||
|
|
||||||
|
child_list = [child_handle for child_handle in all_children]
|
||||||
|
|
||||||
|
# separate all children into biological, half, and step- siblings...
|
||||||
|
siblings, half_siblings, step_siblings = [], [], []
|
||||||
|
|
||||||
|
if len(child_list):
|
||||||
|
for sibling_handle in child_list:
|
||||||
|
sibling = self.dbase_.get_person_from_handle(sibling_handle)
|
||||||
if sibling:
|
if sibling:
|
||||||
|
sibling_type = self.rel_class.get_sibling_type(
|
||||||
|
self.dbase_, self.person, sibling)
|
||||||
|
|
||||||
|
# biological/ natural sibling
|
||||||
|
if sibling_type == 0:
|
||||||
|
siblings.append(sibling_handle)
|
||||||
|
|
||||||
|
# half siblings
|
||||||
|
elif (sibling_type == 1 or sibling_type == 2):
|
||||||
|
half_siblings.append(sibling_handle)
|
||||||
|
|
||||||
|
# step siblings
|
||||||
|
elif (sibling_type == 3 or sibling_type == 4):
|
||||||
|
step_siblings.append(sibling_handle)
|
||||||
|
|
||||||
|
# now that we have all siblings, display them...
|
||||||
|
if len(siblings):
|
||||||
trow = Html("tr") + (
|
trow = Html("tr") + (
|
||||||
Html("td", _("Siblings"), class_ = "ColumnAttribute", inline = True)
|
Html("td", _("Siblings"), class_ = "ColumnAttribute", inline = True)
|
||||||
)
|
)
|
||||||
@@ -6270,168 +6367,59 @@ class IndividualPage(BasePage):
|
|||||||
ordered = Html("ol")
|
ordered = Html("ol")
|
||||||
tcell += ordered
|
tcell += ordered
|
||||||
|
|
||||||
sibling = add_birthdate(self.dbase_, sibling)
|
siblings = add_birthdate(self.dbase_, siblings)
|
||||||
if birthorder:
|
if self.birthorder:
|
||||||
sibling = sorted(sibling)
|
siblings = sorted(siblings)
|
||||||
|
|
||||||
ordered.extend(
|
ordered.extend(
|
||||||
self.display_child_link(chandle, ppl_handle_list)
|
self.display_child_link(child_handle, self.ind_list)
|
||||||
for birth_date, chandle in sibling
|
for birth_date, child_handle in siblings
|
||||||
)
|
)
|
||||||
|
|
||||||
# Also try to identify half-siblings
|
# now that we have all half- siblings, display them...
|
||||||
half_siblings = []
|
if len(half_siblings):
|
||||||
|
trow = Html("tr") + (
|
||||||
|
Html("td", _("Half Siblings"), class_ = "ColumnAttribute", inline = True)
|
||||||
|
)
|
||||||
|
table += trow
|
||||||
|
|
||||||
|
tcell = Html("td", class_ = "ColumnValue")
|
||||||
|
trow += tcell
|
||||||
|
|
||||||
|
ordered = Html("ol")
|
||||||
|
tcell += ordered
|
||||||
|
|
||||||
|
half_siblings = add_birthdate(self.dbase_, half_siblings)
|
||||||
|
if self.birthorder:
|
||||||
|
half_siblings = sorted(half_siblings)
|
||||||
|
|
||||||
|
ordered.extend(
|
||||||
|
self.display_child_link(child_handle, self.ind_list)
|
||||||
|
for birth_date, child_handle in half_siblings
|
||||||
|
)
|
||||||
|
|
||||||
|
# now that we have all step- siblings, display them...
|
||||||
|
if len(step_siblings):
|
||||||
|
trow = Html("tr") + (
|
||||||
|
Html("td", _("Step Siblings"), class_ = "ColumnAttribute", inline = True)
|
||||||
|
)
|
||||||
|
table += trow
|
||||||
|
|
||||||
|
tcell = Html("td", class_ = "ColumnValue")
|
||||||
|
trow += tcell
|
||||||
|
|
||||||
|
ordered = Html("ol")
|
||||||
|
tcell += ordered
|
||||||
|
|
||||||
|
step_siblings = add_birthdate(self.dbase_, step_siblings)
|
||||||
|
if self.birthorder:
|
||||||
|
step_siblings = sorted(step_siblings)
|
||||||
|
|
||||||
|
ordered.extend(
|
||||||
|
self.display_child_link(child_handle, self.ind_list)
|
||||||
|
for birth_date, child_handle in step_siblings
|
||||||
|
)
|
||||||
|
|
||||||
## FOLLOWING CODE IS WRONG, AS showallsiblings = False
|
|
||||||
## THIS CODE WILL NOT RUN
|
|
||||||
## TO FIX: the code only works if the user has his
|
|
||||||
## half/step siblings in a specific way in the database,
|
|
||||||
## however this way is not the official way
|
|
||||||
## The official way is:
|
|
||||||
## 1. step or half siblings _must_ be present
|
|
||||||
## somewhere in the same family. So the search
|
|
||||||
## here over other families is wrong
|
|
||||||
## 2. to determine the relationship, only the child
|
|
||||||
## relationship must be looked at, nothing else!
|
|
||||||
showallsiblings = False #self.report.options['showhalfsiblings']
|
|
||||||
## # if we have a known father...
|
|
||||||
## if father_handle and showallsiblings:
|
|
||||||
## # 1) get all of the families in which this father is involved
|
|
||||||
## # 2) get all of the children from those families
|
|
||||||
## # 3) if the children are not already listed as siblings...
|
|
||||||
## # 4) then remember those children since we're going to list them
|
|
||||||
## father = self.dbase_.get_person_from_handle(father_handle)
|
|
||||||
## for family_handle in father.get_family_handle_list():
|
|
||||||
## family = self.dbase_.get_family_from_handle(family_handle)
|
|
||||||
## for half_child_ref in family.get_child_ref_list():
|
|
||||||
## half_child_handle = half_child_ref.ref
|
|
||||||
## if half_child_handle not in sibling:
|
|
||||||
## if half_child_handle != self.person.handle:
|
|
||||||
## # we have a new step/half sibling
|
|
||||||
## half_siblings.append(half_child_handle)
|
|
||||||
##
|
|
||||||
## # do the same thing with the mother (see "father" just above):
|
|
||||||
## if mother_handle and showallsiblings:
|
|
||||||
## mother = self.dbase_.get_person_from_handle(mother_handle)
|
|
||||||
## for family_handle in mother.get_family_handle_list():
|
|
||||||
## family = self.dbase_.get_family_from_handle(family_handle)
|
|
||||||
## for half_child_ref in family.get_child_ref_list():
|
|
||||||
## half_child_handle = half_child_ref.ref
|
|
||||||
## if half_child_handle not in sibling:
|
|
||||||
## if half_child_handle != self.person.handle:
|
|
||||||
## # we have a new half sibling
|
|
||||||
## half_siblings.append(half_child_handle)
|
|
||||||
##
|
|
||||||
## # now that we have all half- siblings, display them...
|
|
||||||
## if half_siblings:
|
|
||||||
## trow = Html("tr") + (
|
|
||||||
## Html("td", _("Half Siblings"), class_ = "ColumnAttribute", inline = True)
|
|
||||||
## )
|
|
||||||
## table += trow
|
|
||||||
##
|
|
||||||
## tcell = Html("td", class_ = "ColumnValue")
|
|
||||||
## trow += tcell
|
|
||||||
##
|
|
||||||
## ordered = Html("ol")
|
|
||||||
## tcell += ordered
|
|
||||||
##
|
|
||||||
## half_siblings = add_birthdate(self.dbase_, half_siblings)
|
|
||||||
## if birthorder:
|
|
||||||
## half_siblings = sorted(half_siblings)
|
|
||||||
##
|
|
||||||
## ordered.extend(
|
|
||||||
## self.display_child_link(chandle, ind_list)
|
|
||||||
## for birth_date, chandle in half_siblings
|
|
||||||
## )
|
|
||||||
##
|
|
||||||
## # get step-siblings
|
|
||||||
## if showallsiblings:
|
|
||||||
## step_siblings = []
|
|
||||||
##
|
|
||||||
## # to find the step-siblings, we need to identify
|
|
||||||
## # all of the families that can be linked back to
|
|
||||||
## # the current person, and then extract the children
|
|
||||||
## # from those families
|
|
||||||
## all_family_handles = set()
|
|
||||||
## all_parent_handles = set()
|
|
||||||
## tmp_parent_handles = set()
|
|
||||||
##
|
|
||||||
## # first we queue up the parents we know about
|
|
||||||
## if mother_handle:
|
|
||||||
## tmp_parent_handles.add(mother_handle)
|
|
||||||
## if father_handle:
|
|
||||||
## tmp_parent_handles.add(father_handle)
|
|
||||||
##
|
|
||||||
## while len(tmp_parent_handles):
|
|
||||||
## # pop the next parent from the set
|
|
||||||
## parent_handle = tmp_parent_handles.pop()
|
|
||||||
##
|
|
||||||
## # add this parent to our official list
|
|
||||||
## all_parent_handles.add(parent_handle)
|
|
||||||
##
|
|
||||||
## # get all families with this parent
|
|
||||||
## parent = self.dbase_.get_person_from_handle(parent_handle)
|
|
||||||
## for family_handle in parent.get_family_handle_list():
|
|
||||||
##
|
|
||||||
## all_family_handles.add(family_handle)
|
|
||||||
##
|
|
||||||
## # we already have 1 parent from this family
|
|
||||||
## # (see "parent" above) so now see if we need
|
|
||||||
## # to queue up the other parent
|
|
||||||
## family = self.dbase_.get_family_from_handle(family_handle)
|
|
||||||
## tmp_mother_handle = family.get_mother_handle()
|
|
||||||
## if tmp_mother_handle and \
|
|
||||||
## tmp_mother_handle != parent and \
|
|
||||||
## tmp_mother_handle not in tmp_parent_handles and \
|
|
||||||
## tmp_mother_handle not in all_parent_handles:
|
|
||||||
## tmp_parent_handles.add(tmp_mother_handle)
|
|
||||||
## tmp_father_handle = family.get_father_handle()
|
|
||||||
## if tmp_father_handle and \
|
|
||||||
## tmp_father_handle != parent and \
|
|
||||||
## tmp_father_handle not in tmp_parent_handles and \
|
|
||||||
## tmp_father_handle not in all_parent_handles:
|
|
||||||
## tmp_parent_handles.add(tmp_father_handle)
|
|
||||||
##
|
|
||||||
## # once we get here, we have all of the families
|
|
||||||
## # that could result in step-siblings; note that
|
|
||||||
## # we can only have step-siblings if the number
|
|
||||||
## # of families involved is > 1
|
|
||||||
##
|
|
||||||
## if len(all_family_handles) > 1:
|
|
||||||
## while len(all_family_handles):
|
|
||||||
## # pop the next family from the set
|
|
||||||
## family_handle = all_family_handles.pop()
|
|
||||||
## # look in this family for children we haven't yet seen
|
|
||||||
## family = self.dbase_.get_family_from_handle(family_handle)
|
|
||||||
## for step_child_ref in family.get_child_ref_list():
|
|
||||||
## step_child_handle = step_child_ref.ref
|
|
||||||
## if step_child_handle not in sibling and \
|
|
||||||
## step_child_handle not in half_siblings and \
|
|
||||||
## step_child_handle != self.person.handle:
|
|
||||||
## # we have a new step sibling
|
|
||||||
## step_siblings.append(step_child_handle)
|
|
||||||
##
|
|
||||||
## # now that we have all step- siblings, display them...
|
|
||||||
## if len(step_siblings):
|
|
||||||
## trow = Html("tr") + (
|
|
||||||
## Html("td", _("Step Siblings"), class_ = "ColumnAttribute", inline = True)
|
|
||||||
## )
|
|
||||||
## table += trow
|
|
||||||
##
|
|
||||||
## tcell = Html("td", class_ = "ColumnValue")
|
|
||||||
## trow += tcell
|
|
||||||
##
|
|
||||||
## ordered = Html("ol")
|
|
||||||
## tcell += ordered
|
|
||||||
##
|
|
||||||
## step_siblings = add_birthdate(self.dbase_, step_siblings)
|
|
||||||
## if birthorder:
|
|
||||||
## step_siblings = sorted(step_siblings)
|
|
||||||
##
|
|
||||||
## ordered.extend(
|
|
||||||
## self.display_child_link(chandle, ind_list)
|
|
||||||
## for birth_date, chandle in step_siblings
|
|
||||||
## )
|
|
||||||
|
|
||||||
# return parents division to its caller
|
# return parents division to its caller
|
||||||
return section
|
return section
|
||||||
@@ -6993,9 +6981,6 @@ class NavWebReport(Report):
|
|||||||
# initialize place_lat_long variable for use in Family Map Pages
|
# initialize place_lat_long variable for use in Family Map Pages
|
||||||
place_lat_long = []
|
place_lat_long = []
|
||||||
|
|
||||||
# copy all of the neccessary files
|
|
||||||
self.copy_narrated_files()
|
|
||||||
|
|
||||||
place_list = {}
|
place_list = {}
|
||||||
source_list = {}
|
source_list = {}
|
||||||
|
|
||||||
@@ -7051,6 +7036,9 @@ class NavWebReport(Report):
|
|||||||
# has been moved so that all Sources can be found before processing...
|
# has been moved so that all Sources can be found before processing...
|
||||||
self.source_pages(source_list, ind_list, database_handles_list)
|
self.source_pages(source_list, ind_list, database_handles_list)
|
||||||
|
|
||||||
|
# copy all of the neccessary files
|
||||||
|
self.copy_narrated_files()
|
||||||
|
|
||||||
# if an archive is being used, close it?
|
# if an archive is being used, close it?
|
||||||
if self.archive:
|
if self.archive:
|
||||||
self.archive.close()
|
self.archive.close()
|
||||||
@@ -7118,15 +7106,6 @@ class NavWebReport(Report):
|
|||||||
fname = CSS["DropDown-Menus"]["filename"]
|
fname = CSS["DropDown-Menus"]["filename"]
|
||||||
self.copy_file(fname, "narrative-menus.css", "css")
|
self.copy_file(fname, "narrative-menus.css", "css")
|
||||||
|
|
||||||
if self.navigation == "DropDown":
|
|
||||||
# copy SourcePage Animated Drop Down Citations Style Sheet
|
|
||||||
fname = CSS["DropDown-Citations"]["filename"]
|
|
||||||
self.copy_file(fname, "narrative-citations.css", "css")
|
|
||||||
|
|
||||||
# copy jquery javascript file for use in the Drop Down Citations section...
|
|
||||||
fname = CSS["DropDown-Citations"]["javascript"]
|
|
||||||
self.copy_file(fname, "jquery-1.7.min.js", "scripts")
|
|
||||||
|
|
||||||
# copy narrative-maps Style Sheet if Place or Family Map pages are being created?
|
# copy narrative-maps Style Sheet if Place or Family Map pages are being created?
|
||||||
if (self.placemappages or self.familymappages):
|
if (self.placemappages or self.familymappages):
|
||||||
fname = CSS["NarrativeMaps"]["filename"]
|
fname = CSS["NarrativeMaps"]["filename"]
|
||||||
@@ -7962,11 +7941,11 @@ class NavWebOptions(MenuReportOptions):
|
|||||||
showparents.set_help(_('Whether to include a parents column'))
|
showparents.set_help(_('Whether to include a parents column'))
|
||||||
addopt( "showparents", showparents )
|
addopt( "showparents", showparents )
|
||||||
|
|
||||||
## showallsiblings = BooleanOption(_("Include half and/ or "
|
showallsiblings = BooleanOption(_("Include half and/ or "
|
||||||
## "step-siblings on the individual pages"), False)
|
"step-siblings on the individual pages"), False)
|
||||||
## showallsiblings.set_help(_( "Whether to include half and/ or "
|
showallsiblings.set_help(_( "Whether to include half and/ or "
|
||||||
## "step-siblings with the parents and siblings"))
|
"step-siblings with the parents and siblings"))
|
||||||
## addopt('showhalfsiblings', showallsiblings)
|
addopt('showhalfsiblings', showallsiblings)
|
||||||
|
|
||||||
birthorder = BooleanOption(_('Sort all children in birth order'), False)
|
birthorder = BooleanOption(_('Sort all children in birth order'), False)
|
||||||
birthorder.set_help(_('Whether to display children in birth order or in entry order?'))
|
birthorder.set_help(_('Whether to display children in birth order or in entry order?'))
|
||||||
|
@@ -16,7 +16,6 @@ DATAFILES = \
|
|||||||
Web_Basic-Peach.css \
|
Web_Basic-Peach.css \
|
||||||
Web_Basic-Spruce.css \
|
Web_Basic-Spruce.css \
|
||||||
Web_DropDown-Menus.css \
|
Web_DropDown-Menus.css \
|
||||||
Web_DropDown-Citations.css \
|
|
||||||
Web_Fade-Menus.css \
|
Web_Fade-Menus.css \
|
||||||
Web_Horizontal-Menus.css \
|
Web_Horizontal-Menus.css \
|
||||||
Web_Mainz.css \
|
Web_Mainz.css \
|
||||||
|
@@ -775,20 +775,20 @@ div#SourceDetail {
|
|||||||
div#SourceDetail div#references ol li {
|
div#SourceDetail div#references ol li {
|
||||||
padding-bottom: .5em;
|
padding-bottom: .5em;
|
||||||
}
|
}
|
||||||
div#SourceCitationReferents ol.Col1 {
|
div#SourceCitationReferents ul.Col1 {
|
||||||
list-style-type: upper-roman
|
list-style-type: decimal
|
||||||
}
|
}
|
||||||
div#SourceCitationReferents ol.Col2 {
|
div#SourceCitationReferents ul.Col2 {
|
||||||
list-style-type: upper-alpha
|
list-style-type: upper-alpha
|
||||||
}
|
}
|
||||||
div#SourceCitationReferents ol.Col3 {
|
div#SourceCitationReferents ul.Col3 {
|
||||||
list-style-type: lower-alpha
|
list-style-type: lower-alpha
|
||||||
}
|
}
|
||||||
div#SourceCitationReferents ol.Col4 {
|
div#SourceCitationReferents ul.Col4 {
|
||||||
list-style-type: upper-roman
|
list-style-type: upper-roman
|
||||||
}
|
}
|
||||||
div#SourceCitationReferents ol.Col5 {
|
div#SourceCitationReferents ul.Col5 {
|
||||||
list-style-type: square
|
list-style-type: disc
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Repositories
|
/* Repositories
|
||||||
|
@@ -1,197 +0,0 @@
|
|||||||
/*
|
|
||||||
# encoding: utf-8
|
|
||||||
#
|
|
||||||
# Gramps - a GTK+/GNOME based genealogy program
|
|
||||||
#
|
|
||||||
# Copyright 2012 Rob G. Healey <robhealey1@gmail.com>
|
|
||||||
#
|
|
||||||
# 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
|
|
||||||
#
|
|
||||||
|
|
||||||
******************************************************
|
|
||||||
GRAMPS Cascading Style Sheet
|
|
||||||
Originally Created by: Red Team Design
|
|
||||||
Style Name: Web_DropDown-Citations.css
|
|
||||||
******************************************************
|
|
||||||
|
|
||||||
# $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#menu, #menu ul {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
list-style: none;
|
|
||||||
}
|
|
||||||
#menu {
|
|
||||||
width: 95%;
|
|
||||||
margin: 6px auto;
|
|
||||||
border: 1px solid #222;
|
|
||||||
background-color: #111;
|
|
||||||
background-image: -moz-linear-gradient(#444, #111);
|
|
||||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#444), to(#111));
|
|
||||||
background-image: -webkit-linear-gradient(#444, #111);
|
|
||||||
background-image: -o-linear-gradient(#444, #111);
|
|
||||||
background-image: -ms-linear-gradient(#444, #111);
|
|
||||||
background-image: linear-gradient(#444, #111);
|
|
||||||
-moz-border-radius: 6px;
|
|
||||||
-webkit-border-radius: 6px;
|
|
||||||
border-radius: 6px;
|
|
||||||
-moz-box-shadow: 0 1px 1px #777, 0 1px 0 #666 inset;
|
|
||||||
-webkit-box-shadow: 0 1px 1px #777, 0 1px 0 #666 inset;
|
|
||||||
box-shadow: 0 1px 1px #777, 0 1px 0 #666 inset;
|
|
||||||
}
|
|
||||||
#menu:before,
|
|
||||||
#menu:after {
|
|
||||||
content: "";
|
|
||||||
display: table;
|
|
||||||
}
|
|
||||||
#menu:after {
|
|
||||||
clear: both
|
|
||||||
}
|
|
||||||
#menu {
|
|
||||||
zoom:1
|
|
||||||
}
|
|
||||||
#menu li {
|
|
||||||
float: left;
|
|
||||||
border-right: 1px solid #222;
|
|
||||||
-moz-box-shadow: 1px 0 0 #444;
|
|
||||||
-webkit-box-shadow: 1px 0 0 #444;
|
|
||||||
box-shadow: 1px 0 0 #444;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
#menu a {
|
|
||||||
float: left;
|
|
||||||
padding: 12px 30px;
|
|
||||||
color: #999;
|
|
||||||
text-transform: uppercase;
|
|
||||||
font: bold 12px Arial, Helvetica;
|
|
||||||
text-decoration: none;
|
|
||||||
text-shadow: 0 1px 0 #000;
|
|
||||||
}
|
|
||||||
#menu li:hover > a {
|
|
||||||
color: #fafafa
|
|
||||||
}
|
|
||||||
*html #menu li a:hover { /* IE6 only */
|
|
||||||
color: #fafafa
|
|
||||||
}
|
|
||||||
#menu ul {
|
|
||||||
margin: 20px 0 0 0;
|
|
||||||
_margin: 0; /*IE6 only*/
|
|
||||||
opacity: 0;
|
|
||||||
visibility: hidden;
|
|
||||||
position: absolute;
|
|
||||||
top: 38px;
|
|
||||||
left: 0;
|
|
||||||
z-index: 9999;
|
|
||||||
background: #444;
|
|
||||||
background: -moz-linear-gradient(#444, #111);
|
|
||||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#444), to(#111));
|
|
||||||
background: -webkit-linear-gradient(#444, #111);
|
|
||||||
background: -o-linear-gradient(#444, #111);
|
|
||||||
background: -ms-linear-gradient(#444, #111);
|
|
||||||
background: linear-gradient(#444, #111);
|
|
||||||
-moz-box-shadow: 0 -1px rgba(255,255,255,.3);
|
|
||||||
-webkit-box-shadow: 0 -1px 0 rgba(255,255,255,.3);
|
|
||||||
box-shadow: 0 -1px 0 rgba(255,255,255,.3);
|
|
||||||
-moz-border-radius: 3px;
|
|
||||||
-webkit-border-radius: 3px;
|
|
||||||
border-radius: 3px;
|
|
||||||
-webkit-transition: all .2s ease-in-out;
|
|
||||||
-moz-transition: all .2s ease-in-out;
|
|
||||||
-ms-transition: all .2s ease-in-out;
|
|
||||||
-o-transition: all .2s ease-in-out;
|
|
||||||
transition: all .2s ease-in-out;
|
|
||||||
}
|
|
||||||
#menu li:hover > ul {
|
|
||||||
opacity: 1;
|
|
||||||
visibility: visible;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
#menu ul ul {
|
|
||||||
top: 0;
|
|
||||||
left: 150px;
|
|
||||||
margin: 0 0 0 20px;
|
|
||||||
_margin: 0; /*IE6 only*/
|
|
||||||
-moz-box-shadow: -1px 0 0 rgba(255,255,255,.3);
|
|
||||||
-webkit-box-shadow: -1px 0 0 rgba(255,255,255,.3);
|
|
||||||
box-shadow: -1px 0 0 rgba(255,255,255,.3);
|
|
||||||
}
|
|
||||||
#menu ul li {
|
|
||||||
float: none;
|
|
||||||
display: block;
|
|
||||||
border: 0;
|
|
||||||
_line-height: 0; /*IE6 only*/
|
|
||||||
-moz-box-shadow: 0 1px 0 #111, 0 2px 0 #666;
|
|
||||||
-webkit-box-shadow: 0 1px 0 #111, 0 2px 0 #666;
|
|
||||||
box-shadow: 0 1px 0 #111, 0 2px 0 #666;
|
|
||||||
}
|
|
||||||
#menu ul li:last-child {
|
|
||||||
-moz-box-shadow: none;
|
|
||||||
-webkit-box-shadow: none;
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
#menu ul a {
|
|
||||||
padding: 10px;
|
|
||||||
width: 130px;
|
|
||||||
_height: 10px; /*IE6 only*/
|
|
||||||
display: block;
|
|
||||||
white-space: nowrap;
|
|
||||||
float: none;
|
|
||||||
text-transform: none;
|
|
||||||
}
|
|
||||||
#menu ul a:hover {
|
|
||||||
background-color: #0186ba;
|
|
||||||
background-image: -moz-linear-gradient(#04acec, #0186ba);
|
|
||||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#04acec), to(#0186ba));
|
|
||||||
background-image: -webkit-linear-gradient(#04acec, #0186ba);
|
|
||||||
background-image: -o-linear-gradient(#04acec, #0186ba);
|
|
||||||
background-image: -ms-linear-gradient(#04acec, #0186ba);
|
|
||||||
background-image: linear-gradient(#04acec, #0186ba);
|
|
||||||
}
|
|
||||||
#menu ul li:first-child > a {
|
|
||||||
-moz-border-radius: 3px 3px 0 0;
|
|
||||||
-webkit-border-radius: 3px 3px 0 0;
|
|
||||||
border-radius: 3px 3px 0 0;
|
|
||||||
}
|
|
||||||
#menu ul li:first-child > a:after {
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
left: 40px;
|
|
||||||
top: -6px;
|
|
||||||
border-left: 6px solid transparent;
|
|
||||||
border-right: 6px solid transparent;
|
|
||||||
border-bottom: 6px solid #444;
|
|
||||||
}
|
|
||||||
#menu ul ul li:first-child a:after {
|
|
||||||
left: -6px;
|
|
||||||
top: 50%;
|
|
||||||
margin-top: -6px;
|
|
||||||
border-left: 0;
|
|
||||||
border-bottom: 6px solid transparent;
|
|
||||||
border-top: 6px solid transparent;
|
|
||||||
border-right: 6px solid #3b3b3b;
|
|
||||||
}
|
|
||||||
#menu ul li:first-child a:hover:after {
|
|
||||||
border-bottom-color: #04acec
|
|
||||||
}
|
|
||||||
#menu ul ul li:first-child a:hover:after {
|
|
||||||
border-right-color: #0299d3;
|
|
||||||
border-bottom-color: transparent;
|
|
||||||
}
|
|
||||||
#menu ul li:last-child > a {
|
|
||||||
-moz-border-radius: 0 0 3px 3px;
|
|
||||||
-webkit-border-radius: 0 0 3px 3px;
|
|
||||||
border-radius: 0 0 3px 3px;
|
|
||||||
}
|
|
@@ -130,15 +130,10 @@ def load_on_reg(dbstate, uistate, plugin):
|
|||||||
["Fade-Menus", 0, "Fade In/ Out Menus",
|
["Fade-Menus", 0, "Fade In/ Out Menus",
|
||||||
path_css('Web_Fade-Menus.css'), None, [], [] ],
|
path_css('Web_Fade-Menus.css'), None, [], [] ],
|
||||||
|
|
||||||
# WebKit/ Html5/ CSS3 Drop Down Navigation Menus Style Sheet
|
# WebKit/ Html5/ CSS3 Drop Down Navigation Menu Style Sheet
|
||||||
["DropDown-Menus", 0, "Drop Down Menus",
|
["DropDown-Menus", 0, "Drop Down Menus",
|
||||||
path_css("Web_DropDown-Menus.css"), None, [], [] ],
|
path_css("Web_DropDown-Menus.css"), None, [], [] ],
|
||||||
|
|
||||||
# WebKit/ Html5/ CSS3 Animated DropDown Citations Style Sheet
|
|
||||||
["DropDown-Citations", 0, "Drop Down Citations",
|
|
||||||
path_css("Web_DropDown-Citations.css"), None, [],
|
|
||||||
path_js("jquery-1.7.min.js") ],
|
|
||||||
|
|
||||||
# GeoView style sheet with its image
|
# GeoView style sheet with its image
|
||||||
["GeoView", 0, "GeoView",
|
["GeoView", 0, "GeoView",
|
||||||
path_css("GeoView.css"), None,
|
path_css("GeoView.css"), None,
|
||||||
|
Reference in New Issue
Block a user