<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 />


<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-14 23:32:00.175434</i></p>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description  (updated)</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/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;">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/media/uploaded/images/2010/09/14/variable_mgr_400x100.png" style="border: 1px black solid;" alt="The Variable Manager plugin" /></a>

</div>


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




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