<div>I guess the patch is fine, I don't really understand why don't you just let the backend to provide a model with the variables values and so on.</div><div>You can assert some runtime restrictions to it, if you feel it's necessary but I think it would be less code in both sides to implement and a more flexible way. (it's how it's implemented in KAlgebra at least).</div>
<div><br></div><div>Cheers!</div><div>Aleix</div><div><br><div class="gmail_quote">On Wed, Sep 15, 2010 at 1:28 AM, Alexander Rieder <span dir="ltr"><<a href="mailto:alexanderrieder@gmail.com">alexanderrieder@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div>
<div style="font-family:Verdana, Arial, Helvetica, Sans-Serif">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border:1px #c9c399 solid">
<tbody><tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="http://svn.reviewboard.kde.org/r/5354/" target="_blank">http://svn.reviewboard.kde.org/r/5354/</a>
</td>
</tr>
</tbody></table>
<br>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-repeat:repeat-x;border:1px black solid">
<tbody><tr>
<td>
<div>Review request for KDE-Edu.</div>
<div>By Alexander Rieder.</div>
<h1 style="color:#575012;font-size:10pt;margin-top:1.5em">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border:1px solid #b8b5a0">
<tbody><tr>
<td>
<pre style="margin:0;padding:0;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word">Implement basics for a VariableManager panel.
This change is rather big, as it involves some completely new plugin interfaces to make it as easy as possible to add similar things later.
This patch only contains a simple GUI and a dummy implementation in the NullBackend. (to test it start cantor with --backend=nullbackend), and of course the new interfaces.
First it introduces Extensions for the Session (so far they were only for the Backend) to allow optional hooks into the workings inside the session.
Also it introduces so called PanelPlugins, these are plugins that create widgets that are shown in the side panel depending on the exported extensions by the session.
The current HelpPanel is turned into such a panel, and the new VariableManager is one too.
On the backend side, one only has to implement the VariableManagerExtension, and emit the signals appropriately/implement the functions there.
I would really like some feedback on this API (for both VariableManagerExtension and PanelPlugin side), please have a look, and possibly suggest better namings than PanelPlugin or SessionExtension</pre>
</td>
</tr>
</tbody></table>
<h1 style="color:#575012;font-size:10pt;margin-top:1.5em">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border:1px solid #b8b5a0">
<tbody><tr>
<td>
<pre style="margin:0;padding:0;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word">This is mostly a preview for the new APIs, but all the functionality should work as it used to (I didn't notice any regressions).
The variable management works for the dummy implementation in the NullBackend</pre>
</td>
</tr>
</tbody></table>
<h1 style="color:#575012;font-size:10pt;margin-top:1.5em">Diffs </h1>
<ul style="margin-left:3em;padding-left:0">
<li>/trunk/KDE/kdeedu/cantor/src/CMakeLists.txt <span style="color:grey">(1174987)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/backends/null/CMakeLists.txt <span style="color:grey">(1174987)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/backends/null/nullsession.h <span style="color:grey">(1174987)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/backends/null/nullsession.cpp <span style="color:grey">(1174987)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/backends/null/nullvariablemgrextension.h <span style="color:grey">(PRE-CREATION)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/backends/null/nullvariablemgrextension.cpp <span style="color:grey">(PRE-CREATION)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/cantor.h <span style="color:grey">(1174987)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/cantor.cpp <span style="color:grey">(1174987)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/cantor_part.h <span style="color:grey">(1174987)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/cantor_part.cpp <span style="color:grey">(1174987)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/lib/CMakeLists.txt <span style="color:grey">(1174987)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/lib/backend.cpp <span style="color:grey">(1174987)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/lib/cantor_panelplugin.desktop <span style="color:grey">(PRE-CREATION)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/lib/extensions/variablemgrextension.h <span style="color:grey">(PRE-CREATION)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/lib/extensions/variablemgrextension.cpp <span style="color:grey">(PRE-CREATION)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/lib/panelplugin.h <span style="color:grey">(PRE-CREATION)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/lib/panelplugin.cpp <span style="color:grey">(PRE-CREATION)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/lib/panelpluginhandler.h <span style="color:grey">(PRE-CREATION)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/lib/panelpluginhandler.cpp <span style="color:grey">(PRE-CREATION)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/lib/session.h <span style="color:grey">(1174987)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/lib/session.cpp <span style="color:grey">(1174987)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/lib/sessionextension.h <span style="color:grey">(PRE-CREATION)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/lib/sessionextension.cpp <span style="color:grey">(PRE-CREATION)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/panelplugins/CMakeLists.txt <span style="color:grey">(PRE-CREATION)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/panelplugins/helppanel/CMakeLists.txt <span style="color:grey">(PRE-CREATION)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/panelplugins/helppanel/helppanelplugin.cpp <span style="color:grey">(PRE-CREATION)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/panelplugins/helppanel/helppanelplugin.desktop <span style="color:grey">(PRE-CREATION)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/panelplugins/helppanel/helppanelplugin.h <span style="color:grey">(PRE-CREATION)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/panelplugins/variablemgr/CMakeLists.txt <span style="color:grey">(PRE-CREATION)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/panelplugins/variablemgr/variablemanagerplugin.h <span style="color:grey">(PRE-CREATION)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/panelplugins/variablemgr/variablemanagerplugin.cpp <span style="color:grey">(PRE-CREATION)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/panelplugins/variablemgr/variablemanagerplugin.desktop <span style="color:grey">(PRE-CREATION)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/panelplugins/variablemgr/variablemanagerwidget.h <span style="color:grey">(PRE-CREATION)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/panelplugins/variablemgr/variablemanagerwidget.cpp <span style="color:grey">(PRE-CREATION)</span></li>
<li>/trunk/KDE/kdeedu/cantor/src/worksheet.cpp <span style="color:grey">(1174987)</span></li>
</ul>
<p><a href="http://svn.reviewboard.kde.org/r/5354/diff/" style="margin-left:3em" target="_blank">View Diff</a></p>
<h1 style="color:#575012;font-size:10pt;margin-top:1.5em">Screenshots </h1>
<div>
<a href="http://svn.reviewboard.kde.org/r/5354/s/503/" target="_blank"><img style="border:1px black solid" alt="The Variable Manager plugin"></a>
</div>
</td>
</tr>
</tbody></table>
</div>
</div>
<br>_______________________________________________<br>
kde-edu mailing list<br>
<a href="mailto:kde-edu@mail.kde.org">kde-edu@mail.kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/kde-edu" target="_blank">https://mail.kde.org/mailman/listinfo/kde-edu</a><br>
<br></blockquote></div><br></div>