Split the concepts 'enabled' and 'editable' in the dumper output
Disable "<not in scope>" entries, also fix their type.
Fix glitch in type beautification for display
Find reason for failing bulk updates.
The compile-time solution introduced by 3a084ae8a2
was felt by some to be too intrusive, so I've integrated the check for
changes to QObjectPrivate into the auto test.
- Added auto test for QMap.
- Qt::UniqueConnection is not actually a connection type, so we
don't treat it as one.
- The definition of QObjectPrivate keeps getting out of sync, so
there now is a "static assertion" that causes a compile error
when QObjectPrivate's size changes.
The format of QObjectPrivate's senders list changed in version 4.6.
This change is now taken into account by the QObjectSlot and
QObjectSlotList dumpers.
Reviewed-by: hjk
- std::set/map: Introduce templates to iterate the MSVC STL
implementation depending on type (since it inherits some
basic set_traits that depend on the key/value size.
- Retrieve types correctly in CDB (buffer too short for STL-types)
- Fix std::map in GDB broken by previous commit.
- Introduce a dumper version check in GDB/CDB.
- Make GDB parse sizes in initial dumper call as well
- Fix special sizes to work with namespaced Qt (watchutils)
- Make container dumper routines set "childnumchild" when known
in order to avoid roundtrips; avoid repeated invocations of
container.end().
- Completed dumper information in some places to avoid roundtrips.
- Extended QVariant helpers by dumpers for common GUI types
(rectangles, points, sizes, fonts, size policies).
- Introduced artificial QObjectChildList/QObjectProperty types to
be able to dump QObject children and properties without using
gdb expressions.
- Fixed dumping of Signal/Slot list to pass on correct types. Avoid
recursions if signal is connected to self.
- Replaced expressions by addresses in the dumpers to it make work
for CDB.
- Reworked dumper test program to have -a, making it usable for tests,
add further types.
- Gdb: Clear output buffer before calling dumpers, avoiding mixups
in case evaluation of expression fails.
- Fix the dumper parser used by CDB, do not be fooled by
"<synthetic>" addresses, etc.
- Pass on a "dumperVersion" in initial query.
- Fix extractTemplate() not to kill blanks in case there is no
blank after a comma, fix hardcoded types accordingly.
- Make niceType()'s regexps ignore blanks after commas, add
unsigned short as char_type and cache the mappings, making
them work for CDB.
- CDB: Parse map output of dumpers correctly, generally don't
confuse the parser by unknown keywords encountered when
parsing children, thus enabling simple QMap types.
- Make dumpInnerValueHelper output std::string types.
Make dumpers pass on more size information initially, namely the
various Q<>Pointers. Introduce enum for those special template types
whose size does not vary with the arguments (Q<>Pointer,
std::allocators...) to make it more easily extensible.
Pass on some common QMapNode<> sizes as well.
Introduce an expression cache to the common QtDumperHelper
class and make dumpers pass some common expression values
(value offsets of common QMapNode<> incarnations).
Make CDBDumperHelper use the expression cache.
Extend dumper tester.
Fix typo in QChar helper.
Add a auto tests for some of the dumpers.
Make the dumpers compilable for Qt < 4.5 for better regression tests.
Make manual tests compile with Qt < 4.5.