Paragraph editor enhancements - styles have descriptions

svn: r1332
This commit is contained in:
Don Allingham 2003-03-08 05:03:18 +00:00
parent 4a3ebaa53e
commit cea94cbae5
8 changed files with 360 additions and 183 deletions

View File

@ -423,7 +423,7 @@ class FamilyView:
i = 0
fiter = None
child_list = list(family.getChildList())
child_list.sort(sort.by_birthdate)
# child_list.sort(sort.by_birthdate)
self.child_map = {}
@ -573,25 +573,28 @@ class FamilyView:
exec 'data = %s' % sel_data.data
exec 'mytype = "%s"' % data[0]
exec 'person = "%s"' % data[1]
if mytype != 'child':
return
s,i = self.child_selection.get_selected()
if not i:
return
spath = s.get_path(i)
src = spath[0]
list = self.family.getChildList()
obj = list[src]
list.remove(obj)
list.insert(row,obj)
if (birth_dates_in_order(list) == 0):
WarningDialog(_("Attempt to Reorder Children Failed"),
_("Children must be ordered by their birth dates."))
return
self.family.setChildList(list)
self.load_family()
self.display_marriage(self.family)
Utils.modified()
def drag_data_get(self,widget, context, sel_data, info, time):
@ -601,8 +604,7 @@ class FamilyView:
id = self.child_model.get_value(iter,2)
person = self.parent.db.getPerson(id)
bits_per = 8; # we're going to pass a string
pickled = pickle.dumps(person);
data = str(('child',id,pickled));
data = str(('child',id));
sel_data.set(sel_data.target, bits_per, data)
def drag_begin(self, context, a):

View File

@ -1660,7 +1660,7 @@ class Family(Persistent):
def setChildList(self, list):
"""sets the list of children"""
self.Children = list
self.Children = list[:]
def getMarriage(self):
"""returns the marriage event of the Family. Obsolete"""

View File

@ -93,41 +93,27 @@ class Report:
# Ordinal generation names. Used by multiple reports.
gen = {
1 : _("First"),
2 : _("Second"),
3 : _("Third"),
4 : _("Fourth"),
5 : _("Fifth"),
6 : _("Sixth"),
7 : _("Seventh"),
8 : _("Eighth"),
9 : _("Ninth"),
10: _("Tenth"),
11: _("Eleventh"),
12: _("Twelfth"),
13: _("Thirteenth"),
14: _("Fourteenth"),
15: _("Fifteenth"),
16: _("Sixteenth"),
17: _("Seventeenth"),
18: _("Eighteenth"),
19: _("Nineteenth"),
20: _("Twentieth"),
21: _("Twenty-first"),
22: _("Twenty-second"),
23: _("Twenty-third"),
24: _("Twenty-fourth"),
25: _("Twenty-fifth"),
26: _("Twenty-sixth"),
27: _("Twenty-seventh"),
28: _("Twenty-eighth"),
1 : _("First"), 2 : _("Second"),
3 : _("Third"), 4 : _("Fourth"),
5 : _("Fifth"), 6 : _("Sixth"),
7 : _("Seventh"), 8 : _("Eighth"),
9 : _("Ninth"), 10: _("Tenth"),
11: _("Eleventh"), 12: _("Twelfth"),
13: _("Thirteenth"), 14: _("Fourteenth"),
15: _("Fifteenth"), 16: _("Sixteenth"),
17: _("Seventeenth"), 18: _("Eighteenth"),
19: _("Nineteenth"), 20: _("Twentieth"),
21: _("Twenty-first"), 22: _("Twenty-second"),
23: _("Twenty-third"), 24: _("Twenty-fourth"),
25: _("Twenty-fifth"), 26: _("Twenty-sixth"),
27: _("Twenty-seventh"), 28: _("Twenty-eighth"),
29: _("Twenty-ninth")
}
def get_progressbar_data(self):
"""The window title for this dialog, and the header line to
put at the top of the contents of the dialog box."""
return (_("Progress Report - GRAMPS"), _("Working"))
return ("%s - GRAMPS" % _("Progress Report"), _("Working"))
def progress_bar_setup(self,total):
"""Create a progress dialog. This routine calls a
@ -158,7 +144,11 @@ class Report:
self.pbar_index = self.pbar_index + 1.0
if (self.pbar_index > self.pbar_max):
self.pbar_index = self.pbar_max
self.pbar.set_fraction(self.pbar_index/100.0)
val = self.pbar_index/self.pbar_max
self.pbar.set_text("%d of %d (%.1f%%)" % (self.pbar_index,self.pbar_max,(val*100)))
self.pbar.set_fraction(val)
def progress_bar_done(self):
"""Done with the progress bar. It can be destroyed now."""
@ -262,7 +252,7 @@ class ReportDialog:
"""The title of the window that will be created when the user
clicks the 'Browse' button in the 'Save As' File Entry
widget."""
return(_("Save Report As - GRAMPS"))
return("%s - GRAMPS" % _("Save Report As"))
def get_target_is_directory(self):
"""Is the user being asked to input the name of a file or a

