Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: A more general signal/slot implementation



On Jun 3, 2005, at 10:16 PM, Nicolas Normand wrote:

Please feel free to comment,

Generally, I'd like to avoid using signal/slot when some simpler mechanism is sufficient. A future direction I'd like to see is to eliminate signal/slot use inside KHTML except in the cases where it's required to connect to some Qt API that works that way. And for the Qt APIs, I'd like to see a porting layer between KHTML and Qt that doesn't use signal/slot. So ultimately I'd like to eliminate it entirely.


I am the author of KWQSignal and KWQSlot, and I wrote them so that we could implement signal/slot for existing code in KHTML already using QObject classes to minimize code changes to KHTML, and bear more complexity on the KWQ side. One of the goals was a minimum of modification to the KHTML classes. That design required changing any classes that send signals, but no changes to classes that implement slots. Because most classes sending signals were in the KWQ world, and most changes implementing slots were in the KHTML world, that helped with the "minimize changes on the KHTML side" requirement.

At the time we did that, keeping the changes to KHTML to an absolute minimum was the order of the day. At this point, I think it's more reasonable to consider changes to KHTML to reduce dependence on this particular Qt feature.

Relying on the gcc-specific __builtin_apply and __builtin_apply_args will be a problem for people who are using WebCore with non-gcc compilers, and I know there are some.

In other respects, your proposal is more elegant than the current implementation. It's horrible how the current implementation is hard- coded to a specific set of signals and slots, and I'd love to improve things.

My preference would be to improve things by using it less and deprecating it.

    -- Darin

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webcore-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webcore-dev/email@hidden

This email sent to email@hidden
References: 
 >A more general signal/slot implementation - 2/2 (From: Nicolas Normand <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.