<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 20, 2016 at 1:32 PM, Marco Martin <span dir="ltr"><<a href="mailto:notmart@gmail.com" target="_blank">notmart@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Tue, Sep 20, 2016 at 2:05 PM, David Edmundson<br>
<<a href="mailto:david@davidedmundson.co.uk">david@davidedmundson.co.uk</a>> wrote:<br>
><br>
> Actually adding a virtual is, but the design pattern of a virtual is do-able<br>
> in multiple other ways which are binary compatiable.<br>
> *if* that's the approach we want (and it's my preferred option) I'll make a<br>
> RR that does it.<br>
<br>
</span>I know about having a slot that would be invoked with metaobject, or<br>
having a new setter/getter, both of which i wouldn't like much<br></blockquote><br></div><div class="gmail_quote">The way I'd got for it making <br><br></div><div class="gmail_quote">Applet::immutable() {<br></div><div class="gmail_quote">    return property("immutable").value<>()<br>}<br><br></div><div class="gmail_quote">then we change our Q_PROPERTY in Plasma::Applet to go to a real implementation<br></div><br>system tray containment can then also implements the property. <br></div><div class="gmail_extra"></div><div class="gmail_extra"></div><div class="gmail_extra"><br>----<br><br></div><div class="gmail_extra">Another possible technique is we export a new class which inherts Applet, contains the virtual but doesn't contain any member variables.<br></div><div class="gmail_extra">Then in Applet we can static_cast<AppletExtension>(this)->myVirtualMethod();<br><br></div><div class="gmail_extra">If we want the system tray to have any more special cases, that's not as crazy as it first sounds.<br></div><div><br>---- <br></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
--<br>
Marco Martin<br>
</blockquote></div><br></div></div>