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