<br><br><div class="gmail_quote">2009/2/20 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="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">On Friday 20 February 2009, Richard Dale wrote:<br>
</div><div class="Ih2E3d">&gt; Yes, but how does that differ from just adding<br>
&gt; createConfigurationInterface() to the scripting api in addition to<br>
&gt; showConfigurationInterace()?<br>
<br>
</div>because that would only work nicely for the Python and Ruby script engines.<br>
for everything else, there&#39;d be more code still required. saving a couple<br>
lines in the Python/Ruby engines by making AppletScriptEngine more specific to<br>
their design patterns doesn&#39;t really fit with the idea that the engine parent<br>
class is trying quite purposefully to not dictate or prescribe API.<br>
<br>
the Python and Ruby engines take the &quot;we are binding libplasma, KDE and Qt&quot;<br>
approach, which is just fine and completely appropriate.<br>
<br>
that is not, however, the goal of AppletScriptEngine.</blockquote><div>Well it isn&#39;t about code (&#39;the C++ api&#39;), it is about UI consistency. There are three type of plasma applets; native C++, kde scriptengine and alien (such as Apple dashboard or google widgets). It is important for the kde based scriptengines to have consistent behaviour in their configuration dialogs (you know &#39;DRY&#39; meaning do not repeat yourself), but reimplementing showConfigurationInterface() in every binding violates that principle.<br>
<br>In my opinion hasConfigurationInterface(bool) is wrong and instead it should take an enum to mean &#39;no config interface&#39;, &#39;kde config interface&#39; or &#39;alien config interface&#39;. Then according to what was passed when the plasma runtime invokes a hook for the scriptengines config dialog it should call a different one for alien conf dialogs.<br>
<br>-- Richard<br></div></div><br>