libplasma2: split anything

Marco Martin notmart at gmail.com
Tue Jun 28 22:42:35 CEST 2011


On Mon, Jun 27, 2011 at 12:02 PM, Aaron J. Seigo <aseigo at kde.org> wrote:
> On Sunday, June 26, 2011 19:25:08 Marco Martin wrote:
>> now, when we do loadApplet it would be loaded this new thing, and the trick
>> unfortunately is just moved on how to selectively create a qml object tree
>> (and eventually load a c++ plugin on a Plasmoid* subclass) OR load instead
>> the old plugin of Applet* implementation
>
> when the plugin is loaded, the reulsting object should be a subclass of the
> new Applet, which would be either a QML item or a QGraphicsItem.

i don't think the Applet* should be a qml item in the sense of
something declared as
Applet {
 id: myprettyplasmod
 Rectangle {...
}

because then would be impossible to avoid something like
Applet {
Applet{}
}

so should be more an object registered in that context after (like
plasmoid in js)

> for a QGraphicsView based shell, it shouldn't really care, as i understand it.
> both can be popped onto the scene.

provided he qml bindings and sriptengines stays 100% as is.. not !00% sure...

> for a QML-only shell, it will just need to discard any QGraphicsItem entries.
> it can also filter on the X-Plasma-API entry.

yep

> i suppose the Big Question then becomes: will we support QML applets written
> in C++ (which then export their QML root time via some API)? if so then we'll
> probably end up needing to add X-Plasma-API= entries to even the C++ widgets
> that are implemented in QML, and a special api name for it, e.g.
> C++Declarative that Applet can treat as "regular C++". then the C++ QML Applet
> subclass would need a virtual method by which to return the root item, which
> seems a bit messy. thoughts?

i think  that should be worth it...
also because the current method with Plasma::DeclarativeWidget
wouldn't work anymore since there wouldn't be any qgraphicsitem to use
as parent ;)
i would like to have available a way to do qml applets with a c++ part
as well the other bindings python, ruby, whatever

maybe the difference between qml only and qml/c++ is plasmoid being a
wrapper vs direct access to the applet pointer

Cheers,
Marco Martin


More information about the Plasma-devel mailing list