src/docdraw.py | 32 ++------------------------------ src/msodraw.py | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 31 deletions(-)
New commits: commit 49c31bfee519069e2afab3b10b62e0439255a6ff Author: Miklos Vajna <vmik...@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 <vmik...@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)""" _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits