[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.
>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 different \
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 new 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 still 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 so that I \
can continue building on it.
* There's going to be a naming clash between KWord's KoTableStyle and the one \
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 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't want to clutter \
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 because 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.</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