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
This commit is contained in:
Don Allingham 2002-03-15 23:55:54 +00:00
parent ecfbd71b2e
commit 3ee1b891b9
10 changed files with 672 additions and 174 deletions

View File

@ -539,7 +539,7 @@
<widget> <widget>
<class>GtkCombo</class> <class>GtkCombo</class>
<name>dbcombo</name> <name>dpcombo</name>
<width>250</width> <width>250</width>
<value_in_list>False</value_in_list> <value_in_list>False</value_in_list>
<ok_if_empty>True</ok_if_empty> <ok_if_empty>True</ok_if_empty>
@ -1357,7 +1357,7 @@
<widget> <widget>
<class>GtkTable</class> <class>GtkTable</class>
<name>table10</name> <name>table10</name>
<rows>5</rows> <rows>6</rows>
<columns>3</columns> <columns>3</columns>
<homogeneous>False</homogeneous> <homogeneous>False</homogeneous>
<row_spacing>0</row_spacing> <row_spacing>0</row_spacing>
@ -1532,8 +1532,8 @@
<child> <child>
<left_attach>0</left_attach> <left_attach>0</left_attach>
<right_attach>1</right_attach> <right_attach>1</right_attach>
<top_attach>4</top_attach> <top_attach>5</top_attach>
<bottom_attach>5</bottom_attach> <bottom_attach>6</bottom_attach>
<xpad>0</xpad> <xpad>0</xpad>
<ypad>0</ypad> <ypad>0</ypad>
<xexpand>False</xexpand> <xexpand>False</xexpand>
@ -1558,8 +1558,8 @@
<child> <child>
<left_attach>2</left_attach> <left_attach>2</left_attach>
<right_attach>3</right_attach> <right_attach>3</right_attach>
<top_attach>4</top_attach> <top_attach>5</top_attach>
<bottom_attach>5</bottom_attach> <bottom_attach>6</bottom_attach>
<xpad>3</xpad> <xpad>3</xpad>
<ypad>3</ypad> <ypad>3</ypad>
<xexpand>False</xexpand> <xexpand>False</xexpand>
@ -1662,8 +1662,8 @@
<child> <child>
<left_attach>1</left_attach> <left_attach>1</left_attach>
<right_attach>2</right_attach> <right_attach>2</right_attach>
<top_attach>4</top_attach> <top_attach>5</top_attach>
<bottom_attach>5</bottom_attach> <bottom_attach>6</bottom_attach>
<xpad>0</xpad> <xpad>0</xpad>
<ypad>0</ypad> <ypad>0</ypad>
<xexpand>False</xexpand> <xexpand>False</xexpand>
@ -1704,7 +1704,7 @@
<widget> <widget>
<class>GtkLabel</class> <class>GtkLabel</class>
<name>label268</name> <name>label268</name>
<label>Type</label> <label>Title</label>
<justify>GTK_JUSTIFY_CENTER</justify> <justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap> <wrap>False</wrap>
<xalign>1</xalign> <xalign>1</xalign>
@ -1729,7 +1729,7 @@
<widget> <widget>
<class>GtkLabel</class> <class>GtkLabel</class>
<name>name_type</name> <name>alt_title</name>
<label></label> <label></label>
<justify>GTK_JUSTIFY_CENTER</justify> <justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap> <wrap>False</wrap>
@ -1752,6 +1752,84 @@
<yfill>False</yfill> <yfill>False</yfill>
</child> </child>
</widget> </widget>
<widget>
<class>GtkLabel</class>
<name>label271</name>
<label>Type</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>1</xalign>
<yalign>0.5</yalign>
<xpad>5</xpad>
<ypad>3</ypad>
<child>
<left_attach>0</left_attach>
<right_attach>1</right_attach>
<top_attach>4</top_attach>
<bottom_attach>5</bottom_attach>
<xpad>0</xpad>
<ypad>0</ypad>
<xexpand>False</xexpand>
<yexpand>False</yexpand>
<xshrink>False</xshrink>
<yshrink>False</yshrink>
<xfill>True</xfill>
<yfill>False</yfill>
</child>
</widget>
<widget>
<class>GtkLabel</class>
<name>label272</name>
<label>:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>3</ypad>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
<top_attach>4</top_attach>
<bottom_attach>5</bottom_attach>
<xpad>0</xpad>
<ypad>0</ypad>
<xexpand>False</xexpand>
<yexpand>False</yexpand>
<xshrink>False</xshrink>
<yshrink>False</yshrink>
<xfill>True</xfill>
<yfill>False</yfill>
</child>
</widget>
<widget>
<class>GtkLabel</class>
<name>name_type</name>
<label></label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
<child>
<left_attach>2</left_attach>
<right_attach>3</right_attach>
<top_attach>4</top_attach>
<bottom_attach>5</bottom_attach>
<xpad>3</xpad>
<ypad>3</ypad>
<xexpand>False</xexpand>
<yexpand>False</yexpand>
<xshrink>False</xshrink>
<yshrink>False</yshrink>
<xfill>True</xfill>
<yfill>False</yfill>
</child>
</widget>
</widget> </widget>
</widget> </widget>
@ -5509,7 +5587,7 @@
<widget> <widget>
<class>GtkTable</class> <class>GtkTable</class>
<name>table23</name> <name>table23</name>
<rows>6</rows> <rows>7</rows>
<columns>2</columns> <columns>2</columns>
<homogeneous>False</homogeneous> <homogeneous>False</homogeneous>
<row_spacing>0</row_spacing> <row_spacing>0</row_spacing>
@ -5584,8 +5662,8 @@
<child> <child>
<left_attach>1</left_attach> <left_attach>1</left_attach>
<right_attach>2</right_attach> <right_attach>2</right_attach>
<top_attach>5</top_attach> <top_attach>6</top_attach>
<bottom_attach>6</bottom_attach> <bottom_attach>7</bottom_attach>
<xpad>3</xpad> <xpad>3</xpad>
<ypad>3</ypad> <ypad>3</ypad>
<xexpand>False</xexpand> <xexpand>False</xexpand>
@ -5618,8 +5696,8 @@
<child> <child>
<left_attach>0</left_attach> <left_attach>0</left_attach>
<right_attach>1</right_attach> <right_attach>1</right_attach>
<top_attach>5</top_attach> <top_attach>6</top_attach>
<bottom_attach>6</bottom_attach> <bottom_attach>7</bottom_attach>
<xpad>0</xpad> <xpad>0</xpad>
<ypad>0</ypad> <ypad>0</ypad>
<xexpand>False</xexpand> <xexpand>False</xexpand>
@ -5639,8 +5717,8 @@
<child> <child>
<left_attach>1</left_attach> <left_attach>1</left_attach>
<right_attach>2</right_attach> <right_attach>2</right_attach>
<top_attach>4</top_attach> <top_attach>5</top_attach>
<bottom_attach>5</bottom_attach> <bottom_attach>6</bottom_attach>
<xpad>0</xpad> <xpad>0</xpad>
<ypad>0</ypad> <ypad>0</ypad>
<xexpand>False</xexpand> <xexpand>False</xexpand>
@ -5817,8 +5895,8 @@
<child> <child>
<left_attach>0</left_attach> <left_attach>0</left_attach>
<right_attach>1</right_attach> <right_attach>1</right_attach>
<top_attach>3</top_attach> <top_attach>4</top_attach>
<bottom_attach>4</bottom_attach> <bottom_attach>5</bottom_attach>
<xpad>0</xpad> <xpad>0</xpad>
<ypad>0</ypad> <ypad>0</ypad>
<xexpand>False</xexpand> <xexpand>False</xexpand>
@ -5844,8 +5922,8 @@
<child> <child>
<left_attach>1</left_attach> <left_attach>1</left_attach>
<right_attach>2</right_attach> <right_attach>2</right_attach>
<top_attach>3</top_attach> <top_attach>4</top_attach>
<bottom_attach>4</bottom_attach> <bottom_attach>5</bottom_attach>
<xpad>3</xpad> <xpad>3</xpad>
<ypad>3</ypad> <ypad>3</ypad>
<xexpand>True</xexpand> <xexpand>True</xexpand>
@ -5867,6 +5945,56 @@
<text></text> <text></text>
</widget> </widget>
</widget> </widget>
<widget>
<class>GtkLabel</class>
<name>label270</name>
<label>Title</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>1</xalign>
<yalign>0.5</yalign>
<xpad>5</xpad>
<ypad>8</ypad>
<child>
<left_attach>0</left_attach>
<right_attach>1</right_attach>
<top_attach>3</top_attach>
<bottom_attach>4</bottom_attach>
<xpad>0</xpad>
<ypad>0</ypad>
<xexpand>False</xexpand>
<yexpand>False</yexpand>
<xshrink>False</xshrink>
<yshrink>False</yshrink>
<xfill>True</xfill>
<yfill>False</yfill>
</child>
</widget>
<widget>
<class>GtkEntry</class>
<name>alt_title</name>
<can_focus>True</can_focus>
<editable>True</editable>
<text_visible>True</text_visible>
<text_max_length>0</text_max_length>
<text></text>
<child>
<left_attach>1</left_attach>
<right_attach>2</right_attach>
<top_attach>3</top_attach>
<bottom_attach>4</bottom_attach>
<xpad>3</xpad>
<ypad>3</ypad>
<xexpand>True</xexpand>
<yexpand>False</yexpand>
<xshrink>False</xshrink>
<yshrink>False</yshrink>
<xfill>True</xfill>
<yfill>False</yfill>
</child>
</widget>
</widget> </widget>
</widget> </widget>
</widget> </widget>

