Conan - Connection analyzer for Qt
Development
Description:

Conan 1.0.2 - Connection analyzer for Qt 4.6.0 - Qt 4.7.2
---------------------------------------------------------

Conan is a C++ library that provides run-time introspection of object
hierarchies, object inheritance, signal/slot connections, and signal
emissions.

Conan contains a single widget (conan::ConanWidget) that provides the
following functionality:
-object hierarchies can be added, discovered, browsed and exported to XML
-signals/slots, including active connections, can be examined
-any signal/slot connection can be disconnected
-duplicate connections can be found
-signal emissions can be monitored and logged
See /doc/html/index.html for detailed information.

Conan has been used to identify multiple duplicate connections in the
source code of Qt!

Contact - edekoning@gmail.com
Website - http://sourceforge.net/projects/conanforqt
License - GPL - source code -> see ./GPL.txt
CCL - icons -> see ./icons/CCL.txt

One note about the GPL license. You can use Conan in your proprietary
program for analysis purposes. Just make sure that you do not distribute
Conan as part of your proprietary product. I generally use Conan only in
my debug builds, which are for internal use only. See
http://www.gnu.org/licenses/gpl-faq.html for commonly-asked questions
about the GPL.

Changelog:

6 years ago

Conan 1.0.2 release
-------------------

Feature additions:
-Extended the ConanWidget API to allow for better integration of Conan into other libraries
--Get/remove all root objects
--Set resize mode for all columns
--All log messages created by signal spies are emitted by the SignalSpyLog signal

Changes:
-Added support for Qt 4.7.2

Known issues:
-The list of signals for the current selected object only shows 'out' connections where the
current object is the 'sender'. Suppose the following connection exists:
objectA::signalA() --> objectB::signalB(). This connection will be shown when objectA is
selected, but not when objectB is selected.
-Since Qt 4.6.0, it is required to lock a specific mutex before accessing the connection data
of an object. Unfortunately, this mutex is only accessible from within qobject.cpp. This
means that conan::ConanWidget is not thread safe. To be fair, this is not such a big deal
during normal use. Connections are usually made during or after Object construction, and for
the large part this is done on the gui thread (where Conan lives).

qtkusi

4 years ago

I'd like to use your tool with Qt 4.8. I removed the version check, but it doesn't seem to work with Qt 4.8. Do you find any time to provide a version for Qt 4.8 ? Thanks!

Report

Adequat

7 years ago

Apparently, because of some internal changes to 4.6...

Report

gnik

7 years ago

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).

Report

gnik

6 years ago

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.

Report

maxvanceffer

7 years ago

I have win32 and qt creater 1.2.0
and i have several errors when compiling it. Where i can send them ?

Report

gnik

7 years ago

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

Report

tankaa

7 years ago

Screenshot and short description aren't too informative.
Could you please clarify some points?
If it is a library, how to use it? And screenshot of what is it then?
Thank you.

Report

gnik

7 years ago

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 http://sourceforge.net/projects/conanforqt/ also contains a win32 Conan demo application that demonstrates the capabilities of Conan.

I hope this clarifies things.

Report

Supporters

Recent Donations

Be the first to donate
Filename Version Description Filetype Packagetype License Downloads Date Filesize Install
Score 52%
52.00 Likes
48 Dislikes

0 Supporters for Conan - Connection analyzer for Qt:

Recent Donations:

Be the first to donate
show all
Details
version
1.0.2
updated Mar 31 2011
added Jul 12 2009
downloads
page views 432
support gnik
For The Product
Conan - Connection analyzer for Qt
5 - 10 - 25 - 50 - 100 - 200 - 500