<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://git.reviewboard.kde.org/r/105292/">http://git.reviewboard.kde.org/r/105292/</a>
</td>
</tr>
</table>
<br />
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/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 Calligra.</div>
<div>By Inge Wallin.</div>
<p style="color: grey;"><i>Updated June 25, 2012, 4:52 a.m.</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 is version 2 of the 3D shape. Further feedback is welcome. It's still not ready to merge with master, see the unsolved issues below.
Fixed issues in this patch:
- Generation of invalid odf. As far as I can tell it's valid now.
- Losing layer information
Unsolved issues:
- I have fixed what I thought were the issues that prevented OOo to load the saved files but it still doesn't show the 3D shapes after a roundtrip. I have no idea why this is.
- I have not yet attempted to make the shape a inline text object which would make it work in Calligra Words. I hope to get the help from boemann for this one.
- Losing precision in the view parameters (dr3d:vrp and dr3d:vpn) is not actually a problem with this shape but with Ko3DScene in libs/odf. I will fix that issue in a separate patch.</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;">This patch adds rudimentary support for the dr3d:scene element and its children by introducing a 3D shape. The 3D support in ODF is pretty simple: it just defines 4 different object types: cube, sphere, extrude and rotate as well as a scene element that acts a bit like a group (draw:g).
I implemented all the object types as KoShapes because they can have styling and the scene object is also a KoShapeContainer. None of the shapes except for the scene itself can be modified now, and for the scene it's only the standard shape parameters (size, position, transform, etc).
My plan is to work in 3 stages:
1. Loading and saving - this prevents data loss
2. Rendering - this implements viewing
3. Scene and object editing
This patch implements stage 1 only.
My goal was to load dr3d:scenes and save them back with full compatibility with OOo and LO. Unfortunately I didn't manage to do that yet.
I have tested with Karbon during the development and it loads and savs the scenes nicely. But calling KoShape::loadOdfAttributes(..., OdfAllAttributes) in karbon still loses the layer information. This makes OOo/LO not show the shapes when they are loaded again after a roundtrip through Karbon. I have not been able to analyze why Karbon saves back all shapes with layer="" when the infile clearly has layer="layout".
And if I want to make it work in Words and presumably also Stage (and Sheets?) I have to integrate it with the KoInlineObjectRegistry in kotext, something that I have also not yet managed to do. Help would be appreciated here.
But until Karbon is fixed and Words integration is done, I'm happy to receive and integrate feedback here.</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;">Tested with a simple ODG file containing 3D objects.</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>plugins/staging/CMakeLists.txt <span style="color: grey">(f55b316)</span></li>
<li>plugins/staging/threedshape/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>
<li>plugins/staging/threedshape/Messages.sh <span style="color: grey">(PRE-CREATION)</span></li>
<li>plugins/staging/threedshape/Object3D.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>plugins/staging/threedshape/Object3D.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>plugins/staging/threedshape/Objects.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>plugins/staging/threedshape/Objects.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>plugins/staging/threedshape/PLAN <span style="color: grey">(PRE-CREATION)</span></li>
<li>plugins/staging/threedshape/SceneObject.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>plugins/staging/threedshape/SceneObject.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>plugins/staging/threedshape/ThreedShapeFactory.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>plugins/staging/threedshape/ThreedShapeFactory.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>plugins/staging/threedshape/ThreedShapePlugin.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>plugins/staging/threedshape/ThreedShapePlugin.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>plugins/staging/threedshape/threedshape.desktop <span style="color: grey">(PRE-CREATION)</span></li>
<li>plugins/staging/threedshape/utils.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>plugins/staging/threedshape/utils.cpp <span style="color: grey">(PRE-CREATION)</span></li>
</ul>
<p><a href="http://git.reviewboard.kde.org/r/105292/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>