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

(Updated March 18, 2013, 6:39 p.m.)


Review request for Calligra.


Changes
-------

This is version 4 of this patch.  Changes:

 - Simplified the backend API.  It's now only one callback function per tag and 
an added parameter that tells if it's the start or the end of the tag.
 - Put the Context in it's own file.
 - Heavily extended the comments and made Doxygen class documentations from the 
expanded ones.

I know that this is not the final solution. This library is going to see more 
development, especially in the table and frame departments. I am also open to 
change into using a QXmlStreamReader based approach. However, I think that the 
current code is good enough to merge now and further development should be 
based on some real usecase, e.g. the docx export filter that is the target for 
this library. The first version is only going to export text and simple 
formatting and for that it's good enough already.


Description
-------

This patch creates a new library in filters/odftraverse. The purpose of this 
library is to create classes to make it easier to create export filters for ODF 
files. What you do to use this library is that you inherit a base class for 
backends to this parser / traverser and in the many callbacks you write the 
output that is relevant for your output format.

To show how it can be used I have also created a very simple proof of concept 
filter that exports to text format, something Calligra actually lacked before.

The current implementation traverses only ODT files and there are still a 
number of NYI functions that I want to finish before the actual merge. But I 
thought I'd get some opinions early. In other words, I expect at least one, 
maybe two iterations before this branch can be merged.


Diffs (updated)
-----

  filters/CMakeLists.txt 8bcd640 
  filters/libodftraverse/CMakeLists.txt PRE-CREATION 
  filters/libodftraverse/OdfParser.h PRE-CREATION 
  filters/libodftraverse/OdfParser.cpp PRE-CREATION 
  filters/libodftraverse/OdfTraverserContext.h PRE-CREATION 
  filters/libodftraverse/OdfTraverserContext.cpp PRE-CREATION 
  filters/libodftraverse/OdtTraverser.h PRE-CREATION 
  filters/libodftraverse/OdtTraverser.cpp PRE-CREATION 
  filters/libodftraverse/OdtTraverserBackend.h PRE-CREATION 
  filters/libodftraverse/OdtTraverserBackend.cpp PRE-CREATION 
  filters/libodftraverse/odftraverse_export.h PRE-CREATION 
  filters/words/ascii/AsciiExport.h PRE-CREATION 
  filters/words/ascii/AsciiExport.cpp PRE-CREATION 
  filters/words/ascii/CMakeLists.txt d36de47 
  filters/words/ascii/OdtTraverserAsciiBackend.h PRE-CREATION 
  filters/words/ascii/OdtTraverserAsciiBackend.cpp PRE-CREATION 
  filters/words/ascii/TODO ceb1a24 
  filters/words/ascii/words_ascii_export.desktop PRE-CREATION 

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


Testing
-------

Tested with a lengthy text file.


Thanks,

Inge Wallin

_______________________________________________
calligra-devel mailing list
calligra-devel@kde.org
https://mail.kde.org/mailman/listinfo/calligra-devel

Reply via email to