<br><br><div class="gmail_quote">2010/4/8 Aaron J. Seigo <span dir="ltr">&lt;<a href="mailto:aseigo@kde.org">aseigo@kde.org</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On April 8, 2010, Christophe Olinger wrote:<br>
&gt; One thing missing is the layout of the actual subComponents in the applets.<br>
&gt; Currently they are just added in a row. For this we need the API. The<br>
&gt; layout should recognize which type of applet arrives and lay it out<br>
&gt; accordingly. That means lots of if/thens within tha applet code. This also<br>
&gt; means adding new states with new subcomponents would mean adding if/tehns<br>
&gt; to the actual addToLayout functions in the applets.<br>
<br>
</div>what i&#39;d recommend is to provide a way to tag subcomponents with values (e.g.<br>
an enum) that says something about what they do.<br>
<br>
divide up each MainComponent into &quot;zones&quot; (navigation, media playing, status,<br>
whatever :) and then each sub component can be tagged by the creator of the<br>
sub component (e.g. a state) with what it is.<br>
<br>
then the main components will know which zone they belong in.<br>
<br>
from there, i&#39;d go with a naive implementation, at least at first, that just<br>
puts things into the respective zones on a first-come-first-placed basis.</blockquote><div><br></div><div>This makes me thinking about the MediaLayout object. Now it resides inside the containment implementation.</div><div>
Probably we should have something that specifies wher the subComponent is suggested to be placed; this</div><div>can likely be:</div><div>- Fullscreen</div><div>- AppearingFromLeftEdge</div><div>- AppearingFromTopEdge</div>
<div>- AppearingFromBottomEdge</div><div>- AppearingFromRightEdge</div><div>- Invisible</div><div><br></div><div>Then the layout object should place them accordingly. Those are just my 2 cents. Better ideas are welcome :-)</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"> </blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
this alleviates the needs for if/else and odd interactions between state<br>
plugins and the main components that need to lay out a plugin&#39;s custom sub<br>
components.<br>
<font color="#888888"><br>
--<br>
Aaron J. Seigo<br>
humru othro a kohnu se<br>
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43<br>
<br>
KDE core developer sponsored by Qt Development Frameworks<br>
</font><div><div></div><div class="h5">_______________________________________________<br>
Plasma-devel mailing list<br>
<a href="mailto:Plasma-devel@kde.org">Plasma-devel@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/plasma-devel" target="_blank">https://mail.kde.org/mailman/listinfo/plasma-devel</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Alessandro Diaferia<br>KDE Developer<br>KDE e.V. member<br><br>