View File

@ -173,6 +173,7 @@ class EditPerson:
self.name_frame = self.get_widget("name_frame") self.name_frame = self.get_widget("name_frame")
self.alt_given_field = self.get_widget("alt_given") self.alt_given_field = self.get_widget("alt_given")
self.alt_last_field = self.get_widget("alt_last") 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.alt_suffix_field = self.get_widget("alt_suffix")
self.name_type_field = self.get_widget("name_type") self.name_type_field = self.get_widget("name_type")
self.surname_field = self.get_widget("surname") self.surname_field = self.get_widget("surname")
@ -184,7 +185,7 @@ class EditPerson:
self.bdate = self.get_widget("birthDate") self.bdate = self.get_widget("birthDate")
self.bplace = self.get_widget("birthPlace") self.bplace = self.get_widget("birthPlace")
self.bpcombo = self.get_widget("bpcombo") 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.sncombo = self.get_widget("sncombo")
self.ddate = self.get_widget("deathDate") self.ddate = self.get_widget("deathDate")
self.dplace = self.get_widget("deathPlace") self.dplace = self.get_widget("deathPlace")
@ -223,8 +224,7 @@ class EditPerson:
self.window.editable_enters(self.dplace); self.window.editable_enters(self.dplace);
self.autoplace = AutoComp.AutoCombo(self.bpcombo,self.pmap.keys()) self.autoplace = AutoComp.AutoCombo(self.bpcombo,self.pmap.keys())
self.autodeath = AutoComp.AutoCombo(self.dpcombo,self.pmap.keys(),self.autoplace)
AutoComp.AutoCombo(self.dpcombo,self.pmap.keys(),self.autoplace)
self.comp = AutoComp.AutoCombo(self.sncombo,const.surnames) self.comp = AutoComp.AutoCombo(self.sncombo,const.surnames)
self.gid.set_text(person.getId()) self.gid.set_text(person.getId())
@ -258,12 +258,12 @@ class EditPerson:
self.get_widget("lds_tab").show() self.get_widget("lds_tab").show()
self.get_widget("lds_page").show() self.get_widget("lds_page").show()
self.write_primary_name()
types = const.NameTypesMap.keys() types = const.NameTypesMap.keys()
types.sort() types.sort()
self.ntype_field.set_popdown_strings(types) self.ntype_field.set_popdown_strings(types)
self.autotype = AutoComp.AutoEntry(self.ntype_field.entry,types) self.autotype = AutoComp.AutoEntry(self.ntype_field.entry,types)
self.write_primary_name()
if person.getGender() == Person.male: if person.getGender() == Person.male:
self.is_male.set_active(1) self.is_male.set_active(1)
@ -975,6 +975,7 @@ class EditPerson:
name = obj.get_row_data(row) name = obj.get_row_data(row)
self.name_frame.set_label(name.getName()) self.name_frame.set_label(name.getName())
self.alt_given_field.set_text(name.getFirstName()) 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_last_field.set_text(name.getSurname())
self.alt_suffix_field.set_text(name.getSuffix()) self.alt_suffix_field.set_text(name.getSuffix())
self.name_type_field.set_text(name.getType()) self.name_type_field.set_text(name.getType())
@ -1351,6 +1352,7 @@ class EditPerson:
self.nlist.append(old) self.nlist.append(old)
self.redraw_name_list() self.redraw_name_list()
self.pname = Name(new) self.pname = Name(new)
self.lists_changed = 1
self.write_primary_name() self.write_primary_name()
def write_primary_name(self): def write_primary_name(self):

