[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice-devel
Subject:    Review Request: Addition of classes for the centralization of writing
From:       "Carlos Licea" <carlos_licea () hotmail ! com>
Date:       2010-10-29 3:09:41
Message-ID: 20101029030941.14514.24545 () vidsolbach ! de
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


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

Review request for KOffice and Casper Boemann.


Summary
-------

Warning: Mildly-Long description ahead.

>Rationale
Currently we need to save a table in at less 3 different parts:
* The TableShape (TODO as of now)
* The PPTX filter
* The DOCX filter
(We could include The KSpread table but I don't know if KSpread would like =
to outsource the saving of its file format.)

So far we have had different implementations, everyone with slightly differ=
ent behavior and different quirks and bugs. For this reason I've decided to=
 create a "centralized" way to save a table.
Originally I started this work in the MSOOXML filters, then moved it to a n=
ew library but then I realized that the best place was libs/odf.

>Work done
The patch introduces several classes that map to the ODF concepts. So far I=
'm mildly satisfied with the results, I think the API promises but it's sti=
ll a long way from complete.

>Remarks
>> General
There are a few remarks I'd like to point out:
* Give a through review to the API, I want it to be as stable as possible s=
o that I can continue building on it.
* There's going to be a naming clash between KWord's KoTableStyle and the o=
ne proposed here. I propose renaming KWord's as this class is more generic,=
 plus it is meant to be be a public API for our ODF library. A namespace co=
uld also be added (Ko)ODF.
* I added a KoStyle class. As I said, I intended this to be a new library b=
efore realizing that it should go to the ODF library. I did, however left i=
t as it allows less look-ups of the name in the KoGenStyles.
* Somebody might ask why I added a KoTableProperties, I didn't want to clut=
ter the KoTable API with so many properties when its behavior is much more =
important.
* I still haven't added the export macro to the classes as it's on another =
one of my branches.
* Tests are coming.
* Documentation is also coming, I have some of it in a branch but I haven't=
 heavily invested in it as I still consider this a work in progress.
* Adaptation in the MsooXml filters is also comming, not released again bec=
ause of unstable API.

>>Implementation specific
* KoTable is the owner of all the KoCell's, KoRow's and KoColumn's. There's=
 no way to create one of those outside the Table.
* KoCellValue maps to office:value and its linked attributes.
* KoCellChild on the other hand represents all the different children of a =
Cell in the table:table-cell. I intend it to be expanded over time to cover=
 many more children so that they also can be created using a nice API.


Diffs
-----

  branches/work/koffice-essen/libs/odf/CMakeLists.txt 1186909 =

  branches/work/koffice-essen/libs/odf/KoCell.h PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoCell.cpp PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoCellChild.h PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoCellChild.cpp PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoCellStyle.h PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoCellStyle.cpp PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoCellValue.h PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoCellValue.cpp PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoColumn.h PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoColumn.cpp PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoColumnStyle.h PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoDummyCellValue.h PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoDummyCellValue.cpp PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoRawCellChild.h PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoRawCellChild.cpp PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoRow.h PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoRow.cpp PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoRowStyle.h PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoStyle.h PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoStyle.cpp PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoTable.h PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoTable.cpp PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoTableProperties.h PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoTableStyle.h PRE-CREATION =

  branches/work/koffice-essen/libs/odf/KoTableTemplate.h PRE-CREATION =


Diff: http://svn.reviewboard.kde.org/r/5726/diff


Testing
-------

As I said tests are coming too.


Thanks,

Carlos


[Attachment #5 (text/html)]

<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/5726/">http://svn.reviewboard.kde.org/r/5726/</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 KOffice and Casper Boemann.</div>
<div>By Carlos Licea.</div>





<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;">Warning: Mildly-Long description ahead.

&gt;Rationale
Currently we need to save a table in at less 3 different parts:
* The TableShape (TODO as of now)
* The PPTX filter
* The DOCX filter
(We could include The KSpread table but I don&#39;t know if KSpread would like to \
outsource the saving of its file format.)

So far we have had different implementations, everyone with slightly different \
behavior and different quirks and bugs. For this reason I&#39;ve decided to create a \
&quot;centralized&quot; way to save a table. Originally I started this work in the \
MSOOXML filters, then moved it to a new library but then I realized that the best \
place was libs/odf.

&gt;Work done
The patch introduces several classes that map to the ODF concepts. So far I&#39;m \
mildly satisfied with the results, I think the API promises but it&#39;s still a long \
way from complete.

&gt;Remarks
&gt;&gt; General
There are a few remarks I&#39;d like to point out:
* Give a through review to the API, I want it to be as stable as possible so that I \
                can continue building on it.
* There&#39;s going to be a naming clash between KWord&#39;s KoTableStyle and the one \
proposed here. I propose renaming KWord&#39;s as this class is more generic, plus it \
is meant to be be a public API for our ODF library. A namespace could also be added \
                (Ko)ODF.
* I added a KoStyle class. As I said, I intended this to be a new library before \
realizing that it should go to the ODF library. I did, however left it as it allows \
                less look-ups of the name in the KoGenStyles.
* Somebody might ask why I added a KoTableProperties, I didn&#39;t want to clutter \
                the KoTable API with so many properties when its behavior is much \
                more important.
* I still haven&#39;t added the export macro to the classes as it&#39;s on another \
                one of my branches.
* Tests are coming.
* Documentation is also coming, I have some of it in a branch but I haven&#39;t \
                heavily invested in it as I still consider this a work in progress.
* Adaptation in the MsooXml filters is also comming, not released again because of \
unstable API.

&gt;&gt;Implementation specific
* KoTable is the owner of all the KoCell&#39;s, KoRow&#39;s and KoColumn&#39;s. \
                There&#39;s no way to create one of those outside the Table.
* KoCellValue maps to office:value and its linked attributes.
* KoCellChild on the other hand represents all the different children of a Cell in \
the table:table-cell. I intend it to be expanded over time to cover many more \
children so that they also can be created using a nice API.</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;">As I said tests are coming too.</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>branches/work/koffice-essen/libs/odf/CMakeLists.txt <span style="color: \
grey">(1186909)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoCell.h <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoCell.cpp <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoCellChild.h <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoCellChild.cpp <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoCellStyle.h <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoCellStyle.cpp <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoCellValue.h <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoCellValue.cpp <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoColumn.h <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoColumn.cpp <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoColumnStyle.h <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoDummyCellValue.h <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoDummyCellValue.cpp <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoRawCellChild.h <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoRawCellChild.cpp <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoRow.h <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoRow.cpp <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoRowStyle.h <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoStyle.h <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoStyle.cpp <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoTable.h <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoTable.cpp <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoTableProperties.h <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoTableStyle.h <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>branches/work/koffice-essen/libs/odf/KoTableTemplate.h <span style="color: \
grey">(PRE-CREATION)</span></li>

</ul>

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




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




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



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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic