summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorCédric Bosdonnat <cedric.bosdonnat@free.fr>2013-05-27 20:01:37 +0200
committerCédric Bosdonnat <cedric.bosdonnat.ooo@free.fr>2013-05-28 15:00:39 +0200
commitdaa2ac6e76a4c30a4e2b9a9d0f9d7e351fcb5b5f (patch)
tree8973c5276e74ecd0e08f8b80278ac62f7a433794 /solenv
parent1848540022f2f50436ec505eb82efa99bb14a5b3 (diff)
Added pretty printers for writerfilter OOXML tokenizer
Change-Id: I0fa2cb8d24cd6862ab1d88ad8ccc033c70bbfa44
Diffstat (limited to 'solenv')
-rw-r--r--solenv/Package_gdb.mk2
-rwxr-xr-xsolenv/bin/install-gdb-printers4
-rw-r--r--solenv/gdb/libreoffice/writerfilter.py88
3 files changed, 93 insertions, 1 deletions
diff --git a/solenv/Package_gdb.mk b/solenv/Package_gdb.mk
index b38233dcda5c..aced144be241 100644
--- a/solenv/Package_gdb.mk
+++ b/solenv/Package_gdb.mk
@@ -16,6 +16,7 @@ $(eval $(call gb_Package_add_files,solenv_gdb,lib,\
$(call gb_Library_get_runtime_filename,cppu).3-gdb.py \
$(call gb_Library_get_runtime_filename,sal).3-gdb.py \
$(call gb_Library_get_runtime_filename,sw)-gdb.py \
+ $(call gb_Library_get_runtime_filename,writerfilter)-gdb.py \
) \
$(call gb_Library_get_runtime_filename,merged)-gdb.py, \
$(call gb_Library_get_runtime_filename,cppu).3-gdb.py \
@@ -23,6 +24,7 @@ $(eval $(call gb_Package_add_files,solenv_gdb,lib,\
$(call gb_Library_get_runtime_filename,svl)-gdb.py \
$(call gb_Library_get_runtime_filename,sw)-gdb.py \
$(call gb_Library_get_runtime_filename,tl)-gdb.py) \
+ $(call gb_Library_get_runtime_filename,writerfilter)-gdb.py \
))
$(eval $(call gb_Package_use_custom_target,solenv_gdb,solenv/gdb))
diff --git a/solenv/bin/install-gdb-printers b/solenv/bin/install-gdb-printers
index 6201e0cfc72c..4125fe5209c0 100755
--- a/solenv/bin/install-gdb-printers
+++ b/solenv/bin/install-gdb-printers
@@ -157,7 +157,7 @@ if [[ ${DESTDIR}${pythondir} != ${GDBDIR} ]]; then
fi
if [[ -n "${MERGELIBS}" ]]; then
- make_autoload merged program libmergedlo."$DYLIB" merge svl tl basegfx `[[ ${MERGELIBS} == "ALL" ]] && echo sw`
+ make_autoload merged program libmergedlo."$DYLIB" merge svl tl basegfx writerfilter `[[ ${MERGELIBS} == "ALL" ]] && echo sw`
if [[ ${MERGELIBS} == "ALL" ]]; then
make_autoload urelibs ure-link/lib liburelibs."$DYLIB" merge cppu sal
else
@@ -165,6 +165,7 @@ if [[ -n "${MERGELIBS}" ]]; then
make_autoload sal ure-link/lib libuno_sal."$DYLIB".3
make_autoload sw program libswlo."$DYLIB"
make_autoload basegfx program libbasegfxlo."$DYLIB"
+ make_autoload writerfilter program libwriterfilterlo."$DYLIB"
fi
else
make_autoload cppu ure-link/lib libuno_cppu."$DYLIB".3
@@ -173,6 +174,7 @@ else
make_autoload tl program libtllo."$DYLIB"
make_autoload sw program libswlo."$DYLIB"
make_autoload basegfx program libbasegfxlo."$DYLIB"
+ make_autoload writerfilter program libwriterfilterlo."$DYLIB"
fi
# vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/solenv/gdb/libreoffice/writerfilter.py b/solenv/gdb/libreoffice/writerfilter.py
new file mode 100644
index 000000000000..5b653217e239
--- /dev/null
+++ b/solenv/gdb/libreoffice/writerfilter.py
@@ -0,0 +1,88 @@
+# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+from libreoffice.util import printing
+
+class OOXMLPropertySetPrinter(object):
+ '''Prints writerfilter::ooxml::OOXMLPropertySetImpl'''
+
+ def __init__(self, typename, value):
+ self.typename = typename
+ self.value = value
+
+ def to_string(self):
+ return "%s" % (self.typename)
+
+ def children(self):
+ children = [ ( 'properties', self.value['mProperties'] ) ]
+ return children.__iter__()
+
+class OOXMLPropertyPrinter(object):
+ '''Prints writerfilter::ooxml::OOXMLPropertyImpl'''
+
+ def __init__(self, typename, value):
+ self.typename = typename
+ self.value = value
+
+ def to_string(self):
+ return "%s" % (self.typename)
+
+ def children(self):
+ children = [ ( 'id', self.value['mId'] ),
+ ( 'type', self.value['meType'] ),
+ ( 'value', self.value['mpValue'] ) ]
+ return children.__iter__()
+
+class OOXMLPropertySetValuePrinter(object):
+ '''Prints writerfilter::ooxml::OOXMLPropertySetValue'''
+
+ def __init__(self, typename, value):
+ self.typename = typename
+ self.value = value
+
+ def to_string(self):
+ return "%s" % (self.typename)
+
+class OOXMLStringValuePrinter(object):
+ '''Prints writerfilter::ooxml::OOXMLStringValue'''
+
+ def __init__(self, typename, value):
+ self.value = value
+
+ def to_string(self):
+ return "%s" % (self.value['mStr'])
+
+class OOXMLIntegerValuePrinter(object):
+ '''Prints writerfilter::ooxml::OOXMLIntegerValue'''
+
+ def __init__(self, typename, value):
+ self.value = value
+
+ def to_string(self):
+ return "%d" % (self.value['mnValue'])
+
+printer = None
+
+def build_pretty_printers():
+ global printer
+
+ printer = printing.Printer("libreoffice/writerfilter")
+ printer.add('writerfilter::ooxml::OOXMLPropertyImpl', OOXMLPropertyPrinter)
+ printer.add('writerfilter::ooxml::OOXMLPropertySetImpl', OOXMLPropertySetPrinter)
+ printer.add('writerfilter::ooxml::OOXMLPropertySetValue', OOXMLPropertySetValuePrinter)
+ printer.add('writerfilter::ooxml::OOXMLStringValue', OOXMLStringValuePrinter)
+ printer.add('writerfilter::ooxml::OOXMLIntegerValue', OOXMLIntegerValuePrinter)
+ printer.add('writerfilter::ooxml::OOXMLHexValue', OOXMLIntegerValuePrinter)
+
+def register_pretty_printers(obj):
+ printing.register_pretty_printer(printer, obj)
+
+build_pretty_printers()
+
+# vim:set shiftwidth=4 softtabstop=4 expandtab: