0002633: Characters in Notes don't show in report - 3.0.4 and trunk

1357: Incorrect marriage event description when outputting to PDF
1328: opened a gedcom, and create a pdf text file
Do it better with a private method so plugin authors don't circumvent
style settings


svn: r11896
This commit is contained in:
Benny Malengier 2009-02-07 10:39:28 +00:00
parent c5d18aa935
commit 00a68636a9

View File

@ -1084,16 +1084,16 @@ class CairoDoc(BaseDoc.BaseDoc, BaseDoc.TextDoc, BaseDoc.DrawDoc):
self._active_element.add_child(GtkDocPagebreak())
def start_bold(self):
self.write_text('<b>', True)
self.__write_text('<b>', markup=True)
def end_bold(self):
self.write_text('</b>', True)
self.__write_text('</b>', markup=True)
def start_superscript(self):
self.write_text('<small><sup>', True)
self.__write_text('<small><sup>', markup=True)
def end_superscript(self):
self.write_text('</sup></small>', True)
self.__write_text('</sup></small>', markup=True)
def start_paragraph(self, style_name, leader=None):
style_sheet = self.get_style_sheet()
@ -1164,19 +1164,30 @@ class CairoDoc(BaseDoc.BaseDoc, BaseDoc.TextDoc, BaseDoc.DrawDoc):
self.write_text(line)
self.end_paragraph()
def write_text(self, text, markup=False):
"""Write a normal piece of text according to the
present style
If markup=False, no markup is present, the
text is escaped in writted
If markup=True, some markup is present, so
caller had to escape the text already
def __write_text(self, text, mark=None, markup=False):
"""
if not markup:
#no pango markup, escape the text as it
#should not have happened yet
@param text: text to write.
@param mark: IndexMark to use for indexing (if supported)
@param markup: True if text already contains markup info.
Then text will no longer be escaped
Private method: reports should not add markup in text to override
the style
"""
if not markup:
# We need to escape the text here for later pango.Layout.set_markup
# calls. This way we save the markup created by the report
# The markup in the note editor is not in the text so is not
# considered. It must be added by pango too
text = escape(text)
self._active_element.add_text(text)
def write_text(self, text, mark=None):
"""Write a normal piece of text according to the
present style
@param text: text to write.
@param mark: IndexMark to use for indexing (if supported)
"""
self. __write_text(text, mark)
def add_media_object(self, name, pos, x_cm, y_cm):
new_image = GtkDocPicture(pos, name, x_cm, y_cm)