View File

@ -51,6 +51,7 @@ class NameEditor:
self.top = libglade.GladeXML(const.editPersonFile, "name_edit") self.top = libglade.GladeXML(const.editPersonFile, "name_edit")
self.window = self.top.get_widget("name_edit") self.window = self.top.get_widget("name_edit")
self.given_field = self.top.get_widget("alt_given") 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.surname_field = self.top.get_widget("alt_last")
self.suffix_field = self.top.get_widget("alt_suffix") self.suffix_field = self.top.get_widget("alt_suffix")
self.type_field = self.top.get_widget("name_type") 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.given_field)
self.window.editable_enters(self.surname_field) self.window.editable_enters(self.surname_field)
self.window.editable_enters(self.suffix_field) self.window.editable_enters(self.suffix_field)
self.window.editable_enters(self.title_field)
self.window.editable_enters(self.type_field.entry) self.window.editable_enters(self.type_field.entry)
if name != None: if name != None:
self.given_field.set_text(name.getFirstName()) self.given_field.set_text(name.getFirstName())
self.surname_field.set_text(name.getSurname()) self.surname_field.set_text(name.getSurname())
self.title_field.set_text(name.getTitle())
self.suffix_field.set_text(name.getSuffix()) self.suffix_field.set_text(name.getSuffix())
self.type_field.entry.set_text(_(name.getType())) self.type_field.entry.set_text(_(name.getType()))
self.priv.set_active(name.getPrivacy()) self.priv.set_active(name.getPrivacy())
@ -104,6 +107,7 @@ class NameEditor:
def on_name_edit_ok_clicked(self,obj): def on_name_edit_ok_clicked(self,obj):
first = self.given_field.get_text() first = self.given_field.get_text()
last = self.surname_field.get_text() last = self.surname_field.get_text()
title = self.title_field.get_text()
suffix = self.suffix_field.get_text() suffix = self.suffix_field.get_text()
note = self.note_field.get_chars(0,-1) note = self.note_field.get_chars(0,-1)
priv = self.priv.get_active() priv = self.priv.get_active()
@ -120,13 +124,13 @@ class NameEditor:
self.name.setSourceRefList(self.srcreflist) self.name.setSourceRefList(self.srcreflist)
self.parent.nlist.append(self.name) 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.lists_changed = 1
self.parent.redraw_name_list() self.parent.redraw_name_list()
Utils.destroy_passed_object(obj) 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: if self.name.getFirstName() != first:
self.name.setFirstName(first) self.name.setFirstName(first)
@ -143,6 +147,10 @@ class NameEditor:
self.name.setSuffix(suffix) self.name.setSuffix(suffix)
self.parent.lists_changed = 1 self.parent.lists_changed = 1
if self.name.getTitle() != title:
self.name.setTitle(title)
self.parent.lists_changed = 1
if self.name.getType() != type: if self.name.getType() != type:
self.name.setType(type) self.name.setType(type)
self.parent.lists_changed = 1 self.parent.lists_changed = 1

