From 9c015e49ef9b629089141487ea07bebf5aac0591 Mon Sep 17 00:00:00 2001 From: Don Allingham Date: Fri, 15 Mar 2002 23:55:54 +0000 Subject: [PATCH] Fixed autocompletion of Death Place, Fixed name swapping, fixed PDF document generator conversion of x,y widths, Added new images to report dialogs svn: r842 --- src/EditPerson.glade | 170 ++++++++++++++++++++++++++---- src/EditPerson.py | 10 +- src/NameEdit.py | 12 ++- src/docgen/PdfDoc.py | 4 +- src/plugins/AncestorReport.py | 123 ++++++++++++--------- src/plugins/DescendReport.py | 123 ++++++++++++--------- src/plugins/DetAncestralReport.py | 122 ++++++++++++--------- src/plugins/FamilyGroup.py | 93 +++++++++++++++- src/plugins/IndivSummary.py | 93 +++++++++++++++- src/plugins/WebPage.py | 96 ++++++++++++++++- 10 files changed, 672 insertions(+), 174 deletions(-) diff --git a/src/EditPerson.glade b/src/EditPerson.glade index d91723589..7b4c1d251 100644 --- a/src/EditPerson.glade +++ b/src/EditPerson.glade @@ -539,7 +539,7 @@ GtkCombo - dbcombo + dpcombo 250 False True @@ -1357,7 +1357,7 @@ GtkTable table10 - 5 + 6 3 False 0 @@ -1532,8 +1532,8 @@ 0 1 - 4 - 5 + 5 + 6 0 0 False @@ -1558,8 +1558,8 @@ 2 3 - 4 - 5 + 5 + 6 3 3 False @@ -1662,8 +1662,8 @@ 1 2 - 4 - 5 + 5 + 6 0 0 False @@ -1704,7 +1704,7 @@ GtkLabel label268 - + GTK_JUSTIFY_CENTER False 1 @@ -1729,7 +1729,7 @@ GtkLabel - name_type + alt_title GTK_JUSTIFY_CENTER False @@ -1752,6 +1752,84 @@ False + + + GtkLabel + label271 + + GTK_JUSTIFY_CENTER + False + 1 + 0.5 + 5 + 3 + + 0 + 1 + 4 + 5 + 0 + 0 + False + False + False + False + True + False + + + + + GtkLabel + label272 + + GTK_JUSTIFY_CENTER + False + 0 + 0.5 + 0 + 3 + + 1 + 2 + 4 + 5 + 0 + 0 + False + False + False + False + True + False + + + + + GtkLabel + name_type + + GTK_JUSTIFY_CENTER + False + 0 + 0.5 + 0 + 0 + + 2 + 3 + 4 + 5 + 3 + 3 + False + False + False + False + True + False + + @@ -5509,7 +5587,7 @@ GtkTable table23 - 6 + 7 2 False 0 @@ -5584,8 +5662,8 @@ 1 2 - 5 - 6 + 6 + 7 3 3 False @@ -5618,8 +5696,8 @@ 0 1 - 5 - 6 + 6 + 7 0 0 False @@ -5639,8 +5717,8 @@ 1 2 - 4 - 5 + 5 + 6 0 0 False @@ -5817,8 +5895,8 @@ 0 1 - 3 - 4 + 4 + 5 0 0 False @@ -5844,8 +5922,8 @@ 1 2 - 3 - 4 + 4 + 5 3 3 True @@ -5867,6 +5945,56 @@ + + + GtkLabel + label270 + + GTK_JUSTIFY_CENTER + False + 1 + 0.5 + 5 + 8 + + 0 + 1 + 3 + 4 + 0 + 0 + False + False + False + False + True + False + + + + + GtkEntry + alt_title + True + True + True + 0 + + + 1 + 2 + 3 + 4 + 3 + 3 + True + False + False + False + True + False + + diff --git a/src/EditPerson.py b/src/EditPerson.py index 006a0d7b5..587cdfa90 100644 --- a/src/EditPerson.py +++ b/src/EditPerson.py @@ -173,6 +173,7 @@ class EditPerson: self.name_frame = self.get_widget("name_frame") self.alt_given_field = self.get_widget("alt_given") self.alt_last_field = self.get_widget("alt_last") + self.alt_title_field = self.get_widget("alt_title") self.alt_suffix_field = self.get_widget("alt_suffix") self.name_type_field = self.get_widget("name_type") self.surname_field = self.get_widget("surname") @@ -184,7 +185,7 @@ class EditPerson: self.bdate = self.get_widget("birthDate") self.bplace = self.get_widget("birthPlace") self.bpcombo = self.get_widget("bpcombo") - self.dpcombo = self.get_widget("bpcombo") + self.dpcombo = self.get_widget("dpcombo") self.sncombo = self.get_widget("sncombo") self.ddate = self.get_widget("deathDate") self.dplace = self.get_widget("deathPlace") @@ -223,8 +224,7 @@ class EditPerson: self.window.editable_enters(self.dplace); self.autoplace = AutoComp.AutoCombo(self.bpcombo,self.pmap.keys()) - - AutoComp.AutoCombo(self.dpcombo,self.pmap.keys(),self.autoplace) + self.autodeath = AutoComp.AutoCombo(self.dpcombo,self.pmap.keys(),self.autoplace) self.comp = AutoComp.AutoCombo(self.sncombo,const.surnames) self.gid.set_text(person.getId()) @@ -258,12 +258,12 @@ class EditPerson: self.get_widget("lds_tab").show() self.get_widget("lds_page").show() - self.write_primary_name() types = const.NameTypesMap.keys() types.sort() self.ntype_field.set_popdown_strings(types) self.autotype = AutoComp.AutoEntry(self.ntype_field.entry,types) + self.write_primary_name() if person.getGender() == Person.male: self.is_male.set_active(1) @@ -975,6 +975,7 @@ class EditPerson: name = obj.get_row_data(row) self.name_frame.set_label(name.getName()) self.alt_given_field.set_text(name.getFirstName()) + self.alt_title_field.set_text(name.getTitle()) self.alt_last_field.set_text(name.getSurname()) self.alt_suffix_field.set_text(name.getSuffix()) self.name_type_field.set_text(name.getType()) @@ -1351,6 +1352,7 @@ class EditPerson: self.nlist.append(old) self.redraw_name_list() self.pname = Name(new) + self.lists_changed = 1 self.write_primary_name() def write_primary_name(self): diff --git a/src/NameEdit.py b/src/NameEdit.py index ffc47a24d..f3628c895 100644 --- a/src/NameEdit.py +++ b/src/NameEdit.py @@ -51,6 +51,7 @@ class NameEditor: self.top = libglade.GladeXML(const.editPersonFile, "name_edit") self.window = self.top.get_widget("name_edit") self.given_field = self.top.get_widget("alt_given") + self.title_field = self.top.get_widget("alt_title") self.surname_field = self.top.get_widget("alt_last") self.suffix_field = self.top.get_widget("alt_suffix") self.type_field = self.top.get_widget("name_type") @@ -78,11 +79,13 @@ class NameEditor: self.window.editable_enters(self.given_field) self.window.editable_enters(self.surname_field) self.window.editable_enters(self.suffix_field) + self.window.editable_enters(self.title_field) self.window.editable_enters(self.type_field.entry) if name != None: self.given_field.set_text(name.getFirstName()) self.surname_field.set_text(name.getSurname()) + self.title_field.set_text(name.getTitle()) self.suffix_field.set_text(name.getSuffix()) self.type_field.entry.set_text(_(name.getType())) self.priv.set_active(name.getPrivacy()) @@ -104,6 +107,7 @@ class NameEditor: def on_name_edit_ok_clicked(self,obj): first = self.given_field.get_text() last = self.surname_field.get_text() + title = self.title_field.get_text() suffix = self.suffix_field.get_text() note = self.note_field.get_chars(0,-1) priv = self.priv.get_active() @@ -120,13 +124,13 @@ class NameEditor: self.name.setSourceRefList(self.srcreflist) self.parent.nlist.append(self.name) - self.update_name(first,last,suffix,type,note,priv) + self.update_name(first,last,suffix,title,type,note,priv) self.parent.lists_changed = 1 self.parent.redraw_name_list() Utils.destroy_passed_object(obj) - def update_name(self,first,last,suffix,type,note,priv): + def update_name(self,first,last,suffix,title,type,note,priv): if self.name.getFirstName() != first: self.name.setFirstName(first) @@ -143,6 +147,10 @@ class NameEditor: self.name.setSuffix(suffix) self.parent.lists_changed = 1 + if self.name.getTitle() != title: + self.name.setTitle(title) + self.parent.lists_changed = 1 + if self.name.getType() != type: self.name.setType(type) self.parent.lists_changed = 1 diff --git a/src/docgen/PdfDoc.py b/src/docgen/PdfDoc.py index b398d7abb..8fb5af057 100644 --- a/src/docgen/PdfDoc.py +++ b/src/docgen/PdfDoc.py @@ -260,9 +260,9 @@ class PdfDoc(TextDoc): self.col = self.col + self.span - def add_photo(self,name,pos,x,y): + def add_photo(self,name,pos,x_cm,y_cm): img = ImgManip.ImgManip(name) - nx,ny = img.size() + x,y = img.size() ratio = float(x_cm)*float(y)/(float(y_cm)*float(x)) diff --git a/src/plugins/AncestorReport.py b/src/plugins/AncestorReport.py index 671e2a907..b094f90c9 100644 --- a/src/plugins/AncestorReport.py +++ b/src/plugins/AncestorReport.py @@ -307,56 +307,85 @@ def report(database,person): #------------------------------------------------------------------------ def get_xpm_image(): return [ - "48 48 4 1", + "48 48 33 1", " c None", - ". c #FFFFFF", - "+ c #C0C0C0", - "@ c #000000", + ". c #1A1A1A", + "+ c #847B6E", + "@ c #B7AC9C", + "# c #D1D1D0", + "$ c #EEE2D0", + "% c #6A655C", + "& c #868686", + "* c #F1EADF", + "= c #5C5854", + "- c #B89C73", + "; c #E2C8A1", + "> c #55524C", + ", c #F5EEE6", + "' c #4F4E4C", + ") c #A19C95", + "! c #B3966E", + "~ c #CDC8BF", + "{ c #F6F2ED", + "] c #A6A5A4", + "^ c #413F3F", + "/ c #D8D1C5", + "( c #968977", + "_ c #BAB9B6", + ": c #FAFAF9", + "< c #BEA27B", + "[ c #E9DAC2", + "} c #9D9385", + "| c #E4E3E3", + "1 c #7A7062", + "2 c #E6D3B4", + "3 c #BAA488", + "4 c #322E2B", " ", " ", - " ", - " ++++++++++++++++++++++++++++++++++ ", - " +................................+ ", - " +................................+ ", - " +...@@@@@@@@@@@@@@@@@@@@@@@@@@...+ ", - " +...@@@@@@@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +................................+ ", - " +.....@@@@@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +........@@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +................................+ ", - " +.....@@@@@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +........@@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +................................+ ", - " +.....@@@@@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +.........@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +................................+ ", - " +.....@@@@@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +.........@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +.........@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +................................+ ", - " +.....@@@@@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +.........@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +................................+ ", - " +.....@@@@@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +.........@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +................................+ ", - " +................................+ ", - " +................................+ ", - " ++++++++++++++++++++++++++++++++++ ", + " (+(+++++111%1%%%%===%1 ", + " +______________@_@)&==1 ", + " +_::::::::::::::*|#_&&}> ", + " &_:::::::::::::::{|#]1~}^ ", + " +_::::::::::::::::{|#=|~&4 ", + " +_::::]]]]]]]]:::::|{':|~&4 ", + " +_::::::::::::::::::{'::|~&4 ", + " +_:::::::::::::::::::'*::|~&^ ", + " +_:::::::::::::::::::'|*::|~}> ", + " 1_::::]]]]]]]]]]]]:::'~|{::|_}% ", + " 1_:::::::::::::::::::'..4^'=1+%1 ", + " +_::::]]]]]]]]]]]]:::|__])&+%=^% ", + " 1_::::::::::::::::::::|#__)&&+'^ ", + " 1_::::]]]]]]]]]::::::::|#~_])&%^ ", + " 1_::::::::::::::::::::{||#~_])14 ", + " 1_::::]]]]]]]]]]]]]]]]]]&}#~_]+4 ", + " 1_::::::::::::::::::{{{{||#~~@&4 ", + " %_::::]]]]]]]]]]]]]]]])))}(~~~&4 ", + " %_:::::::::::::::::{{{{{*|#/~_(4 ", + " %_::::]]]]]]]]]]]]]]])))))}2;/}4 ", + " %_:::::::::::::::{{{{{***||[#~}4 ", + " %_::::]]]]]]]]]])]))))))))}2/;)4 ", + " %_::::::::::::::{{{{{**|$$[/2~!4 ", + " %_::::]]]]]]]]){{{{******$$[2/}4 ", + " %_::::::::::::{{{{****$$$$$[2/!4 ", + " =_::::]]]]]]])]))))))))})}}[2/!4 ", + " %_:::::::::{{{{{{**|$$$$$$[[2;)4 ", + " =_::::]]]])]]))))))))))}}}}[22!4 ", + " %_::::::::{{{{{|**|$$[$[[[[[22}4 ", + " =_::::]]])])))))))))}}}}}}}222-4 ", + " =_:::::{{{{{|{*|$$$$$[[[[22222!4 ", + " =_::::)]])))))))))}}}}}}(}(2;2-4 ", + " =_:::{{{{{{***|$$$$$[[[[22222;-4 ", + " =_:::{])))))))))}}}}}}}(}((2;;<4 ", + " >_:{{{{{{**|$$$$$[[[[22222;2;;-4 ", + " >_{{{{)))))))}}}}}}}(!(((((;;;-4 ", + " >_{{{{|**|*$$$$$[[[[22222;;;;;!4 ", + " '_{{{{****$$$$$2[[222222;2;;;;-4 ", + " '@{{****$$$$$[[[2[222;;2;;;;;;!4 ", + " >]{******$$$[$[2[[2222;;;;;;;;!4 ", + " '_****$$$$[$[[[[2222;2;;;;;;;;!4 ", + " '@__@@@@@@@33<3<<<<<<-<-!!!!!!!4 ", + " 44444444444444444444444444444444 ", " ", " ", " "] diff --git a/src/plugins/DescendReport.py b/src/plugins/DescendReport.py index a0252befe..22bf44633 100644 --- a/src/plugins/DescendReport.py +++ b/src/plugins/DescendReport.py @@ -208,56 +208,85 @@ def report(database,person): #------------------------------------------------------------------------ def get_xpm_image(): return [ - "48 48 4 1", + "48 48 33 1", " c None", - ". c #FFFFFF", - "+ c #C0C0C0", - "@ c #000000", + ". c #1A1A1A", + "+ c #6A665E", + "@ c #A6A6A6", + "# c #BABAB6", + "$ c #E9D9C0", + "% c #E6E6E6", + "& c #7A7262", + "* c #867A6E", + "= c #C2C2BE", + "- c #5C5854", + "; c #898783", + "> c #EEEEEC", + ", c #B2966E", + "' c #4E4E4E", + ") c #BCA076", + "! c #FAFAFA", + "~ c #CECBC1", + "{ c #E2CBA5", + "] c #DAD6D1", + "^ c #D2D1D0", + "/ c #9E9286", + "( c #ECE1D1", + "_ c #423E3E", + ": c #A29E96", + "< c #B7AC9A", + "[ c #DAD2C6", + "} c #E6E2E2", + "| c #E1DFDC", + "1 c #322E2A", + "2 c #E6D2B6", + "3 c #F5F2EF", + "4 c #F1EADE", " ", " ", - " ", - " ++++++++++++++++++++++++++++++++++ ", - " +................................+ ", - " +...@@@@@@@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +................................+ ", - " +...@@@@@@@@@@@..................+ ", - " +................................+ ", - " +................................+ ", - " +......@@@@@@@@@@@...............+ ", - " +................................+ ", - " +................................+ ", - " +.........@@@@@@@@@@@............+ ", - " +................................+ ", - " +................................+ ", - " +......@@@@@@@@@@@...............+ ", - " +................................+ ", - " +................................+ ", - " +.........@@@@@@@@@@@............+ ", - " +................................+ ", - " +................................+ ", - " +.............@@@@@@@@@@@........+ ", - " +................................+ ", - " +................................+ ", - " +.............@@@@@@@@@@@........+ ", - " +................................+ ", - " +................................+ ", - " +......@@@@@@@@@@@...............+ ", - " +................................+ ", - " +................................+ ", - " +.........@@@@@@@@@@@............+ ", - " +................................+ ", - " +................................+ ", - " +............@@@@@@@@@@@.........+ ", - " +................................+ ", - " +................................+ ", - " +................@@@@@@@@@@......+ ", - " +................................+ ", - " +................................+ ", - " +................@@@@@@@@@@......+ ", - " +................................+ ", - " +................................+ ", - " ++++++++++++++++++++++++++++++++++ ", + " ;*;*****&&&+&++++---+& ", + " *##############<#<:;--& ", + " *#!!!!!!!!!!!!!!4}^#;;/' ", + " ;#!!!!!!!!!!!!!!!3}^@&~/_ ", + " *#!!!!!!!!!!!!!!!!3}^-%~;1 ", + " *#!!!!@@@@@@@@@@@@@@@'!}~;1 ", + " *#!!!!!!!!!!!!!!!!3!3'!!}~;1 ", + " *#!!!!!!!!!!!!!!!!!!!'4!!|~;_ ", + " *#!!!!3!!!!!!!!!!!!!!'}4!!}~/' ", + " &#!!!!@@:@:@:@:@@@!!3'~}3!!}#/+ ", + " &#!!!!!!!!!!!!!!!!!!!'..1_'-&*+& ", + " *#!!!!!!!!@@@@@:@@@@%!3#@:;*+-_+ ", + " &#!!!!!!!!!!!!!!!!!!!!>|~=:;;*'_ ", + " &#!!!!!!!!@:@@@@:@@@^|>%^~#::;+_ ", + " &#!!!!!!!!!!!!!!!!!!!!3%>^~#@:&1 ", + " &#!!!!!!!!@@@@@@@@@@%>3%|~^~#@*1 ", + " &>]=~<;1 ", + " +#!!!!@@@@@:@@@:@]%33>>>>>[~~~;1 ", + " +#!!!!!!!!!!!!!!!!!33333>}^[=#;1 ", + " +#!!!!!!!!@@@@@@:@@@]>>>44]2{[/1 ", + " +#!!!!!!!!!!!!!!!33333444}(([~/1 ", + " +#!!!!33!3@@@@@@:@::]}|}||[2^{:1 ", + " +#!!!!!!!!!!!!!!>3333>4}44$[2~,1 ", + " +#!!!!!!!!33!>@@@@@@@@@@^}|${[/1 ", + " +#!!!!!!!!!!!!33334444(((44$2[,1 ", + " -#!!!!3333333%:::::::::/]||$2^,1 ", + " +#!!!!!!!!!3333>>44|(((((4($2{:1 ", + " -#!!!!!!!!:@@:::::::~]}}|$$$22,1 ", + " +#!!!!!!!!33333(44}44(44((($22/1 ", + " -#!!!!@@@:@::::::]}|||$||$]222)1 ", + " -#!!!!!33333(>4}444((($$$22222,1 ", + " -#!!!!!!!!::::::/://]$$$$($2{2,1 ", + " -#!!!333333444|((((($$$$[2$22{)1 ", + " -#!!!33334::/:::////[[]$2$22{{)1 ", + " '#!33333334}(((((($$$2222$22{{,1 ", + " -#33333333:::///////{2[{2[{{{{)1 ", + " '#3333%44}4((4(($$$$2222222{{{,1 ", + " '#33334444(((((2$$222222{{{{{{,1 ", + " '<334444((((($$$2$222{{2{{{{{{,1 ", + " -@3444444((($4$$$$2222{{{{{{{{,1 ", + " '#4444(((4$($$$$2$2${2{{{{{{{{,1 ", + " '<##<<<<<<<)))<)))))),,,,,,,,,,1 ", + " 11111111111111111111111111.11111 ", " ", " ", " "] diff --git a/src/plugins/DetAncestralReport.py b/src/plugins/DetAncestralReport.py index 469edf6c0..058fbc118 100644 --- a/src/plugins/DetAncestralReport.py +++ b/src/plugins/DetAncestralReport.py @@ -541,56 +541,84 @@ def report(database,person): #------------------------------------------------------------------------ def get_xpm_image(): return [ - "48 48 4 1", + "48 48 32 1", " c None", - ". c #FFFFFF", - "+ c #C0C0C0", - "@ c #000000", + ". c #968977", + "+ c #847B6E", + "@ c #7A7062", + "# c #6A655C", + "$ c #5C5854", + "% c #BAB9B6", + "& c #B7AC9C", + "* c #A19C95", + "= c #868686", + "- c #FAFAF9", + "; c #F1EADF", + "> c #E4E3E3", + ", c #D1D1D0", + "' c #9D9385", + ") c #55524C", + "! c #F6F2ED", + "~ c #A6A5A4", + "{ c #CDC8BF", + "] c #413F3F", + "^ c #322E2B", + "/ c #4F4E4C", + "( c #1A1A1A", + "_ c #D8D1C5", + ": c #E6D3B4", + "< c #E2C8A1", + "[ c #E9DAC2", + "} c #EEE2D0", + "| c #B3966E", + "1 c #B89C73", + "2 c #BEA27B", + "3 c #BAA488", " ", " ", - " ", - " ++++++++++++++++++++++++++++++++++ ", - " +................................+ ", - " +................................+ ", - " +...@@@@@@@@@@@@@@@@@@@@@@@@@@...+ ", - " +...@@@@@@@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +................................+ ", - " +.....@@@@@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +........@@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +................................+ ", - " +.....@@@@@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +........@@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +................................+ ", - " +.....@@@@@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +.........@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +................................+ ", - " +.....@@@@@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +.........@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +.........@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +................................+ ", - " +.....@@@@@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +.........@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +................................+ ", - " +.....@@@@@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +.........@@@@@@@@@@@@@@@@@@@@...+ ", - " +................................+ ", - " +................................+ ", - " +................................+ ", - " +................................+ ", - " ++++++++++++++++++++++++++++++++++ ", + " .+.+++++@@@#@####$$$#@ ", + " +%%%%%%%%%%%%%%&%&*=$$@ ", + " +%--------------;>,%==') ", + " =%---------------!>,~@{'] ", + " +%----------------!>,$>{=^ ", + " +%----~~~~~~~~~~~~~~~/->{=^ ", + " +%------------------!/-->{=^ ", + " +%-------------------/;-->{=] ", + " +%-------------------/>;-->{') ", + " @%----~~~~~~~~~~~~~~~/{>!-->%'# ", + " @%-------------------/((^]/$@+#@ ", + " +%--------~~~~~~~~~~~~%%~*=+#$]# ", + " @%-------------------->,%%*==+/] ", + " @%----~~~~~~~~~~~~~~~~~~~~%~*=#] ", + " @%--------------------!>>,{%~*@^ ", + " @%--------~~~~~~~~~~~~~~=',{%~+^ ", + " @%------------------!!!!>>,{{&=^ ", + " #%----~~~~~~~~~~~~~~~~***'.{{{=^ ", + " #%-----------------!!!!!;>,_{%.^ ", + " #%--------~~~~~~~~~~~*****':<_'^ ", + " #%---------------!!!!!;;;>>[,{'^ ", + " #%----~~~~~~~~~~*~********':_<*^ ", + " #%--------------!!!!!;;>}}[_:{|^ ", + " #%--------~~~~~~~~~~~~~~~~~[:_'^ ", + " #%------------!!!!;;;;}}}}}[:_|^ ", + " $%----~~~~~~~*~********'*''[:_|^ ", + " #%---------!!!!!!;;>}}}}}}[[:<*^ ", + " $%--------*~~**********''''[::|^ ", + " #%--------!!!!!>;;>}}[}[[[[[::'^ ", + " $%----~~~*~*********''''''':::1^ ", + " $%-----!!!!!>!;>}}}}}[[[[:::::|^ ", + " $%--------********''''''.'.:<:1^ ", + " $%---!!!!!!;;;>}}}}}[[[[:::::<1^ ", + " $%---!~~~~******'''''''.'..:<<2^ ", + " )%-!!!!!!!;>}}}}}[[[[:::::<:<<1^ ", + " )%!!!!!!!!***'''''''.|.....<<<1^ ", + " )%!!!!>;;>;}}}}}[[[[:::::<<<<<|^ ", + " /%!!!!;;;;}}}}}:[[::::::<:<<<<1^ ", + " /&!!;;;;}}}}}[[[:[:::<<:<<<<<<|^ ", + " )~!;;;;;;}}}[}[:[[::::<<<<<<<<|^ ", + " /%;;;;}}}}[}[[[[::::<:<<<<<<<<|^ ", + " /&%%&&&&&&&3323222222121|||||||^ ", + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ", " ", " ", " "] diff --git a/src/plugins/FamilyGroup.py b/src/plugins/FamilyGroup.py index 93a1147c2..0b2a8d2aa 100644 --- a/src/plugins/FamilyGroup.py +++ b/src/plugins/FamilyGroup.py @@ -446,6 +446,96 @@ class FamilyGroupDialog(TextReportDialog): def report(database,person): FamilyGroupDialog(database,person) +#------------------------------------------------------------------------ +# +# +# +#------------------------------------------------------------------------ +def get_xpm_image(): + return [ + "48 48 33 1", + " c None", + ". c #1A1A1A", + "+ c #6A665E", + "@ c #A6A6A6", + "# c #BABAB6", + "$ c #D2D2D2", + "% c #EDE2D2", + "& c #7A7262", + "* c #F1EADF", + "= c #867A6E", + "- c #56524E", + "; c #868686", + "> c #E2CAA2", + ", c #F2EEE2", + "' c #4E4E4E", + ") c #B2966E", + "! c #FAFAFA", + "~ c #A29E96", + "{ c #BEA27A", + "] c #CECABE", + "^ c #968A76", + "/ c #DAD2C6", + "( c #423E3E", + "_ c #BA9E72", + ": c #B7AC9A", + "< c #E9DAC3", + "[ c #E6E2E2", + "} c #322E2A", + "| c #9E9286", + "1 c #E6D2B6", + "2 c #F2EEE9", + "3 c #5E5A56", + "4 c #F6F2EE", + " ", + " ", + " ^=^=====&&&+&++++333+& ", + " =##############:#:~;33& ", + " =#!!!!!!!!!!!!!!*[$#;;|- ", + " ;#!!!!!!!!!!!!!!!2[$@&]|( ", + " =#!!!!!!!!!!!!!!!!2[$-[];} ", + " =#!!!!@@@@@@@@!!!!![4'![];} ", + " =#!!!!!!4!!4!!!!!!!!4'!![];} ", + " =#!!!!!!!!!!!!!!!!!!!'*!![];( ", + " =#!!!!!!!!!!!!!!!!!!!'[*!![]|- ", + " &#!!!!@@~@@@~@@~@@@@@'][4!![#|+ ", + " &#!4!!!!!!!!!!!!!4!!!'..}('3&=+& ", + " =#!!!!@@@@@@@@@@@@@@@@##@~;=+3(+ ", + " &#!!!!!!!!!!!!!!!!!!!![$##~;;='( ", + " &#!!!!@@@@@~@@@~@@@@~@@@@@#~~;+( ", + " &#!!!!!!!!!!!!!!!!!!!!444[]#@~&} ", + " &#!!!!!!!!!!!!!!!!!!4442[[$]#@=} ", + " &#!!!!!!!!!!!!!!!!!!4444[[$]]:;} ", + " +#!!!!@~@@@@@@@@~@@@@@~~~|;]]];} ", + " +#!!!!!!!!!!!!!!!!!44444,[$/]:^} ", + " +#!!!!@@@~@@@@@@@@~@~~~~~~|1>$|} ", + " +#!!!!!!!!!!!!!!!44442[*%[[<$]|} ", + " +#!!!!@@@@~@@@@~~@~~~~~~~~|1/>~} ", + " +#!!!!!!!!!!!!!!44444**[%%~} ", + " 3#!!!!@@4*@@@~~~~~~~~~~||||<11)} ", + " +#4!!4444444,24[[*[<%<%<<<<<11|} ", + " 3#!!!44,,,@~~~~~~~~~|||||||111_} ", + " 3#!!!!!44444[4[[%%%%%<<<<11111)} ", + " 3#!!!!~@,*~~~~~~~~||||||^|^1>1_} ", + " 3#!!!444442%**[%<%%%<<<<11111>_} ", + " 3#!!!4***[~~~~~~|||||||^|^^1>>{} ", + " -#!444444**[%<%%%<<<<11111>1>>_} ", + " -#4444~~[[~~~|||||||^)^^^^^>>>_} ", + " -#4444[**[%%%%%%<<<<11111>>>>>)} ", + " '#4444****%%%%%<<<111<11>>>>>>_} ", + " ':44****%%%%%<<<1<1<1>>1>>>>>>)} ", + " -@4******%%%<%<1<<1111>>>>>>>>)} ", + " '#****%%%%<%<<<<1<11>1>>>>>>>>)} ", + " ':##:::::::{{{{{{__{___))^)))))} ", + " }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} ", + " ", + " ", + " "] + #------------------------------------------------------------------------ # # @@ -458,6 +548,7 @@ register_report( _("Family Group Report"), category=_("Text Reports"), status=(_("Beta")), - description=_("Creates a family group report, showing information on a set of parents and their children.") + description=_("Creates a family group report, showing information on a set of parents and their children."), + xpm=get_xpm_image() ) diff --git a/src/plugins/IndivSummary.py b/src/plugins/IndivSummary.py index ec34c00ab..fa98debee 100644 --- a/src/plugins/IndivSummary.py +++ b/src/plugins/IndivSummary.py @@ -418,6 +418,96 @@ class IndivSummaryDialog(TextReportDialog): def report(database,person): IndivSummaryDialog(database,person) +#------------------------------------------------------------------------ +# +# +# +#------------------------------------------------------------------------ +def get_xpm_image(): + return [ + "48 48 33 1", + " c None", + ". c #312D2A", + "+ c #4773AA", + "@ c #A8A7A5", + "# c #BABAB6", + "$ c #CECECE", + "% c #ECDECB", + "& c #5C5C60", + "* c #7C7262", + "= c #F2EADE", + "- c #867A6F", + "; c #8E887E", + "> c #E2CAA2", + ", c #565354", + "' c #4C4E51", + ") c #6D655E", + "! c #B69970", + "~ c #F6F2EE", + "{ c #9E9286", + "] c #416CA3", + "^ c #3D4557", + "/ c #A29E96", + "( c #FAFAFA", + "_ c #BA7458", + ": c #C67C5E", + "< c #BDA37E", + "[ c #CECABE", + "} c #A26E62", + "| c #E6E2E2", + "1 c #423E43", + "2 c #966A60", + "3 c #D2D2D2", + "4 c #E5D2B8", + " ", + " ", + " ;-;-----***)*))))&,&)* ", + " -##############@#@/;&,* ", + " -#((((((((((((((=|$#;;{, ", + " ;#(((((((((((((((~|3/*[{1 ", + " -#((((((((((((((((~|3,|[;. ", + " -#((((((((@/@@@@@@/@/'(|[;. ", + " -#((((((((((((((((((~'((|[;. ", + " -#(((((((((((]+]+]]+('=((|[;1 ", + " -#(((((((((((]+]}2&+('|=((|[{, ", + " *#(((((((((((]+}<:-+('[|~((|#{) ", + " *#(((((((((((+]2_:)+('...1'&*-)* ", + " -#(((((((((((]&1(_&+(3@#//--)&1) ", + " *#~((((((((((+]1}/^]((|$##/;--'1 ", + " *#(((((((((((]]^)11,(((|$[#@/;)1 ", + " *#(((((((((((]^.^^&&((~=|$[#@/*. ", + " *#(((((((((((((~(((((((|$[$[#/-. ", + " *#~(((((((((((((((((~~~~||$[[@;. ", + " )#((((@@@@@@/@@/@/@@@@///{;[[[;. ", + " )#(((((((((((((((((~~~~==|$$[#;. ", + " )#((((@/@@/@@@@@@@@@//////{4>3{. ", + " )#(((((((((((((((~~~~==|=||%$[{. ", + " )#((((@@@@@/@@@///////////{43>/. ", + " )#((((((((((((((~~~~~==|||%>4[!. ", + " )#((((@/@@@@@//~~~~======%%%43{. ", + " )#((((((((((((~~~~=|==||=%%%44!. ", + " ,#((((@@/@@/@/@////////{/{{%4$!. ", + " )#~((((((((~~~~~~==||%=%=%%44>/. ", + " ,#((((/@@//@///////////{{{{%4>!. ", + " )#((((((((~~~=~||=|%%%%%4%%%44{. ", + " ,#((((@@@/@/////////{{{{{{{444!. ", + " &#(((((~~~~~|~|||%%|%%%%44444%!. ", + " ,#(((~/@//////////{{{{{{;{;4>4!. ", + " ,#(((~~~~=~|==|%|=%%%4%%44444>!. ", + " &#(((~//////////{{{{{{{;{;{4>><. ", + " ,#(~~~~~~==||%|%%%%%%44444>4>>!. ", + " '#~~~~///////{{{{{{{;!;{;;;>>>!. ", + " ,#~~~~||=||%|%=%%4%444>44>>>>>!. ", + " '#~~~~====%=%=%4%%444444>>>>>>!. ", + " '@~~====|%=%%%%%4%444>>4>>>>>>!. ", + " ,@~======%%%%%%>%%4444>>>>>>>>!. ", + " '#====||=%%%%4%44444>4>>>>>>>>!. ", + " ,@##@<#<<#@<<<<<<<<< c #E1CB95", + ", c #5992CD", + "' c #5A584F", + ") c #86827D", + "! c #CBCAC7", + "~ c #294A76", + "{ c #E3D0B6", + "] c #7B7D7C", + "^ c #D5BE97", + "/ c #FBFAF8", + "( c #EADECB", + "_ c #4E84C7", + ": c #474943", + "< c #95A992", + "[ c #ADA69B", + "} c #3F72B7", + "| c #C4A985", + "1 c #9B9383", + "2 c #213C60", + "3 c #BBB9AF", + "4 c #7F959D", + " )11)1))))))]]+++=='='' ", + " 13!!!{!!!!^!!!!!33[<]')= ", + " 1!////////////#/##!![]<4: ", + " 1!////////////////#(![[3): ", + " )!////////////////##(33(3]% ", + " 1!//////////////////#3>>$4,4<,};;~2-#///////#!!331)=: ", + " ;-$>>>>>>><@4<*];}~22;!///////#!!33[]' ", + " ;_@>>##((>>*@4$*<-;;~2%-!#/////#((!33):. ", + " ~},<(##(##(>>*$*$+-;;~22%[##/////#(!!^1'. ", + " -_@!(####(>>>>**$-}};;2222!(#////#(({3['. ", + " ;}_,!##//#(>(>**&&]}}};2222)!(#/#/##{!![=. ", + " ;_,@>/#//##>>>^$)}}}};;~22%;!!(/#/##({^['. ", + " ;_,@!#///#>>>>*&__}}};;;22.:###/#>>>*&___}_};;~22%%+3!(####({{|'. ", + " ~}_,@@(###><<<$4,_,_}}};;22%.+[!{###(({{[=. ", + " 2},,,@*#((@@@@4,_,___};;~22%%+[3!(###({{|=. ", + " ~}_,,@@*(><@<@@4,,_}}};;~2.2.-[3!{(##({{[=. ", + " 2;_,,,@@*>*<*,,,____}};~~2.%%'[[!{((#({{|=. ", + " ~}__,@,@,<*!<,___}}}};;~~22..-[[3{((((({[=. ", + " ;}_,,,@@@,<<<_}}}}}};;~2222%+[[!{(((({{|=. ", + " ~}}_,,,@,,,,<}]44};;;;222..:11[^!((({{{|=. ", + " ;;}_,,,,@@@,,$&&&)-;22222.2'1[[^{{{(({{|=. ", + " ;}}___,,,,_)&<&&+='~222..211[[^{({{({>|=. ", + " ~;}}____,__&&&&+++'22.2.%=11[3^{({({{>|=. ", + " ;}}}}}}}}}]&&]+=:::22..2)11|3{{{{{{{{|=. ", + " ;;}}}}}}}=]]+='::%%.2%)11[|^{{({{{>>|=. ", + " ;;;;;};;;=''::::%.%.)11[[|!>{{>{>>>|=. ", + " ;;;};;;~%::%%:%%%%1111[|^{{({{>{>>|=. ", + " ~~;~;~~2%:%%%%.=]11[[|3{{{{{{{>>^|=. ", + " '~~~~%%:%%.')1111[[^^>{{{{>>>>^|=. ", + " :+-''::'&111[1[||3{{{{{>>>>^>^|=. ", + " '1*$[$[1[1[1[[[3^^{{{{{>{>^>^^|=. ", + " '<333[[[[[[||3^^{{{{{{>>>^>^^^|=. ", + " '3({!!^^3^3^^!{{{{{{{>>>>^>^^^|=. ", + " =3((({!{!{!{{{{{{{{{>>>^^>^^^^|=. ", + " '3###((({(({((({{{{{>{>>^^^^^^|=. ", + " =3!!!!!^!^^^^|^^|^|||||||||||||'. ", + " :++++++=+======================:. ", + " ............................. ", + " ", + " ", + " "] + + #------------------------------------------------------------------------- # # @@ -1068,6 +1159,7 @@ register_report( _("Generate Web Site"), category=_("Web Page"), status=(_("Beta")), - description=_("Generates web (HTML) pages for individuals, or a set of individuals.") + description=_("Generates web (HTML) pages for individuals, or a set of individuals."), + xpm=get_xpm_image() )