forked from qt-creator/qt-creator
Debugger: Add dumper for QSizePolicy
Change-Id: Ib4d2597229f2808fcf79e76a9590b0e07989bfb9 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -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)
|
||||
|
@@ -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()
|
||||
|
||||
|
Reference in New Issue
Block a user