View File

@ -260,9 +260,9 @@ class PdfDoc(TextDoc):
self.col = self.col + self.span 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) img = ImgManip.ImgManip(name)
nx,ny = img.size() x,y = img.size()
ratio = float(x_cm)*float(y)/(float(y_cm)*float(x)) ratio = float(x_cm)*float(y)/(float(y_cm)*float(x))

View File

@ -307,56 +307,85 @@ def report(database,person):
#------------------------------------------------------------------------ #------------------------------------------------------------------------
def get_xpm_image(): def get_xpm_image():
return [ return [
"48 48 4 1", "48 48 33 1",
" c None", " c None",
". c #FFFFFF", ". c #1A1A1A",
"+ c #C0C0C0", "+ c #847B6E",
"@ c #000000", "@ 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 ",
" ", " ",
" ", " ",
" "] " "]

View File

@ -208,56 +208,85 @@ def report(database,person):
#------------------------------------------------------------------------ #------------------------------------------------------------------------
def get_xpm_image(): def get_xpm_image():
return [ return [
"48 48 4 1", "48 48 33 1",
" c None", " c None",
". c #FFFFFF", ". c #1A1A1A",
"+ c #C0C0C0", "+ c #6A665E",
"@ c #000000", "@ 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 ",
" +................................+ ", " &<!!!!!!!!!!!!!!!!!!33!3>>]=~<;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 ",
" ", " ",
" ", " ",
" "] " "]

