* src/BaseDoc.py: Support space above/below paragraph.
* src/StyleEditor.py: Support space above/below paragraph. * src/gramps.glade: Support space above/below paragraph. svn: r5384
This commit is contained in:
parent
aaaed40342
commit
3a107558ee
@ -4,6 +4,9 @@
|
||||
|
||||
2005-11-09 Alex Roitman <shura@gramps-project.org>
|
||||
* src/docgen/LPRDoc.py: Use paragraph padding correctly.
|
||||
* src/BaseDoc.py: Support space above/below paragraph.
|
||||
* src/StyleEditor.py: Support space above/below paragraph.
|
||||
* src/gramps.glade: Support space above/below paragraph.
|
||||
|
||||
2005-11-09 Martin Hawlisch <Martin.Hawlisch@gmx.de>
|
||||
* src/DbPrompter.py (DbPrompter): Use Combo to list multiple rcecent files
|
||||
|
@ -499,8 +499,8 @@ class ParagraphStyle:
|
||||
"""
|
||||
Defines the characteristics of a paragraph. The characteristics are:
|
||||
font (a FontStyle instance), right margin, left margin, first indent,
|
||||
alignment, level, top border, bottom border, right border, left
|
||||
border, padding, and background color.
|
||||
top margin, bottom margin, alignment, level, top border, bottom border,
|
||||
right border, left border, padding, and background color.
|
||||
|
||||
"""
|
||||
def __init__(self,source=None):
|
||||
@ -513,6 +513,8 @@ class ParagraphStyle:
|
||||
self.rmargin = source.rmargin
|
||||
self.lmargin = source.lmargin
|
||||
self.first_indent = source.first_indent
|
||||
self.tmargin = source.tmargin
|
||||
self.bmargin = source.bmargin
|
||||
self.align = source.align
|
||||
self.level = source.level
|
||||
self.top_border = source.top_border
|
||||
@ -526,6 +528,8 @@ class ParagraphStyle:
|
||||
self.font = FontStyle()
|
||||
self.rmargin = 0
|
||||
self.lmargin = 0
|
||||
self.tmargin = 0
|
||||
self.bmargin = 0
|
||||
self.first_indent = 0
|
||||
self.align = PARA_ALIGN_LEFT
|
||||
self.level = 0
|
||||
@ -543,17 +547,19 @@ class ParagraphStyle:
|
||||
def get_description(self):
|
||||
return self.description
|
||||
|
||||
def set(self,rmargin=None,lmargin=None,first_indent=None,align=None,
|
||||
def set(self,rmargin=None,lmargin=None,first_indent=None,
|
||||
tmargin=None,bmargin=None,align=None,
|
||||
tborder=None,bborder=None,rborder=None,lborder=None,pad=None,
|
||||
bgcolor=None,font=None):
|
||||
"""
|
||||
Allows the values of the object to be set.
|
||||
|
||||
@param rmargin: right margin in centimeters
|
||||
@param lmargin: left margin in centimeters
|
||||
@param rmargin: right indent in centimeters
|
||||
@param lmargin: left indent in centimeters
|
||||
@param first_indent: first line indent in centimeters
|
||||
align - alignment type (PARA_ALIGN_LEFT, PARA_ALIGN_RIGHT,
|
||||
PARA_ALIGN_CENTER, or PARA_ALIGN_JUSTIFY)
|
||||
@param tmargin: space above paragraph in centimeters
|
||||
@param bmargin: space below paragraph in centimeters
|
||||
@param align: alignment type (PARA_ALIGN_LEFT, PARA_ALIGN_RIGHT, PARA_ALIGN_CENTER, or PARA_ALIGN_JUSTIFY)
|
||||
@param tborder: non zero indicates that a top border should be used
|
||||
@param bborder: non zero indicates that a bottom border should be used
|
||||
@param rborder: non zero indicates that a right border should be used
|
||||
@ -584,6 +590,10 @@ class ParagraphStyle:
|
||||
self.set_left_margin(lmargin)
|
||||
if first_indent != None:
|
||||
self.set_first_indent(first_indent)
|
||||
if tmargin != None:
|
||||
self.set_top_margin(tmargin)
|
||||
if bmargin != None:
|
||||
self.set_bottom_margin(bmargin)
|
||||
|
||||
def set_header_level(self,level):
|
||||
"""
|
||||
@ -719,29 +729,45 @@ class ParagraphStyle:
|
||||
return "unknown"
|
||||
|
||||
def set_left_margin(self,value):
|
||||
"sets the left paragraph margin in centimeters"
|
||||
"sets the left indent in centimeters"
|
||||
self.lmargin = value
|
||||
|
||||
def set_right_margin(self,value):
|
||||
"sets the right paragraph margin in centimeters"
|
||||
"sets the right indent in centimeters"
|
||||
self.rmargin = value
|
||||
|
||||
def set_first_indent(self,value):
|
||||
"sets the first indent margin in centimeters"
|
||||
"sets the first line indent in centimeters"
|
||||
self.first_indent = value
|
||||
|
||||
def set_top_margin(self,value):
|
||||
"sets the space above paragraph in centimeters"
|
||||
self.tmargin = value
|
||||
|
||||
def set_bottom_margin(self,value):
|
||||
"sets the space below paragraph in centimeters"
|
||||
self.bmargin = value
|
||||
|
||||
def get_left_margin(self):
|
||||
"returns the left margin in centimeters"
|
||||
"returns the left indent in centimeters"
|
||||
return self.lmargin
|
||||
|
||||
def get_right_margin(self):
|
||||
"returns the right margin in centimeters"
|
||||
"returns the right indent in centimeters"
|
||||
return self.rmargin
|
||||
|
||||
def get_first_indent(self):
|
||||
"returns the first indent margin in centimeters"
|
||||
"returns the first line indent in centimeters"
|
||||
return self.first_indent
|
||||
|
||||
def get_top_margin(self):
|
||||
"returns the space above paragraph in centimeters"
|
||||
return self.tmargin
|
||||
|
||||
def get_bottom_margin(self):
|
||||
"returns the space below paragraph in centimeters"
|
||||
return self.bmargin
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
#
|
||||
# StyleSheetList
|
||||
@ -832,10 +858,14 @@ class StyleSheetList:
|
||||
rm = float(p.get_right_margin())
|
||||
lm = float(p.get_left_margin())
|
||||
fi = float(p.get_first_indent())
|
||||
tm = float(p.get_top_margin())
|
||||
bm = float(p.get_bottom_margin())
|
||||
pa = float(p.get_padding())
|
||||
f.write('rmargin="%s" ' % Utils.gformat(rm))
|
||||
f.write('lmargin="%s" ' % Utils.gformat(lm))
|
||||
f.write('first="%s" ' % Utils.gformat(fi))
|
||||
f.write('tmargin="%s" ' % Utils.gformat(tm))
|
||||
f.write('bmargin="%s" ' % Utils.gformat(bm))
|
||||
f.write('pad="%s" ' % Utils.gformat(pa))
|
||||
f.write('bgcolor="#%02x%02x%02x" ' % p.get_background_color())
|
||||
f.write('level="%d" ' % p.get_header_level())
|
||||
@ -963,6 +993,8 @@ class SheetParser(handler.ContentHandler):
|
||||
self.p.set_right_margin(Utils.gfloat(attrs['rmargin']))
|
||||
self.p.set_left_margin(Utils.gfloat(attrs['lmargin']))
|
||||
self.p.set_first_indent(Utils.gfloat(attrs['first']))
|
||||
self.p.set_top_margin(Utils.gfloat(attrs['tmargin']))
|
||||
self.p.set_bottom_margin(Utils.gfloat(attrs['bmargin']))
|
||||
self.p.set_padding(Utils.gfloat(attrs['pad']))
|
||||
self.p.set_alignment(int(attrs['align']))
|
||||
self.p.set_right_border(int(attrs['rborder']))
|
||||
|
@ -27,6 +27,13 @@ Paragraph/Font style editor
|
||||
__author__ = "Donald N. Allingham"
|
||||
__version__ = "$Revision$"
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
#
|
||||
# Python modules
|
||||
#
|
||||
#------------------------------------------------------------------------
|
||||
from gettext import gettext as _
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
#
|
||||
# GNOME/GTK modules
|
||||
@ -43,9 +50,12 @@ import Utils
|
||||
import const
|
||||
import BaseDoc
|
||||
import ListModel
|
||||
import locale
|
||||
from gettext import gettext as _
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
#
|
||||
# StyleList class
|
||||
#
|
||||
#------------------------------------------------------------------------
|
||||
class StyleListDisplay:
|
||||
"""
|
||||
Shows the available paragraph/font styles. Allows the user to select,
|
||||
@ -129,8 +139,8 @@ class StyleListDisplay:
|
||||
|
||||
def on_edit_clicked(self,obj):
|
||||
"""
|
||||
Called with the EDIT button is clicked. Calls the StyleEditor to edit the
|
||||
selected style.
|
||||
Called with the EDIT button is clicked.
|
||||
Calls the StyleEditor to edit the selected style.
|
||||
"""
|
||||
store,node = self.list.selection.get_selected()
|
||||
if not node:
|
||||
@ -149,10 +159,15 @@ class StyleListDisplay:
|
||||
self.sheetlist.delete_style_sheet(name)
|
||||
self.redraw()
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
#
|
||||
# StyleEditor class
|
||||
#
|
||||
#------------------------------------------------------------------------
|
||||
class StyleEditor:
|
||||
"""
|
||||
Edits the current style definition. Presents a dialog allowing the values of
|
||||
the paragraphs in the style to be altered.
|
||||
Edits the current style definition. Presents a dialog allowing the values
|
||||
of the paragraphs in the style to be altered.
|
||||
"""
|
||||
|
||||
def __init__(self,name,style,parent):
|
||||
@ -227,10 +242,12 @@ class StyleEditor:
|
||||
self.top.get_widget("calign").set_active(1)
|
||||
else:
|
||||
self.top.get_widget("jalign").set_active(1)
|
||||
self.top.get_widget("rmargin").set_text(locale.str(p.get_right_margin()))
|
||||
self.top.get_widget("lmargin").set_text(locale.str(p.get_left_margin()))
|
||||
self.top.get_widget("pad").set_text(locale.str(p.get_padding()))
|
||||
self.top.get_widget("indent").set_text(locale.str(p.get_first_indent()))
|
||||
self.top.get_widget("rmargin").set_value(p.get_right_margin())
|
||||
self.top.get_widget("lmargin").set_value(p.get_left_margin())
|
||||
self.top.get_widget("pad").set_value(p.get_padding())
|
||||
self.top.get_widget("tmargin").set_value(p.get_top_margin())
|
||||
self.top.get_widget("bmargin").set_value(p.get_bottom_margin())
|
||||
self.top.get_widget("indent").set_value(p.get_first_indent())
|
||||
self.top.get_widget("tborder").set_active(p.get_top_border())
|
||||
self.top.get_widget("lborder").set_active(p.get_left_border())
|
||||
self.top.get_widget("rborder").set_active(p.get_right_border())
|
||||
@ -255,7 +272,7 @@ class StyleEditor:
|
||||
"""Saves the current paragraph displayed on the dialog"""
|
||||
|
||||
font = p.get_font()
|
||||
font.set_size(int(self.top.get_widget("size").get_value()))
|
||||
font.set_size(self.top.get_widget("size").get_value_as_int())
|
||||
|
||||
if self.top.get_widget("roman").get_active():
|
||||
font.set_type_face(BaseDoc.FONT_SERIF)
|
||||
@ -274,10 +291,12 @@ class StyleEditor:
|
||||
else:
|
||||
p.set_alignment(BaseDoc.PARA_ALIGN_JUSTIFY)
|
||||
|
||||
p.set_right_margin(Utils.gfloat(self.top.get_widget("rmargin").get_text()))
|
||||
p.set_left_margin(Utils.gfloat(self.top.get_widget("lmargin").get_text()))
|
||||
p.set_padding(Utils.gfloat(self.top.get_widget("pad").get_text()))
|
||||
p.set_first_indent(Utils.gfloat(self.top.get_widget("indent").get_text()))
|
||||
p.set_right_margin(self.top.get_widget("rmargin").get_value())
|
||||
p.set_left_margin(self.top.get_widget("lmargin").get_value())
|
||||
p.set_top_margin(self.top.get_widget("tmargin").get_value())
|
||||
p.set_bottom_margin(self.top.get_widget("bmargin").get_value())
|
||||
p.set_padding(self.top.get_widget("pad").get_value())
|
||||
p.set_first_indent(self.top.get_widget("indent").get_value())
|
||||
p.set_top_border(self.top.get_widget("tborder").get_active())
|
||||
p.set_left_border(self.top.get_widget("lborder").get_active())
|
||||
p.set_right_border(self.top.get_widget("rborder").get_active())
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user