diff options
author | Cédric Bosdonnat <cedric.bosdonnat.ooo@free.fr> | 2011-08-29 11:31:28 +0200 |
---|---|---|
committer | Cédric Bosdonnat <cedric.bosdonnat.ooo@free.fr> | 2011-08-29 11:32:12 +0200 |
commit | bcc461789442cc38df2801b38dc1161d2940fba6 (patch) | |
tree | 28a2ec9425168b323d7f9a5918fe0a29a6c36cd6 /solenv/gdb | |
parent | 7c4b75cfeabb988ba975283fa58a53cb3b67bd8e (diff) |
Added SwPosition, SwPaM gdb pretty-printers
Diffstat (limited to 'solenv/gdb')
-rw-r--r-- | solenv/gdb/libreoffice/sw.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/solenv/gdb/libreoffice/sw.py b/solenv/gdb/libreoffice/sw.py index 761c153b1917..0b2ff7f94dbd 100644 --- a/solenv/gdb/libreoffice/sw.py +++ b/solenv/gdb/libreoffice/sw.py @@ -27,6 +27,34 @@ from libreoffice.util import printing +class SwPositionPrinter(object): + '''Prints SwPosition.''' + + def __init__(self, typename, value): + self.typename = typename + self.value = value + + def to_string(self): + node = self.value['nNode']['pNd'].dereference(); + offset = self.value['nContent']['nIndex'] + return "%s (node %d, offset %d)" % (self.typename, node['nOffset'], offset) + +class SwPaMPrinter(object): + '''Prints SwPaM.''' + + def __init__(self, typename, value): + self.typename = typename + self.value = value + + def to_string(self): + return "%s" % (self.typename) + + def children(self): + point = self.value['m_pPoint'].dereference() + mark = self.value['m_pMark'].dereference() + children = [ ( 'point', point), ( 'mark', mark ) ] + return children.__iter__() + class BigPtrArrayPrinter(object): '''Prints BigPtrArray.''' @@ -110,6 +138,8 @@ def build_pretty_printers(): printer = printing.Printer("libreoffice/sw") printer.add('BigPtrArray', BigPtrArrayPrinter) + printer.add('SwPosition', SwPositionPrinter) + printer.add('SwPaM', SwPaMPrinter) def register_pretty_printers(obj): printing.register_pretty_printer(printer, obj) |