Image 01


Elmar de Koning , Netherlands
Developers Apps
Conan - Connection analyzer for Qt

Developers Apps 8 comments

by gnik
Score 50.0%
Mar 31 2011
I finally found the time to release an update with Qt 4.6.* support. I know its not exactly december anymore, but better late then never. - Jun 17 2010
Yes I'm aware of the problem. Parts of the private Qt-api that Conan uses (mainly qobject.cpp) have changed. Although I'm rather busy at the moment with work and various training courses, my goal is to have an updated version released in the first half of December.
This version will support Qt 4.6 (duh), have various export to XML options and will be able to show class info data (see Q_CLASSINFO). - Nov 20 2009
In the README.txt you'll find contact information. Start the email subject with conan. Make sure you add the following information:
-OS (service packs)
-Qt version (version number)
-Did you use the version delivered with qt creator or did you download and build qt yourself?
-Detailed build output
-Steps taken to build Conan - Aug 18 2009
Its a C++ library that contains a single QWidget, the ConanWidget. The screenshot shows how this widget looks. How the ConanWidget can be used in your own Qt application and how to operate the ConanWidget are described in detail in the included readme and html documentation.
Conan provides visual studio 2008 / qt creator / qmake project files.

The ConanWidget provides the following functionality:
- Allows you to browse through the parent-child relationships of QObject hierarchies. These hierarchies can be discovered automatically or added programatically. You can also search the hierarchies by class name, object name, or object address.
- It shows inheritance information (how its derived from QObject) for the selected QObject, f.e. selecting a QSortFilterProxyModel would show the following list: QSortFilterProxyModel -> QAbstractProxyModel -> QAbstractItemModel -> QObject
- It shows all signal and all slots for the selected object. For each signal/slot it lists:
--- Access specifier (public, protected, private)
--- Method signature
--- Name of the class that declares the signal/slot
--- Lists all connections for each signal/slot:
------ Receiver signal/slot signature
------ Receiver class name and object name
------ Receiver object address
------ Connection type (auto, direct, queued, blocking queued)
- It can hide signals/slots without connections
- It can hide inherited signals/slots
- Duplicate connections can be found and highlighted. A duplicate connection occurs when the same signal has been connected multiple times to the same slot.
- For any selected signal a spy can be defined. Think of this as a dynamic QSignalSpy. Each time a signal that is being spied is emitted, information about the emission is logged using qDebug. What is logged and how it is logged can be configured, but the following is supported: timestamp, object name, class name, object address, signal signature, emit count (since being spied), string representation of signal arguments (only if they can be converted to a string through QVariant)

The project website also contains a win32 Conan demo application that demonstrates the capabilities of Conan.

I hope this clarifies things. - Jul 16 2009