<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/5386/">http://svn.reviewboard.kde.org/r/5386/</a>
     </td>
    </tr>
   </table>
   <br />



 <p>Ship it!</p>



 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">i haven&#39;t tested it, but it looks good. I&#39;m looking forward to see it used in the octave backend</pre>
 <br />







<p>- Alexander</p>


<br />
<p>On September 21st, 2010, 7:16 a.m., Miha Cancula 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 and Alexander Rieder.</div>
<div>By Miha Cancula.</div>


<p style="color: grey;"><i>Updated 2010-09-21 07:16:46</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;">This patch introduces a new class DefaultVariableModel, which can be used for convenience by the backends to show and modify their variables. It subclasses QAbstractTableModel, and provides a convenience API with functions like addVariable() and removeVariable(). 

Most of the QAbstractItemModel interface code was copied from KAlgebra&#39;s implementation. 

The patch also includes extra methods to the VariableManagementExtension not only for defining, but also for modifying and removing variables. The model uses these methods in the setData() function to modify or delete variables. This way the backend must only implement the Extension&#39;s functions and variable modifying works automatically. </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;">I made the Octave backend use it, without subclassing, and all the wanted functions work. </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/lib/CMakeLists.txt <span style="color: grey">(1177594)</span></li>

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

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

 <li>/trunk/KDE/kdeedu/cantor/src/lib/extension.h <span style="color: grey">(1177594)</span></li>

 <li>/trunk/KDE/kdeedu/cantor/src/lib/extension.cpp <span style="color: grey">(1177594)</span></li>

</ul>

<p><a href="http://svn.reviewboard.kde.org/r/5386/diff/" style="margin-left: 3em;">View Diff</a></p>




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








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