[Libreoffice-commits] .: 2 commits - src/docdraw.py src/msodraw.py
Miklos Vajna
vmiklos at kemper.freedesktop.org
Wed Dec 5 05:32:54 PST 2012
src/docdraw.py | 32 ++------------------------------
src/msodraw.py | 16 +++++++++++++++-
2 files changed, 17 insertions(+), 31 deletions(-)
New commits:
commit 49c31bfee519069e2afab3b10b62e0439255a6ff
Author: Miklos Vajna <vmiklos at suse.cz>
Date: Wed Dec 5 14:32:48 2012 +0100
docdraw: use msodraw.FDG
diff --git a/src/docdraw.py b/src/docdraw.py
index aba4c2c..2c4d5f8 100644
--- a/src/docdraw.py
+++ b/src/docdraw.py
@@ -49,19 +49,6 @@ class OfficeArtDggContainer(DOCDirStream):
assert pos == self.pos + self.rh.recLen
self.officeArtContent.pos = pos
-class OfficeArtFDG(DOCDirStream):
- """The OfficeArtFDG record specifies the number of shapes, the drawing identifier, and the shape identifier of the last shape in a drawing."""
- def __init__(self, officeArtDgContainer, pos):
- DOCDirStream.__init__(self, officeArtDgContainer.bytes)
- self.pos = pos
-
- def dumpXml(self, compat, rh):
- self.rh = rh
- print '<drawingData type="OfficeArtFDG" offset="%d">' % self.pos
- self.printAndSet("csp", self.readuInt32())
- self.printAndSet("spidCur", self.readuInt32())
- print '</drawingData>'
-
class OfficeArtFSPGR(DOCDirStream):
"""The OfficeArtFSPGR record specifies the coordinate system of the group shape that the anchors of the child shape are expressed in."""
def __init__(self, officeArtSpContainer, pos):
@@ -303,7 +290,7 @@ recMap = {
0xf003: [OfficeArtSpgrContainer, True],
0xf004: [OfficeArtSpContainer, True],
0xf006: [msodraw.FDGGBlock],
- 0xf008: [OfficeArtFDG, True],
+ 0xf008: [msodraw.FDG],
0xf009: [OfficeArtFSPGR, True],
0xf00a: [OfficeArtFSP, True],
0xf00b: [OfficeArtFOPT, True],
diff --git a/src/msodraw.py b/src/msodraw.py
index 6c87b17..dd62660 100644
--- a/src/msodraw.py
+++ b/src/msodraw.py
@@ -159,6 +159,12 @@ class FDG:
recHdl.appendLine(" shape count: %d"%self.shapeCount)
recHdl.appendLine(" last shape ID: %d"%self.lastShapeID)
+ def dumpXml(self, recHdl, rh):
+ recHdl.appendLine('<drawingData type="OfficeArtFDG">')
+ recHdl.appendLine('<csp value="%d"/>' % self.shapeCount)
+ recHdl.appendLine('<spidCur value="%d"/>' % self.lastShapeID)
+ recHdl.appendLine('</drawingData>')
+
class IDCL:
def __init__ (self, strm):
commit d867ea88e44d67f7affb81813cdd65104caa1787
Author: Miklos Vajna <vmiklos at suse.cz>
Date: Wed Dec 5 14:25:25 2012 +0100
docdraw: use msodraw.SplitMenuColorContainer
diff --git a/src/docdraw.py b/src/docdraw.py
index 508d2fd..aba4c2c 100644
--- a/src/docdraw.py
+++ b/src/docdraw.py
@@ -11,21 +11,6 @@ from docdirstream import DOCDirStream
import docsprm
import msodraw
-class OfficeArtSplitMenuColorContainer(DOCDirStream):
- """The OfficeArtSplitMenuColorContainer record specifies a container for the colors that were most recently used to format shapes."""
- def __init__(self, officeArtDggContainer, pos):
- DOCDirStream.__init__(self, officeArtDggContainer.bytes)
- self.pos = pos
-
- def dumpXml(self, compat, rh):
- self.rh = rh
- print '<splitColors type="OfficeArtSplitMenuColorContainer" offset="%d">' % self.pos
- for i in ["fill", "line", "shadow", "3d"]:
- print '<smca type="%s">' % i
- msodraw.MSOCR(self).dumpXml(self)
- print '</smca>'
- print '</splitColors>'
-
class OfficeArtDggContainer(DOCDirStream):
"""The OfficeArtDggContainer record type specifies the container for all the OfficeArt file records that contain document-wide data."""
def __init__(self, officeArtContent, name):
@@ -323,7 +308,7 @@ recMap = {
0xf00a: [OfficeArtFSP, True],
0xf00b: [OfficeArtFOPT, True],
0xf011: [OfficeArtClientData, True],
- 0xf11e: [OfficeArtSplitMenuColorContainer, True],
+ 0xf11e: [msodraw.SplitMenuColorContainer],
}
# vim:set filetype=python shiftwidth=4 softtabstop=4 expandtab:
diff --git a/src/msodraw.py b/src/msodraw.py
index 1b56ce3..6c87b17 100644
--- a/src/msodraw.py
+++ b/src/msodraw.py
@@ -519,7 +519,7 @@ class MSOCR:
else:
recHdl.appendLine(" RGB color: (red=%d, green=%d, blue=%d)"%(self.red, self.green, self.blue))
- def dumpXml(self, recHdl):
+ def dumpXml(self, recHdl, rh):
recHdl.appendLine('<msocr type="MSOCR">')
recHdl.appendLine('<red value="%d"/>' % self.red)
recHdl.appendLine('<green value="%d"/>' % self.green)
@@ -539,6 +539,14 @@ class SplitMenuColorContainer:
for msocr in self.smca:
msocr.appendLines(recHdl, rh)
+ def dumpXml(self, recHdl, rh):
+ recHdl.appendLine('<splitColors type="OfficeArtSplitMenuColorContainer">')
+ for i, smca in enumerate(self.smca):
+ recHdl.appendLine('<smca index="%d">' % i)
+ smca.dumpXml(recHdl, rh)
+ recHdl.appendLine('</smca>')
+ recHdl.appendLine('</splitColors>')
+
class FClientAnchorSheet:
"""Excel-specific anchor data (OfficeArtClientAnchorSheet)"""
More information about the Libreoffice-commits
mailing list