-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/105292/
-----------------------------------------------------------

(Updated Oct. 25, 2012, 7:27 p.m.)


Review request for Calligra.


Changes
-------

This is version 3 of the 3d shape. This revision fixes all of the issues above:
 - It generates valid ODF - at least the cases I tried
 - Names are fixed.
 - Saving is fixed.

There is still some incompatibility with LO/OOo but that is not the fault of 
this diff. It's that LO generates a lot of style parameters that shouldn't be 
necessary and expects an as yet undetermined combination of them to load the 
file correctly.

Note that these style parameters are generated in other parts of the graphic 
styles than in this plugin. 

This patch also uncovers two bugs in Calligra that I will report separately:
 - If a shape is anchored to paragraph then its svg:x and svg:y changes.
 - in a draw:custom-shape there is a <text:p> in the infile inside the 
custom-shape but it's missing in the saved file.
 I will report these bugs separately.


Description
-------

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.


Diffs (updated)
-----

  libs/kotext/opendocument/KoTextLoader.cpp e373785 
  plugins/staging/CMakeLists.txt f55b316 
  plugins/staging/threedshape/CMakeLists.txt PRE-CREATION 
  plugins/staging/threedshape/Messages.sh PRE-CREATION 
  plugins/staging/threedshape/Object3D.h PRE-CREATION 
  plugins/staging/threedshape/Object3D.cpp PRE-CREATION 
  plugins/staging/threedshape/Objects.h PRE-CREATION 
  plugins/staging/threedshape/Objects.cpp PRE-CREATION 
  plugins/staging/threedshape/PLAN PRE-CREATION 
  plugins/staging/threedshape/SceneObject.h PRE-CREATION 
  plugins/staging/threedshape/SceneObject.cpp PRE-CREATION 
  plugins/staging/threedshape/ThreedShapeFactory.h PRE-CREATION 
  plugins/staging/threedshape/ThreedShapeFactory.cpp PRE-CREATION 
  plugins/staging/threedshape/ThreedShapePlugin.h PRE-CREATION 
  plugins/staging/threedshape/ThreedShapePlugin.cpp PRE-CREATION 
  plugins/staging/threedshape/threedshape.desktop PRE-CREATION 
  plugins/staging/threedshape/utils.h PRE-CREATION 
  plugins/staging/threedshape/utils.cpp PRE-CREATION 

Diff: http://git.reviewboard.kde.org/r/105292/diff/


Testing
-------

Tested with a simple ODG file containing 3D objects.


Thanks,

Inge Wallin

_______________________________________________
calligra-devel mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/calligra-devel

Reply via email to