[Panel-devel] Containment
Aaron J. Seigo
aseigo at kde.org
Sun Sep 16 04:39:18 CEST 2007
hello...
so i'm mostly done with a fairly important addition / reworking of how applets
are managed. we needed the following things:
- something to paint backgrounds
- needs to support different mimetypes
- needs to be interactive, at least optionally
- needs to support things like animation
- something to contain applets
- zooming requires grouping
- sharing a corona also requires grouping
- groups manage applet layout and constraints (e.g. FormFactor) stuff
it occurred to me that this essentially describes an Applet, plus some
additional features. so that's what i've done and called the result
Containment. we now have a Plasma/Containment ServiceType for this, but it
really is just an Applet.
loading/saving of applets is still done from a single KConfig object and in a
single pass; a containment per-screen is created ...
the reason things aren't committed atm is that this breaks the current panel
implementation pretty nicely ;) and i need to rework DesktopView now.
essentially the view becomes even *less* important, with background painting
and context menus being handled by Containments.
the ramifications of this are fairly extensive:
- we can share a Corona between multiple screens and panels
- we can have really frigging cool backgrounds =)
- it doesn't really introduce much more code complexity at all, as it's mostly
just moving things around a bit and reworking how things get put together
- the people writing the Desktop plasmoid will love me, because now they
create their desktop as a Container if they wish and make all their items
children of itself. this is even nicer than the "no top level" approach.
whee.
- applets can be backgrounds as well, which could be pretty interesting
there is exactly one new class in all of this: Containment. it looks a lot
like a mashup between Corona, DesktopView and Applet. Corona and DesktopView
both get a bit simpler in the process.
i'll be committing the results tomorrow (Sunday) sometime, but thought i'd
give everyone a heads-up on this in case there were questions/concerns in the
process.
--
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA EE75 D6B7 2EB1 A7F1 DB43
KDE core developer sponsored by Trolltech
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/panel-devel/attachments/20070915/e95124dc/attachment.pgp
More information about the Panel-devel
mailing list