From kde-core-devel Wed Mar 29 05:56:25 2000 From: m_elter () t-online ! de (Matthias Elter) Date: Wed, 29 Mar 2000 05:56:25 +0000 To: kde-core-devel Subject: Re: kpanelapplet.h X-MARC-Message: https://marc.info/?l=kde-core-devel&m=95430988228522 Matthias Ettrich wrote: > > Hi, > > I don't understand the kpanelapplet API. It's supposed to replace kapplet, but > I can't see how and why. > > Missing things: > > - slots for remove- or move-requests. They are needed in order to allow > the applet to tell the panel that it should be moved or removed. Try > 'exampleapplet' and use the RMB menu. Not needed. Moving and removing are ciritical actions. I don't think we can trust in every applet author to implement a RMB menu for these. Even if every author would do so, every applets RMB menu would look different..so much for consistency. I have a better solution for this. Wait and see. :) > - a virtual setupGeometry function or at least a setup() handler. This is > needed to notify the applet when the geometry of the panel changes. > Run 'exampleapplet' in a horizontal panel and then move the panel to > the left: the applet automatically adjusts itself to be a vertical > applet. The new class kpannelapplet cannot do that. No setup() handler needed. Just reimplement the resize() event. This works because of heightForWidth() and widthForHeight(). Trust me I have a working kicker + applets on my HD. :) > Bad things: > > - orientation() and position() are probably queried quite often ( for > example in paint event handling). Having them doing synchonous dcop > calls is too slow. Rather cache these values in the applet and > implement a callback were the panel informs the applets about position > or orientation changes. But again, the old class did that. Yes that true. I already noticed this myself but was to busy with other things to change it. This will be fixed in the final API. > The only benefit I see are the heightForWidth() and widthForHeight() functions. > What's the purpose of KPanelApplet? Or better: what's wrong with KApplet that > can't be fixed? Simplified API plus a KApplet never knows what size it actually will be granted, a KPanelApplet does. -- Matthias Elter elter@kde.org me@caldera.de