View File

@ -171,7 +171,9 @@ class StyleEditor:
})
self.window = self.top.get_widget("editor")
self.pname = self.top.get_widget('pname')
self.pdescription = self.top.get_widget('pdescription')
Utils.set_titles(self.window, self.top.get_widget('title'),_('Style editor'))
self.first = 1
@ -184,14 +186,26 @@ class StyleEditor:
self.top.get_widget('bgcolor').connect('color-set',self.bg_color_set)
self.top.get_widget("style_name").set_text(name)
for p_name in self.style.get_names():
names = self.style.get_names()
names.reverse()
for p_name in names:
self.plist.add([p_name],self.style.get_style(p_name))
self.plist.select_row(0)
def draw(self,p):
def draw(self,name,p):
"""Updates the display with the selected paragraph."""
self.current_p = p
self.pname.set_text('<span size="larger" weight="bold">%s</span>' % name)
self.pname.set_use_markup(gtk.TRUE)
descr = p.get_description()
if descr:
self.pdescription.set_text(descr)
else:
self.pdescription.set_text(_("No description available"))
font = p.get_font()
self.top.get_widget("size").set_value(font.get_size())
if font.get_type_face() == TextDoc.FONT_SANS_SERIF:
@ -284,9 +298,11 @@ class StyleEditor:
old paragraph, then draws the newly selected paragraph"""
objs = self.plist.get_selected_objects()
store,iter = self.plist.get_selected()
name = store.get_value(iter,0)
if self.first == 0:
self.save_paragraph(self.current_p)
else:
self.first = 0
self.current_p = objs[0]
self.draw(self.current_p)
self.draw(name,self.current_p)

View File

@ -1,4 +1,4 @@
#
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2000 Donald N. Allingham
@ -472,6 +472,7 @@ class ParagraphStyle:
self.left_border = source.left_border
self.pad = source.pad
self.bgcolor = source.bgcolor
self.description = source.description
else:
self.font = FontStyle()
self.rmargin = 0
@ -485,6 +486,13 @@ class ParagraphStyle:
self.left_border = 0
self.pad = 0
self.bgcolor = (255,255,255)
self.description = ""
def set_description(self,text):
self.description = text
def get_description(self):
return self.description
def set(self,rmargin=None,lmargin=None,first_indent=None,align=None,
tborder=None,bborder=None,rborder=None,lborder=None,pad=None,

View File

@ -958,90 +958,108 @@ class WebReportDialog(Report.ReportDialog):
font.set(bold=1, face=TextDoc.FONT_SANS_SERIF, size=16)
p = TextDoc.ParagraphStyle()
p.set(align=TextDoc.PARA_ALIGN_CENTER,font=font)
p.set_description(_("The style used for the title of the page."))
self.default_style.add_style("Title",p)
font = TextDoc.FontStyle()
font.set(bold=1,face=TextDoc.FONT_SANS_SERIF,size=12,italic=1)
p = TextDoc.ParagraphStyle()
p.set(font=font,bborder=1)
p.set_description(_("The style used for the header that identifies "
"facts and events."))
self.default_style.add_style("EventsTitle",p)
font = TextDoc.FontStyle()
font.set(bold=1,face=TextDoc.FONT_SANS_SERIF,size=12,italic=1)
p = TextDoc.ParagraphStyle()
p.set(font=font,bborder=1)
p.set_description(_("The style used for the header for the notes section."))
self.default_style.add_style("NotesTitle",p)
font = TextDoc.FontStyle()
font.set(face=TextDoc.FONT_SANS_SERIF,size=10)
p = TextDoc.ParagraphStyle()
p.set(font=font,align=TextDoc.PARA_ALIGN_CENTER)
p.set_description(_("The style used for the copyright notice."))
self.default_style.add_style("Copyright",p)
font = TextDoc.FontStyle()
font.set(bold=1,face=TextDoc.FONT_SANS_SERIF,size=12,italic=1)
p = TextDoc.ParagraphStyle()
p.set(font=font,bborder=1)
p.set_description(_("The style used for the header for the sources section."))
self.default_style.add_style("SourcesTitle",p)
font = TextDoc.FontStyle()
font.set(bold=1,face=TextDoc.FONT_SANS_SERIF,size=14,italic=1)
p = TextDoc.ParagraphStyle()
p.set(font=font)
p.set_description(_("The style used on the index page that labels each section."))
self.default_style.add_style("IndexLabel",p)
font = TextDoc.FontStyle()
font.set(bold=1,face=TextDoc.FONT_SANS_SERIF,size=12,italic=1)
p = TextDoc.ParagraphStyle()
p.set(font=font,bborder=1)
p.set_description(_("The style used for the header for the image section."))
self.default_style.add_style("GalleryTitle",p)
font = TextDoc.FontStyle()
font.set(bold=1,face=TextDoc.FONT_SANS_SERIF,size=12,italic=1)
p = TextDoc.ParagraphStyle()
p.set(font=font,bborder=1)
p.set_description(_("The style used for the header for the marriages "
"and children section."))
self.default_style.add_style("FamilyTitle",p)
font = TextDoc.FontStyle()
font.set(bold=1,face=TextDoc.FONT_SANS_SERIF,size=12)
p = TextDoc.ParagraphStyle()
p.set_font(font)
p.set_description(_("The style used for the spouse's name."))
self.default_style.add_style("Spouse",p)
font = TextDoc.FontStyle()
font.set(size=12,italic=1)
p = TextDoc.ParagraphStyle()
p.set_font(font)
p.set_description(_("The style used for the general data labels."))
self.default_style.add_style("Label",p)
font = TextDoc.FontStyle()
font.set_size(12)
p = TextDoc.ParagraphStyle()
p.set_font(font)
p.set_description(_("The style used for the general data."))
self.default_style.add_style("Data",p)
font = TextDoc.FontStyle()
font.set(bold=1,face=TextDoc.FONT_SANS_SERIF,size=12)
p = TextDoc.ParagraphStyle()
p.set_font(font)
p.set_description(_("The style used for the description of images."))
self.default_style.add_style("PhotoDescription",p)
font = TextDoc.FontStyle()
font.set(size=12)
p = TextDoc.ParagraphStyle()
p.set_font(font)
p.set_description(_("The style used for the notes associated with images."))
self.default_style.add_style("PhotoNote",p)
font = TextDoc.FontStyle()
font.set_size(10)
p = TextDoc.ParagraphStyle()
p.set_font(font)
p.set_description(_("The style used for the source information."))
self.default_style.add_style("SourceParagraph",p)
font = TextDoc.FontStyle()
font.set_size(12)
p = TextDoc.ParagraphStyle()
p.set_font(font)
p.set_description(_("The style used for the note information."))
self.default_style.add_style("NotesParagraph",p)
#------------------------------------------------------------------------

View File

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: GRAMPS VERSION\n"
"POT-Creation-Date: Thu Mar 6 19:16:10 2003\n"
"POT-Creation-Date: Fri Mar 7 21:56:51 2003\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -514,11 +514,11 @@ msgstr ""
msgid "Remove Parents"
msgstr ""
#: FamilyView.py:590
#: FamilyView.py:593
msgid "Attempt to Reorder Children Failed"
msgstr ""
#: FamilyView.py:591
#: FamilyView.py:594
msgid "Children must be ordered by their birth dates."
msgstr ""
@ -1150,226 +1150,226 @@ msgstr ""
msgid "First"
msgstr ""
#: Report.py:97
#: Report.py:96
msgid "Second"
msgstr ""
#: Report.py:98
msgid "Third"
msgstr ""
#: Report.py:99
#: Report.py:97
msgid "Fourth"
msgstr ""
#: Report.py:100
#: Report.py:97
msgid "Third"
msgstr ""
#: Report.py:98
msgid "Fifth"
msgstr ""
#: Report.py:101
#: Report.py:98
msgid "Sixth"
msgstr ""
#: Report.py:102
msgid "Seventh"
msgstr ""
#: Report.py:103
#: Report.py:99
msgid "Eighth"
msgstr ""
#: Report.py:104
#: Report.py:99
msgid "Seventh"
msgstr ""
#: Report.py:100
msgid "Ninth"
msgstr ""
#: Report.py:105
#: Report.py:100
msgid "Tenth"
msgstr ""
#: Report.py:106
#: Report.py:101
msgid "Eleventh"
msgstr ""
#: Report.py:107
#: Report.py:101
msgid "Twelfth"
msgstr ""
#: Report.py:108
msgid "Thirteenth"
msgstr ""
#: Report.py:109
#: Report.py:102
msgid "Fourteenth"
msgstr ""
#: Report.py:110
#: Report.py:102
msgid "Thirteenth"
msgstr ""
#: Report.py:103
msgid "Fifteenth"
msgstr ""
#: Report.py:111
#: Report.py:103
msgid "Sixteenth"
msgstr ""
#: Report.py:112
msgid "Seventeenth"
msgstr ""
#: Report.py:113
#: Report.py:104
msgid "Eighteenth"
msgstr ""
#: Report.py:114
#: Report.py:104
msgid "Seventeenth"
msgstr ""
#: Report.py:105
msgid "Nineteenth"
msgstr ""
#: Report.py:115
#: Report.py:105
msgid "Twentieth"
msgstr ""
#: Report.py:116
#: Report.py:106
msgid "Twenty-first"
msgstr ""
#: Report.py:117
#: Report.py:106
msgid "Twenty-second"
msgstr ""
#: Report.py:118
msgid "Twenty-third"
msgstr ""
#: Report.py:119
#: Report.py:107
msgid "Twenty-fourth"
msgstr ""
#: Report.py:120
#: Report.py:107
msgid "Twenty-third"
msgstr ""
#: Report.py:108
msgid "Twenty-fifth"
msgstr ""
#: Report.py:121
#: Report.py:108
msgid "Twenty-sixth"
msgstr ""
#: Report.py:122
msgid "Twenty-seventh"
msgstr ""
#: Report.py:123
#: Report.py:109
msgid "Twenty-eighth"
msgstr ""
#: Report.py:124
#: Report.py:109
msgid "Twenty-seventh"
msgstr ""
#: Report.py:110
msgid "Twenty-ninth"
msgstr ""
#: Report.py:130
msgid "Progress Report - GRAMPS"
#: Report.py:116
msgid "Progress Report"
msgstr ""
#: Report.py:130
#: Report.py:116
msgid "Working"
msgstr ""
#: Report.py:265
msgid "Save Report As - GRAMPS"
#: Report.py:255
msgid "Save Report As"
msgstr ""
#: Report.py:490
#: Report.py:480
msgid "Document Options"
msgstr ""
#: Report.py:500
#: Report.py:490
msgid "Save As"
msgstr ""
#: Report.py:504
#: Report.py:494
msgid "Directory"
msgstr ""
#: Report.py:506
#: Report.py:496
msgid "Filename"
msgstr ""
#: Report.py:526
#: Report.py:516
msgid "Output Format"
msgstr ""
#: Report.py:540
#: Report.py:530
msgid "Styles"
msgstr ""
#: Report.py:545 StyleEditor.py:80
#: Report.py:535 StyleEditor.py:80
msgid "Style Editor"
msgstr ""
#: Report.py:604 Report.py:606
#: Report.py:594 Report.py:596
msgid "Paper Options"
msgstr ""
#: Report.py:615
#: Report.py:605
msgid "Size"
msgstr ""
#: Report.py:620
#: Report.py:610
msgid "Height"
msgstr ""
#: Report.py:628 Report.py:644 styles.glade:829 styles.glade:853
#: styles.glade:877
#: Report.py:618 Report.py:634 styles.glade:903 styles.glade:927
#: styles.glade:951
msgid "cm"
msgstr ""
#: Report.py:632
#: Report.py:622
msgid "Orientation"
msgstr ""
#: Report.py:636
#: Report.py:626
msgid "Width"
msgstr ""
#: Report.py:656
#: Report.py:646
msgid "Page Count"
msgstr ""
#: Report.py:680 Report.py:685
#: Report.py:670 Report.py:675
msgid "HTML Options"
msgstr ""
#: Report.py:687 plugins/eventcmp.glade:192
#: Report.py:677 plugins/eventcmp.glade:192
msgid "Template"
msgstr ""
#: Report.py:706
#: Report.py:696
msgid "User Template"
msgstr ""
#: Report.py:709
#: Report.py:699
msgid "Choose File"
msgstr ""
#: Report.py:748
#: Report.py:738
msgid "Report Options"
msgstr ""
#: Report.py:766 gramps.glade:245 gramps.glade:976 plugins/FilterEditor.py:70
#: Report.py:756 gramps.glade:245 gramps.glade:976 plugins/FilterEditor.py:70
#: plugins/eventcmp.glade:522 plugins/gedcomexport.glade:157
#: plugins/pafexport.glade:127
msgid "Filter"
msgstr ""
#: Report.py:783
#: Report.py:773
msgid "Generations"
msgstr ""
#: Report.py:790
#: Report.py:780
msgid "Page break between generations"
msgstr ""
#: Report.py:879
#: Report.py:869
msgid "Invalid file name"
msgstr ""
#: Report.py:880
#: Report.py:870
msgid ""
"The filename that you gave is a directory.\n"
"You need to provide a valid filename."
@ -1416,14 +1416,18 @@ msgstr ""
msgid "Error saving stylesheet"
msgstr ""
#: StyleEditor.py:175
#: StyleEditor.py:177
msgid "Style editor"
msgstr ""
#: StyleEditor.py:179
#: StyleEditor.py:181
msgid "Paragraph"
msgstr ""
#: StyleEditor.py:207
msgid "No description available"
msgstr ""
#: Utils.py:176
msgid "Note"
msgstr ""
@ -3340,7 +3344,7 @@ msgstr ""
#: plugins/DetDescendantReport.py:850 plugins/FamilyGroup.py:562
#: plugins/FullFamily.py:171 plugins/GraphViz.py:447
#: plugins/IndivComplete.py:663 plugins/IndivSummary.py:496
#: plugins/Summary.py:146 plugins/TimeLine.py:447 plugins/WebPage.py:1251
#: plugins/Summary.py:146 plugins/TimeLine.py:447 plugins/WebPage.py:1269
msgid "Beta"
msgstr ""
@ -4770,11 +4774,11 @@ msgstr ""
msgid "GRAMPS ID link URL"
msgstr ""
#: plugins/WebPage.py:897 plugins/WebPage.py:1249
#: plugins/WebPage.py:897 plugins/WebPage.py:1267
msgid "Generate Web Site"
msgstr ""
#: plugins/WebPage.py:897 plugins/WebPage.py:1250
#: plugins/WebPage.py:897 plugins/WebPage.py:1268
msgid "Web Page"
msgstr ""
@ -4790,7 +4794,67 @@ msgstr ""
msgid "Descendant Families of %s"
msgstr ""
#: plugins/WebPage.py:1252
#: plugins/WebPage.py:961
msgid "The style used for the title of the page."
msgstr ""
#: plugins/WebPage.py:969
msgid "The style used for the header that identifies facts and events."
msgstr ""
#: plugins/WebPage.py:977
msgid "The style used for the header for the notes section."
msgstr ""
#: plugins/WebPage.py:984
msgid "The style used for the copyright notice."
msgstr ""
#: plugins/WebPage.py:991
msgid "The style used for the header for the sources section."
msgstr ""
#: plugins/WebPage.py:998
msgid "The style used on the index page that labels each section."
msgstr ""
#: plugins/WebPage.py:1005
msgid "The style used for the header for the image section."
msgstr ""
#: plugins/WebPage.py:1012
msgid "The style used for the header for the marriages and children section."
msgstr ""
#: plugins/WebPage.py:1020
msgid "The style used for the spouse's name."
msgstr ""
#: plugins/WebPage.py:1027
msgid "The style used for the general data labels."
msgstr ""
#: plugins/WebPage.py:1034
msgid "The style used for the general data."
msgstr ""
#: plugins/WebPage.py:1041
msgid "The style used for the description of images."
msgstr ""
#: plugins/WebPage.py:1048
msgid "The style used for the notes associated with images."
msgstr ""
#: plugins/WebPage.py:1055
msgid "The style used for the source information."
msgstr ""
#: plugins/WebPage.py:1062
msgid "The style used for the note information."
msgstr ""
#: plugins/WebPage.py:1270
msgid "Generates web (HTML) pages for individuals, or a set of individuals."
msgstr ""
@ -5558,115 +5622,119 @@ msgstr ""
msgid "Style _name:"
msgstr ""
#: styles.glade:401
#: styles.glade:446
msgid "<b>Description</b>"
msgstr ""
#: styles.glade:475
msgid "pt"
msgstr ""
#: styles.glade:428 styles.glade:730
#: styles.glade:502 styles.glade:804
msgid "Pick a color"
msgstr ""
#: styles.glade:466
#: styles.glade:540
msgid "_Bold"
msgstr ""
#: styles.glade:487
#: styles.glade:561
msgid "_Italic"
msgstr ""
#: styles.glade:508
#: styles.glade:582
msgid "_Underline"
msgstr ""
#: styles.glade:528
#: styles.glade:602
msgid "<b>Type face</b>"
msgstr ""
#: styles.glade:552
#: styles.glade:626
msgid "<b>Size</b>"
msgstr ""
#: styles.glade:576
#: styles.glade:650
msgid "<b>Color</b>"
msgstr ""
#: styles.glade:600
#: styles.glade:674
msgid "<b>Options</b>"
msgstr ""
#: styles.glade:650
#: styles.glade:724
msgid "_Roman (Times, serif)"
msgstr ""
#: styles.glade:671
#: styles.glade:745
msgid "_Swiss (Arial, Helvetica, sans-serif)"
msgstr ""
#: styles.glade:698
#: styles.glade:772
msgid "<b>Font options</b>"
msgstr ""
#: styles.glade:745
#: styles.glade:819
msgid "R_ight:"
msgstr ""
#: styles.glade:773
#: styles.glade:847
msgid "L_eft:"
msgstr ""
#: styles.glade:801
#: styles.glade:875
msgid "_Padding:"
msgstr ""
#: styles.glade:965
#: styles.glade:1039
msgid "_Left"
msgstr ""
#: styles.glade:986
#: styles.glade:1060
msgid "Le_ft"
msgstr ""
#: styles.glade:1007
#: styles.glade:1081
msgid "_Right"
msgstr ""
#: styles.glade:1029
#: styles.glade:1103
msgid "_Justify"
msgstr ""
#: styles.glade:1051
#: styles.glade:1125
msgid "_Center"
msgstr ""
#: styles.glade:1073
#: styles.glade:1147
msgid "Ri_ght"
msgstr ""
#: styles.glade:1094
#: styles.glade:1168
msgid "_Bottom"
msgstr ""
#: styles.glade:1115
#: styles.glade:1189
msgid "_Top"
msgstr ""
#: styles.glade:1135
msgid "<b>Alignment</b>"
msgstr ""
#: styles.glade:1158
#: styles.glade:1209
msgid "<b>Background</b>"
msgstr ""
#: styles.glade:1182
#: styles.glade:1233
msgid "<b>Margins</b>"
msgstr ""
#: styles.glade:1206
#: styles.glade:1257
msgid "<b>Borders</b>"
msgstr ""
#: styles.glade:1261
#: styles.glade:1306
msgid "<b>Alignment</b>"
msgstr ""
#: styles.glade:1336
msgid "<b>Paragraph options</b>"
msgstr ""

View File

@ -357,7 +357,7 @@
<child>
<widget class="GtkTreeView" id="ptree">
<property name="width_request">130</property>
<property name="width_request">175</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="headers_visible">True</property>
@ -385,11 +385,85 @@
<property name="tab_vborder">2</property>
<property name="enable_popup">False</property>
<child>
<widget class="GtkVBox" id="vbox3">
<property name="border_width">12</property>
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">12</property>
<child>
<widget class="GtkLabel" id="pname">
<property name="visible">True</property>
<property name="label" translatable="yes"></property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="pdescription">
<property name="visible">True</property>
<property name="label" translatable="yes"></property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">True</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
<packing>
<property name="tab_expand">False</property>
<property name="tab_fill">True</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label25">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Description&lt;/b&gt;</property>
<property name="use_underline">False</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="type">tab</property>
</packing>
</child>
<child>
<widget class="GtkTable" id="table2">
<property name="border_width">12</property>
<property name="visible">True</property>
<property name="n_rows">15</property>
<property name="n_rows">14</property>
<property name="n_columns">5</property>
<property name="homogeneous">False</property>
<property name="row_spacing">6</property>
@ -1129,29 +1203,6 @@
</packing>
</child>
<child>
<widget class="GtkLabel" id="label9">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Alignment&lt;/b&gt;</property>
<property name="use_underline">False</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="left_attach">0</property>
<property name="right_attach">6</property>
<property name="top_attach">0</property>
<property name="bottom_attach">1</property>
<property name="x_options">fill</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label10">
<property name="visible">True</property>
@ -1248,6 +1299,30 @@
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label9">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Alignment&lt;/b&gt;</property>
<property name="use_underline">False</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="left_attach">0</property>
<property name="right_attach">6</property>
<property name="top_attach">0</property>
<property name="bottom_attach">1</property>
<property name="x_options">fill</property>
<property name="y_options">fill</property>
</packing>
</child>
</widget>
<packing>
<property name="tab_expand">False</property>