View File

@ -541,56 +541,84 @@ def report(database,person):
#------------------------------------------------------------------------ #------------------------------------------------------------------------
def get_xpm_image(): def get_xpm_image():
return [ return [
"48 48 4 1", "48 48 32 1",
" c None", " c None",
". c #FFFFFF", ". c #968977",
"+ c #C0C0C0", "+ c #847B6E",
"@ c #000000", "@ 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|||||||^ ",
" ++++++++++++++++++++++++++++++++++ ", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ",
" ", " ",
" ", " ",
" "] " "]

View File

@ -446,6 +446,96 @@ class FamilyGroupDialog(TextReportDialog):
def report(database,person): def report(database,person):
FamilyGroupDialog(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**[%%</1])} ",
" +#!!!!!!!!!!!!!4422******%%<1/|} ",
" +#!!!!!!!!!!!!!!4,*,**2***%<1/)} ",
" 3#!!!!@@@@@~,442,*,*,2**,,[<1/)} ",
" +#!!!!!!4!!444444**[%%%%%%<<1>~} ",
" 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"), _("Family Group Report"),
category=_("Text Reports"), category=_("Text Reports"),
status=(_("Beta")), 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()
) )

View File

@ -418,6 +418,96 @@ class IndivSummaryDialog(TextReportDialog):
def report(database,person): def report(database,person):
IndivSummaryDialog(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>>>>>>>>!. ",
" ,@##@<#<<#@<<<<<<<<<<!<!!:!!!!!. ",
" ................................ ",
" ",
" ",
" "]
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# #
# #
@ -430,7 +520,8 @@ register_report(
_("Individual Summary"), _("Individual Summary"),
status=(_("Beta")), status=(_("Beta")),
category=_("Text Reports"), category=_("Text Reports"),
description=_("Produces a detailed report on the selected person.") description=_("Produces a detailed report on the selected person."),
xpm=get_xpm_image()
) )

View File

@ -1,4 +1,4 @@
#
# Gramps - a GTK+/GNOME based genealogy program # Gramps - a GTK+/GNOME based genealogy program
# #
# Copyright (C) 2000 Donald N. Allingham # Copyright (C) 2000 Donald N. Allingham
@ -1056,6 +1056,97 @@ class WebReportDialog(ReportDialog):
def report(database,person): def report(database,person):
WebReportDialog(database,person) WebReportDialog(database,person)
#------------------------------------------------------------------------
#
#
#
#------------------------------------------------------------------------
def get_xpm_image():
return [
"48 48 33 1",
" c None",
". c #191B1E",
"+ c #746F5F",
"@ c #6EA2C9",
"# c #F2E8DA",
"$ c #B4A766",
"% c #2F383A",
"& c #9F8F53",
"* c #BBB774",
"= c #6E614B",
"- c #506E8C",
"; c #2B559A",
"> 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</!3]% ",
" 1!///////////////////3[//{3]% ",
" )[<<33<3#////////////!4///(3)% ",
" ::';__]}-)+[//////////!1(#//{3): ",
" =$$&1$<<_}}::2!#///////{-:::'-]]': ",
" :)&^^^^**<__};-:~-(////////{!331]]:% ",
" ~=|^^>>>$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"), _("Generate Web Site"),
category=_("Web Page"), category=_("Web Page"),
status=(_("Beta")), 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()
) )