Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-59541

dumpcpp should create public signals from Events coclass

    XMLWordPrintable

Details

    • Suggestion
    • Resolution: Unresolved
    • Not Evaluated
    • None
    • None
    • ActiveX Support
    • None

    Description

      When a coclass has an member which is identified as an event interface, methods declared in that interface should be published as signals on the exported coclass declaration.

      Currently, signals are known on the metaobject, but static_metacall has not been setup and no methods are declared in the generated class.

      As a result of events being omitted, it is not possible to use the function pointer based syntax for QObject::connect, which in return also prevents the usage of the C++11 related overloads.

      Generating the signal definitions on the generated class is trivials, and same goes for the implementation, analog to how the default moc implements a signal.

      The tricky part is providing the static_metacall function required for the reverse lookup, as the current implementation of QAxBase::qt_static_metacall does not yet support QMetaObject::IndexOfMethod.

      So I guess in order to properly support signals, we would need to register our own static_metacall function in the staticMetaObject object, which exclusively handles QMetaObject::IndexOfMethod, and for everything else invokes QAxBase::qt_static_metacall. Not entirely sure about this though, just theory.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            kleint Friedemann Kleint
            ext3h Andreas Ringlstetter
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes