0005529: Implement clickable links in reports, at least for odf. Implemented for odf output only, using mark.type LOCAL_HYPERLINK and LOCAL_TARGET.
svn: r18766
This commit is contained in:
parent
abddb6bcf6
commit
1ff2b969c4
@ -35,6 +35,7 @@ from paragraphstyle import ParagraphStyle, PARA_ALIGN_CENTER, PARA_ALIGN_LEFT,\
|
||||
from tablestyle import TableStyle, TableCellStyle
|
||||
from stylesheet import StyleSheetList, StyleSheet, SheetParser
|
||||
from graphicstyle import GraphicsStyle, SOLID, DASHED, DOTTED
|
||||
from textdoc import TextDoc, IndexMark,INDEX_TYPE_ALP, INDEX_TYPE_TOC, URL_PATTERN
|
||||
from textdoc import TextDoc, IndexMark,INDEX_TYPE_ALP, INDEX_TYPE_TOC,\
|
||||
URL_PATTERN, LOCAL_HYPERLINK, LOCAL_TARGET
|
||||
from drawdoc import DrawDoc
|
||||
from graphdoc import GVDoc
|
||||
|
@ -62,6 +62,8 @@ URL_PATTERN = r'''(((https?|mailto):)(//([^ /?#"]*))?([^ ?#"]*)(\?([^ #"]*))?(#(
|
||||
#-------------------------------------------------------------------------
|
||||
INDEX_TYPE_ALP = 0
|
||||
INDEX_TYPE_TOC = 1
|
||||
LOCAL_HYPERLINK = 2
|
||||
LOCAL_TARGET = 3
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
#
|
||||
|
@ -82,7 +82,8 @@ from xml.sax.saxutils import escape
|
||||
from gen.plug.docgen import (BaseDoc, TextDoc, DrawDoc, graphicstyle,
|
||||
FONT_SANS_SERIF, SOLID, PAPER_PORTRAIT,
|
||||
INDEX_TYPE_TOC, PARA_ALIGN_CENTER, PARA_ALIGN_LEFT,
|
||||
INDEX_TYPE_ALP, PARA_ALIGN_RIGHT, URL_PATTERN)
|
||||
INDEX_TYPE_ALP, PARA_ALIGN_RIGHT, URL_PATTERN,
|
||||
LOCAL_HYPERLINK, LOCAL_TARGET)
|
||||
from gen.plug.docgen.fontscale import string_width
|
||||
from libodfbackend import OdfBackend
|
||||
import const
|
||||
@ -1596,6 +1597,16 @@ class ODFDoc(BaseDoc, TextDoc, DrawDoc):
|
||||
'text:string-value="%s" ' % key +
|
||||
'text:outline-level="%d" />' % mark.level
|
||||
)
|
||||
elif mark.type == LOCAL_HYPERLINK:
|
||||
self.cntnt.write(
|
||||
'<text:a xlink:type="simple" xlink:href="%s">' % key)
|
||||
self.cntnt.write(text)
|
||||
self.cntnt.write('</text:a>')
|
||||
return
|
||||
elif mark.type == LOCAL_TARGET:
|
||||
self.cntnt.write(
|
||||
'<text:bookmark text:name="%s"/>' % key)
|
||||
|
||||
self.cntnt.write(text)
|
||||
|
||||
def _write_manifest(self):
|
||||
|
Loading…
x
Reference in New Issue
Block a user