<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/5902/">http://svn.reviewboard.kde.org/r/5902/</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 marble.</div>
<div>By Bernhard Beschow.</div>


<p style="color: grey;"><i>Updated 2010-11-30 15:07:52.425476</i></p>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Changes</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 comprises SVN revisions 1202357-1202361

in addition to the old patch, it
* adjusts code according to the comments
* documents API changes
* doesn&#39;t expose the StackedTileLoader from the TextureLayer class</pre>
  </td>
 </tr>
</table>


<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;">Motivation
==========

The whole painting should be implemented in the view rather than in the model because it decouples data and its representation. This allows for having different graphics backends (hello OpenGL!) while having a common interface to the data.


Implementation
==============

MarbleMap is now the owner of all painting objects, e.g. the MeasureTool, a new TextureLayer class, the LayerManager, and others. To see all painting objects owned by MarbleMap, see the modified MarbleMap_p.h.

Since the LayerManager object is now owned by MarbleMap, the layer-relevant methods, slots, and signals (such as addLayer(), removeLayer(), renderPluginsInitialized()) are now forwarded by MarbleMap and Marblewidget rather than by MarbleModel.

The DownloadRegionDialog has been modified to take a MarbleWidget instead of a MarbleModel. I wonder if it makes more sense to take a MarbleMap here.

Please test if the patch works for you as well. Since the patch changes some initializaton orders in the constructors and some re-initialization orders on theme change, it is important to test these code paths more extensively.

If you see that the patch violates some assumptions/invariants, please report as well.</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;">Works for me using the KDE version in the majority of cases.</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> (updated)</h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>/trunk/KDE/kdeedu/marble/docs/release_notes/APIChanges-0.11.txt <span style="color: grey">(1202355)</span></li>

 <li>/trunk/KDE/kdeedu/marble/src/ControlView.cpp <span style="color: grey">(1202355)</span></li>

 <li>/trunk/KDE/kdeedu/marble/src/QtMainWindow.cpp <span style="color: grey">(1202355)</span></li>

 <li>/trunk/KDE/kdeedu/marble/src/lib/AbstractScanlineTextureMapper.h <span style="color: grey">(1202355)</span></li>

 <li>/trunk/KDE/kdeedu/marble/src/lib/CMakeLists.txt <span style="color: grey">(1202355)</span></li>

 <li>/trunk/KDE/kdeedu/marble/src/lib/DownloadRegionDialog.h <span style="color: grey">(1202355)</span></li>

 <li>/trunk/KDE/kdeedu/marble/src/lib/DownloadRegionDialog.cpp <span style="color: grey">(1202355)</span></li>

 <li>/trunk/KDE/kdeedu/marble/src/lib/MarbleMap.h <span style="color: grey">(1202355)</span></li>

 <li>/trunk/KDE/kdeedu/marble/src/lib/MarbleMap.cpp <span style="color: grey">(1202355)</span></li>

 <li>/trunk/KDE/kdeedu/marble/src/lib/MarbleMap_p.h <span style="color: grey">(1202355)</span></li>

 <li>/trunk/KDE/kdeedu/marble/src/lib/MarbleModel.h <span style="color: grey">(1202355)</span></li>

 <li>/trunk/KDE/kdeedu/marble/src/lib/MarbleModel.cpp <span style="color: grey">(1202355)</span></li>

 <li>/trunk/KDE/kdeedu/marble/src/lib/MarbleWidget.h <span style="color: grey">(1202355)</span></li>

 <li>/trunk/KDE/kdeedu/marble/src/lib/MarbleWidget.cpp <span style="color: grey">(1202355)</span></li>

 <li>/trunk/KDE/kdeedu/marble/src/lib/MarbleWidgetInputHandler.cpp <span style="color: grey">(1202355)</span></li>

 <li>/trunk/KDE/kdeedu/marble/src/lib/MarbleWidgetPopupMenu.cpp <span style="color: grey">(1202355)</span></li>

 <li>/trunk/KDE/kdeedu/marble/src/lib/PlacemarkLayout.cpp <span style="color: grey">(1202355)</span></li>

 <li>/trunk/KDE/kdeedu/marble/src/lib/StackedTileLoader.h <span style="color: grey">(1202355)</span></li>

 <li>/trunk/KDE/kdeedu/marble/src/lib/StackedTileLoader.cpp <span style="color: grey">(1202355)</span></li>

 <li>/trunk/KDE/kdeedu/marble/src/marble_part.cpp <span style="color: grey">(1202355)</span></li>

 <li>/trunk/KDE/kdeedu/marble/src/plasmoid/worldclock.cpp <span style="color: grey">(1202355)</span></li>

</ul>

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




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




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