<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://svn.reviewboard.kde.org/r/5354/">http://svn.reviewboard.kde.org/r/5354/</a>
     </td>
    </tr>
   </table>
   <br />





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">That&#39;s a very nice thing, I&#39;m sorry I didn&#39;t comment earlier, but I really didn&#39;t have much to say. It seems it took some work, but the result is really useful. 

I like it, especially the fact that there&#39;s no SessionExtension needed, only a normal one and a standard Model.  

I&#39;m wondering if there should be a DefaultModel in the library that would implement most common virtual functions, and have an API for convenience. I&#39;m willing to work on that, if you wish.

Also, I&#39;ll be implementing it in Octave. Anyway, great work. </pre>
 <br />







<p>- Miha</p>


<br />
<p>On September 15th, 2010, 10:54 p.m., Alexander Rieder wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://svn.reviewboard.kde.orgrb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for KDE-Edu.</div>
<div>By Alexander Rieder.</div>


<p style="color: grey;"><i>Updated 2010-09-15 22:54:50</i></p>




<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">
 <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 in Cantor.
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>
</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">
 <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&#39;t notice any regressions).
The variable management works for the dummy implementation in the NullBackend</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </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/kalgebra/CMakeLists.txt <span style="color: grey">(1174987)</span></li>

 <li>/trunk/KDE/kdeedu/cantor/src/backends/kalgebra/kalgebrabackend.cpp <span style="color: grey">(1174987)</span></li>

 <li>/trunk/KDE/kdeedu/cantor/src/backends/kalgebra/kalgebraextensions.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/KDE/kdeedu/cantor/src/backends/kalgebra/kalgebraextensions.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/KDE/kdeedu/cantor/src/backends/kalgebra/kalgebrasession.h <span style="color: grey">(1174987)</span></li>

 <li>/trunk/KDE/kdeedu/cantor/src/backends/kalgebra/kalgebrasession.cpp <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.h <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/extension.h <span style="color: grey">(1174987)</span></li>

 <li>/trunk/KDE/kdeedu/cantor/src/lib/extension.cpp <span style="color: grey">(1174987)</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/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/newvardlg.ui <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;">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/"><img src="http://svn.reviewboard.kde.org" style="border: 1px black solid;" alt="The Variable Manager plugin" /></a>

</div>


  </td>
 </tr>
</table>








  </div>
 </body>
</html>