diff options
author | hjk <hjk121@nokiamail.com> | 2014-04-15 18:13:03 +0200 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2014-04-29 09:18:00 +0200 |
commit | 3f0d02ad7f4f3b9873bd16b98cb0d57a904af1ea (patch) | |
tree | 22565d8a02f89130cfab7c53575185926138a1cb /share/qtcreator/debugger | |
parent | 81274c0624c85a2ab0648b25706c672b54ada8b4 (diff) | |
download | qt-creator-3f0d02ad7f4f3b9873bd16b98cb0d57a904af1ea.tar.gz |
Debugger: Rework display type selection
The previous index based way was getting too brittle, use enums instead.
Also add a switch between exponential and flat display for floating
point types.
Task-number: QTCREATORBUG-12050
Change-Id: I86addbac5a80e8b79b176c6107b251b466503fe7
Reviewed-by: David Schulz <david.schulz@digia.com>
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Diffstat (limited to 'share/qtcreator/debugger')
-rw-r--r-- | share/qtcreator/debugger/dumper.py | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py index 0b19cbaeb0..b7725fbe83 100644 --- a/share/qtcreator/debugger/dumper.py +++ b/share/qtcreator/debugger/dumper.py @@ -42,6 +42,19 @@ else: verbosity = 0 verbosity = 1 +# Known special formats. Keep in sync with DisplayFormat in watchhandler.h +KnownDumperFormatBase, \ +Latin1StringFormat, \ +Utf8StringFormat, \ +Local8BitStringFormat, \ +Utf16StringFormat, \ +Ucs4StringFormat, \ +Array10Format, \ +Array100Format, \ +Array1000Format, \ +Array10000Format \ + = range(100, 110) + def hasPlot(): fileName = "/usr/bin/gnuplot" return os.path.isfile(fileName) and os.access(fileName, os.X_OK) @@ -805,44 +818,45 @@ class DumperBase: self.putItem(value.dereference()) return - if format == 1: + if format == Latin1StringFormat: # Explicitly requested Latin1 formatting. self.putType(typeName) self.putValue(self.encodeCharArray(value), Hex2EncodedLatin1) self.putNumChild(0) return - if format == 2: + if format == Utf8StringFormat: # Explicitly requested UTF-8 formatting. self.putType(typeName) self.putValue(self.encodeCharArray(value), Hex2EncodedUtf8) self.putNumChild(0) return - if format == 3: + if format == Local8BitStringFormat: # Explicitly requested local 8 bit formatting. self.putType(typeName) self.putValue(self.encodeCharArray(value), Hex2EncodedLocal8Bit) self.putNumChild(0) return - if format == 4: + if format == Utf16StringFormat: # Explicitly requested UTF-16 formatting. self.putType(typeName) self.putValue(self.encodeChar2Array(value), Hex4EncodedLittleEndian) self.putNumChild(0) return - if format == 5: + if format == Ucs4StringFormat: # Explicitly requested UCS-4 formatting. self.putType(typeName) self.putValue(self.encodeChar4Array(value), Hex8EncodedLittleEndian) self.putNumChild(0) return - if not format is None and format >= 6 and format <= 9: + if not format is None \ + and format >= Array10Format and format <= Array1000Format: # Explicitly requested formatting as array of n items. - n = (10, 100, 1000, 10000)[format - 6] + n = (10, 100, 1000, 10000)[format - Array10Format] self.putType(typeName) self.putItemCount(n) self.putNumChild(n) |