diff options
author | hjk <hjk@qt.io> | 2019-02-19 12:50:49 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2019-02-19 12:57:26 +0000 |
commit | bfee82fa2c3509214332f97cfcc1d8a776fb4f8e (patch) | |
tree | 62271be4ea1b2d4c0db8165708cdc027aec38d48 | |
parent | be65a57935badcc19f844b36ccf1456f2000a96d (diff) |
Debugger: Add dumper for QSizePolicy
Change-Id: Ib4d2597229f2808fcf79e76a9590b0e07989bfb9
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
-rw-r--r-- | share/qtcreator/debugger/dumper.py | 11 | ||||
-rw-r--r-- | share/qtcreator/debugger/qttypes.py | 27 |
2 files changed, 35 insertions, 3 deletions
diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py index 2d2cba492c..e1d04a03f7 100644 --- a/share/qtcreator/debugger/dumper.py +++ b/share/qtcreator/debugger/dumper.py @@ -833,6 +833,14 @@ class DumperBase: self.putType('int') self.putNumChild(0) + def putEnumItem(self, name, ival, typish): + buf = bytearray(struct.pack('i', ival)) + val = self.Value(self) + val.ldata = bytes(buf) + val.type = self.createType(typish) + with SubItem(self, name): + self.putItem(val) + def putBoolItem(self, name, value): with SubItem(self, name): self.putValue(value) @@ -855,8 +863,7 @@ class DumperBase: self.putField('keyencoded', key.encoding) self.putValue(value.value, value.encoding) - def putEnumValue(self, value, vals): - ival = value.integer() + def putEnumValue(self, ival, vals): nice = vals.get(ival, None) display = ('%d' % ival) if nice is None else ('%s (%d)' % (nice, ival)) self.putValue(display) diff --git a/share/qtcreator/debugger/qttypes.py b/share/qtcreator/debugger/qttypes.py index 2901c10401..91e38feaac 100644 --- a/share/qtcreator/debugger/qttypes.py +++ b/share/qtcreator/debugger/qttypes.py @@ -194,7 +194,7 @@ def qdump_X_QModelIndex(d, value): #gdb.execute('call free($mi)') def qdump__Qt__ItemDataRole(d, value): - d.putEnumValue(value, { + d.putEnumValue(value.integer(), { 0 : "Qt::DisplayRole", 1 : "Qt::DecorationRole", 2 : "Qt::EditRole", @@ -1412,6 +1412,31 @@ def qdump__QSizeF(d, value): d.putPlainChildren(value) +def qdump__QSizePolicy__Policy(d, value): + d.putEnumValue(value.integer(), { + 0 : 'QSizePolicy::Fixed', + 1 : 'QSizePolicy::GrowFlag', + 2 : 'QSizePolicy::ExpandFlag', + 3 : 'QSizePolicy::MinimumExpanding (GrowFlag|ExpandFlag)', + 4 : 'QSizePolicy::ShrinkFlag', + 5 : 'QSizePolicy::Preferred (GrowFlag|ShrinkFlag)', + 7 : 'QSizePolicy::Expanding (GrowFlag|ShrinkFlag|ExpandFlag)', + 8 : 'QSizePolicy::IgnoreFlag', + 13 : 'QSizePolicy::Ignored (ShrinkFlag|GrowFlag|IgnoreFlag)', + }) + +def qdump__QSizePolicy(d, value): + bits = value.integer() + d.putEmptyValue(-99) + d.putNumChild(1) + if d.isExpanded(): + with Children(d): + d.putIntItem('horStretch', (bits >> 0) & 0xff) + d.putIntItem('verStretch', (bits >> 8) & 0xff) + d.putEnumItem('horPolicy', (bits >> 16) & 0xf, "QSizePolicy::Policy") + d.putEnumItem('verPolicy', (bits >> 20) & 0xf, "QSizePolicy::Policy") + + def qform__QStack(): return arrayForms() |