On Tue, Sep 20, 2016 at 1:32 PM, Marco Martin <notm...@gmail.com> wrote:

> On Tue, Sep 20, 2016 at 2:05 PM, David Edmundson
> <da...@davidedmundson.co.uk> wrote:
> >
> > Actually adding a virtual is, but the design pattern of a virtual is
> do-able
> > in multiple other ways which are binary compatiable.
> > *if* that's the approach we want (and it's my preferred option) I'll
> make a
> > RR that does it.
>
> I know about having a slot that would be invoked with metaobject, or
> having a new setter/getter, both of which i wouldn't like much
>

The way I'd got for it making

Applet::immutable() {
    return property("immutable").value<>()
}

then we change our Q_PROPERTY in Plasma::Applet to go to a real
implementation

system tray containment can then also implements the property.

----

Another possible technique is we export a new class which inherts Applet,
contains the virtual but doesn't contain any member variables.
Then in Applet we can static_cast<AppletExtension>(this)->myVirtualMethod();

If we want the system tray to have any more special cases, that's not as
crazy as it first sounds.

----

>
> --
> Marco Martin
>

Reply via email to