[ooo-build-commit] Branch 'ooo/master' - 2 commits - sax/inc sax/source svtools/source vcl/inc vcl/source

Jan Holesovsky kendy at kemper.freedesktop.org
Tue Aug 25 19:15:57 PDT 2009


 sax/inc/sax/fshelper.hxx                    |   12 ++-
 sax/source/tools/fastserializer.cxx         |   87 +++++++++++++++++-----------
 sax/source/tools/fastserializer.hxx         |   36 +++++++++--
 sax/source/tools/fshelper.cxx               |   10 ++-
 svtools/source/filter.vcl/filter/filter.cxx |   11 ++-
 vcl/inc/vcl/graph.hxx                       |    2 
 vcl/source/gdi/graph.cxx                    |    2 
 7 files changed, 110 insertions(+), 50 deletions(-)

New commits:
commit d5bd17ee756aa063ff16072700d7bad7d8056e5b
Author: Vladimir Glazounov <vg at openoffice.org>
Date:   Tue Aug 25 13:07:56 2009 +0000

    CWS-TOOLING: integrate CWS sb110
    2009-08-05 15:28:43 +0200 sb  r274677 : CWS-TOOLING: rebase CWS sb110 to trunk at 274622 (milestone: DEV300:m54)
    2009-08-05 11:46:36 +0200 sb  r274646 : #i104018# fixed previous svn changeset 271712 (from issue 101244)
    2009-07-20 14:41:56 +0200 sb  r274138 : CWS-TOOLING: rebase CWS sb110 to trunk at 273858 (milestone: DEV300:m52)
    2009-06-02 11:42:17 +0200 sb  r272489 : CWS-TOOLING: rebase CWS sb110 to trunk at 272291 (milestone: DEV300:m49)
    2009-05-08 12:46:51 +0200 sb  r271712 : #i101244# after DLLs have been moved from basis to brand layer on Windows, code that used SvtPathOptions::GetModulePath to located libraries had to be adapted
    2009-05-08 10:10:43 +0200 sb  r271703 : #i101244# for performance reasons, on Windows move DLLs from basis to brand layer (i.e., next to executables); consequently eliminated some library duplications across the layers; adapted various code to the move
    2009-05-08 09:54:44 +0200 sb  r271702 : #i101244# hardwire Python dynamic libraries and script files into base layer (even if other dynamic libraries will move to brand layer on Windows), mainly because the pyuno dynamic library is both linked against from other dynamic libraries (pythonloader.uno) and accessed via "import pyuno" from Python scripts
    2009-05-07 17:18:30 +0200 sb  r271686 : #i101244# support NativeServicesURLPrefix on individual files; to implement that, changed meaning of global unomaxservices
    2009-05-07 17:15:24 +0200 sb  r271685 : #i101244# take legacy_binfilters.rdb explicitly from $OOO_BASE_DIR/program (instead of implicitly next to some dynamic library); cleaned up dead code
    2009-05-07 17:12:12 +0200 sb  r271684 : #i101244# take senddoc.exe explicitly from $OOO_BASE_DIR/program (instead of implicitly next to some dynamic library)
    2009-05-07 17:11:33 +0200 sb  r271683 : #i101244# take odbcconfig.exe explicitly from $OOO_BASE_DIR/program (instead of implicitly next to some dynamic library)
    2009-05-07 17:09:44 +0200 sb  r271682 : #i101244# read configmgr ini file explicitly from $OOO_BASE_DIR/program (instead of next to configmgr dynamic library)

diff --git a/svtools/source/filter.vcl/filter/filter.cxx b/svtools/source/filter.vcl/filter/filter.cxx
index d05c6d7..96b065d 100644
--- a/svtools/source/filter.vcl/filter/filter.cxx
+++ b/svtools/source/filter.vcl/filter/filter.cxx
@@ -74,8 +74,8 @@
 #include <com/sun/star/ucb/CommandAbortedException.hpp>
 #include <unotools/ucbstreamhelper.hxx>
 #include <unotools/localfilehelper.hxx>
-#include <svtools/pathoptions.hxx>
 #include <comphelper/processfactory.hxx>
+#include <rtl/bootstrap.hxx>
 #include <rtl/instance.hxx>
 
 #include "SvFilterOptionsDialog.hxx"
@@ -1038,8 +1038,13 @@ void GraphicFilter::ImplInit()
 
     if( bUseConfig )
     {
-        SvtPathOptions aPathOpt;
-        aFilterPath = aPathOpt.GetModulePath();
+#if defined WNT
+        rtl::OUString url(RTL_CONSTASCII_USTRINGPARAM("$BRAND_BASE_DIR/program"));
+#else
+        rtl::OUString url(RTL_CONSTASCII_USTRINGPARAM("$OOO_BASE_DIR/program"));
+#endif
+        rtl::Bootstrap::expandMacros(url); //TODO: detect failure
+        utl::LocalFileHelper::ConvertURLToPhysicalName(url, aFilterPath);
     }
 
     pErrorEx = new FilterErrorEx;
commit 7f2f86dd0157610f353592ac6ffc99e65d8fd313
Author: Release Engineers <releng at openoffice.org>
Date:   Tue Aug 25 11:00:47 2009 +0000

    CWS-TOOLING: integrate CWS ooxml03
    2009-08-11 12:16:50 +0200 kendy  r274852 : CWS-TOOLING: rebase CWS ooxml03 to trunk at 274622 (milestone: DEV300:m54)
    2009-07-17 17:55:14 +0200 hbrinkm  r274100 : resolved warning on unxlngi6.pro
    2009-07-15 17:11:09 +0200 kendy  r274015 : #i96319# With the disabled docx pieces, libmsword is not a UNO library.
    2009-07-15 13:38:36 +0200 hbrinkm  r274010 : removed unresolved symbols
    2009-07-13 16:06:11 +0200 hbrinkm  r273943 : resolved warnings
    2009-07-10 14:01:03 +0200 hbrinkm  r273889 : changes to make compile on Windows
    2009-06-22 19:46:17 +0200 kendy  r273252 : #i96319# Disable the DOCX export, it's not perfect yet...
    2009-06-22 13:04:32 +0200 kendy  r273219 : CWS-TOOLING: rebase CWS ooxml03 to trunk at 272827 (milestone: DEV300:m50)
    2009-06-11 17:11:39 +0200 kendy  r272890 : #i96319# Fix regression in the Word 95 output of hyperlinks.
    2009-06-05 17:53:08 +0200 kendy  r272710 : #i96319# Fix regression in Word 95 output (wrong style number when nodes recurse).
    2009-06-03 00:19:27 +0200 kendy  r272529 : #i96319# Fix regression in output of the section breaks.
    2009-05-29 18:30:19 +0200 kendy  r272475 : CWS-TOOLING: rebase CWS ooxml03 to trunk at 272291 (milestone: DEV300:m49)
    2009-05-29 09:58:02 +0200 kendy  r272435 : #i102354# Don't write the debug info directly to the document.
    2009-05-28 15:57:01 +0200 kendy  r272411 : #i102260# Revert another trivial fix.
    2009-05-26 16:43:07 +0200 kendy  r272310 : #i102260# Disable fix of FILLIN fields.
    2009-05-26 14:14:09 +0200 kendy  r272302 : #i96319# Fix regression in the calculation of size of cells.
    2009-05-26 01:42:29 +0200 kendy  r272274 : #i96319# Fix a regression - don't export RES_PARATR_LINESPACING and RES_UL_SPACE with every style.
    [And additionally some beautification.]
    2009-05-23 00:37:44 +0200 thb  r272212 : #i102156# added XFastSAXSerializable plus implementation
    2009-05-22 16:43:09 +0200 kendy  r272201 : CWS-TOOLING: rebase CWS ooxml03 to trunk at 271830 (milestone: DEV300:m48)
    2009-05-14 23:37:02 +0200 thb  r271924 : #i10000# post-filter split fixes - make non-pro compile again
    2009-05-14 22:35:54 +0200 thb  r271923 : #i10000# post-svx split fixes - both librpt and librptui need libsvx
    2009-05-14 21:39:08 +0200 thb  r271922 : #i10000# post-svx split work - getting nonpro build working again
    2009-05-11 09:11:23 +0200 kendy  r271740 : #i99638# svxcore library is not a UNO library.
    2009-04-29 17:31:45 +0200 kendy  r271389 : #i96319# Fixed a corner case in docx export of nested tables.
    Actually, this even simplifies the code a bit :-)
    2009-04-29 12:10:08 +0200 kendy  r271364 : #i96319# Fix output of spacing in docx.
    2009-04-29 10:56:43 +0200 kendy  r271357 : #i96319# Fix an endless loop in the docx export of bookmarks.
    2009-04-29 01:06:21 +0200 kendy  r271348 : #i96319# Fix output of cell width and height.
    2009-04-27 13:29:02 +0200 kendy  r271264 : #i96319# Fix output of section columns (their number + widths) for docx.
    2009-04-24 15:51:23 +0200 kendy  r271219 : #i96319# Fix output of dates - xsi:type=... should be there only for dcterms.
    2009-04-23 18:27:28 +0200 kendy  r271190 : #i96319# Fix output of gridCol's.
    2009-04-23 17:13:44 +0200 kendy  r271184 : #i96319# Avoid incorrect double output of tcPr.
    2009-04-22 15:58:10 +0200 kendy  r271125 : #i96319# Fix the output of the nested tables after all the rebases.
    2009-04-20 15:16:48 +0200 kendy  r270989 : #i96319# More correct output of the nodes.
    2009-04-20 13:27:06 +0200 kendy  r270976 : #i96319# Make it build after the rebase to m46 again; maybe does not run yet.
    2009-04-10 23:00:46 +0200 kendy  r270725 : CWS-TOOLING: rebase CWS ooxml03 to trunk at 270723 (milestone: DEV300:m46)
    2009-04-09 17:31:44 +0200 kendy  r270716 : #i96319# Fix output of headers/footers.
    2009-04-09 16:42:13 +0200 kendy  r270715 : #i99638# Fix visibility for the debug build of svx.
    2009-04-03 10:27:50 +0200 kendy  r270466 : #i99683# One forgotten gid_File_Filter_Emp -> gid_File_Filter_Sdfilt.
    2009-03-06 16:19:03 +0100 kendy  r269013 : #i99638# Remove SpecialProgress-related methods and members, not used any more, and breaks linking on Win32.
    2009-03-06 09:43:55 +0100 kendy  r268974 : #i99638# Resolve some more unresolved symbols on Win32.
    2009-03-05 23:01:39 +0100 kendy  r268946 : #i99638# Export less SdStyleSheetPool symbols.
    2009-03-05 15:31:23 +0100 kendy  r268910 : #i99638# MSVC needs struct WW8_PdAttrDesc declared, otherwise fails to link.
    2009-03-04 14:15:23 +0100 kendy  r268826 : #i99638# More Win32-related build fixes.
    2009-03-04 13:47:48 +0100 kendy  r268823 : #i99638# Disable pptx export again, brougth in by mistake.
    2009-03-04 09:54:00 +0100 kendy  r268786 : #i99638# Deliver also isvxcore.lib and isvxmsfilter.lib.
    2009-03-03 17:42:25 +0100 kendy  r268773 : #i99638# SdrModel::setUnoModel() should not be inline.
    2009-03-03 17:25:59 +0100 kendy  r268770 : #i99638# Ugh, revert.
    2009-03-03 17:05:16 +0100 kendy  r268765 : #i99638# Make ObjectContact dll private.
    2009-03-03 15:35:41 +0100 kendy  r268733 : #i99638# More destructors visible for Win32 linking.
    2009-03-03 14:26:23 +0100 kendy  r268726 : #i99638# Make some destructors visible, and change one static inline to static to Win32 linking happy.
    2009-03-03 10:42:12 +0100 kendy  r268712 : #i99638# More moving stuff around to make Win32 linking happy.
    2009-03-03 09:48:17 +0100 kendy  r268708 : #i99638# Reduce the includes, needed for Win32 linking.
    2009-03-03 08:48:00 +0100 kendy  r268705 : #i99638# ImpGetResStr() visibility markup moved to the header.
    2009-03-02 16:30:17 +0100 kendy  r268664 : #i99638# Fix visibility problems that appeared on x86.
    2009-02-27 22:25:57 +0100 kendy  r268618 : #i96319# Better definition of DBG in utils.hxx.
    2009-02-27 21:53:17 +0100 kendy  r268616 : #i96319# License for utils.hxx, define DBG only for the debug builds.
    2009-02-27 21:44:25 +0100 kendy  r268615 : #i96319# Fixed types for printf etc. parameters.
    2009-02-27 17:23:17 +0100 kendy  r268607 : #i96319# Fix build after the rebase.
    2009-02-27 15:12:49 +0100 kendy  r268597 : CWS-TOOLING: rebase CWS ooxml03 to trunk at 268395 (milestone: DEV300:m42)
    2009-02-27 12:37:57 +0100 kendy  r268580 : #i96319# Fix build dependency in oox.
    2009-02-26 22:02:06 +0100 kendy  r268547 : #i99683# Move ppt import to a separate library.
    The ppt export is already separate, so it makes sense to give there the
    import as well.  The current library 'emp' was renamed to 'scfilt', it
    links against svxmsfilter, and few symbols had to be made visible (28 of
    them).
    2009-02-26 14:36:25 +0100 kendy  r268520 : #i99638# Whitespace fixes.
    2009-02-26 14:31:35 +0100 kendy  r268518 : #i99638# Split svx into svxcore, svxmsfilter and the rest.
    SvxImportMSVBasic's SaveOrDelMSVBAStorage(),
    GetSaveWarningOfMSVBAStorage(), and GetMSBasicStorageName() must go
    to svxcore (because of Writer).
    2009-02-26 00:16:32 +0100 kendy  r268471 : #i99638# Split libsvx into 3 pieces - svxcore, svxmsfilter, and svx (the rest).
    This contains:
    - the split (based on inter-object dependencies)
      - svxcore is actually a closure on a graph where the objects are
        vertexes, and where there's an edge between 2 vertexes when one needs
        symbol from the second ;-) - maybe still could be split, but that
        will be most probably harder to achieve
      - svxmsfilter is a subset that is needed just by the filters of the MS
        Office formats
      - the new svx contains the rest that did not fit the above 2
    - visibility for svxcore
      - some svxcore symbols had to be exposed for svxmsfilter or svx
    - adaption of modules linking against svx
      - in some cases, linking just against svxcore is enough
    2009-02-25 23:35:03 +0100 kendy  r268470 : #i99545#
    Get rid of struct ConstAsciiString, and use simple #define's instead -
    it's a pre-requisite for a svx split, and also saves memory on x86-64,
    and some symbol names.
    2009-02-25 22:39:02 +0100 kendy  r268468 : #i96319# Get rid of the now unneecessary debug class DOCX.
    2009-02-17 20:35:29 +0100 kendy  r268190 : #i96319# WW8 filter rework + docx export
    License header + whitespace fixes.
    2009-02-17 20:02:39 +0100 kendy  r268189 : #i96319# WW8 filter rework + docx export
    Add license header to preset-definitions-to-shape-types.pl.
    2009-02-17 19:58:11 +0100 kendy  r268188 : #i96319# WW8 filter rework + docx export
    oox does not have to depend on FASTSAXLIB.
    2009-02-17 17:05:34 +0100 kendy  r268182 : #i96319# WW8 filter rework + docx export
    Fix the sax compilation, apparently some of the changes were missing.
    2009-02-17 13:04:14 +0100 kendy  r268163 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Fix output of shape paths (point components can be either 16 or 32 bit).
    [And also implement a fallback for the missing shapes - treated as rectangle.]
    2009-02-17 13:03:56 +0100 kendy  r268162 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Correction of some values.
    Now the shapes seem to be good enough; time to abandon them ;-)
    2009-02-17 13:03:37 +0100 kendy  r268161 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Better detection of consts.
    2009-02-17 13:03:19 +0100 kendy  r268160 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Fixed the 'sun' shape.
    2009-02-17 13:03:00 +0100 kendy  r268159 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Better check for unneeded 'prod's.
    2009-02-17 13:02:42 +0100 kendy  r268158 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Fix the adj values.
    2009-02-17 13:02:23 +0100 kendy  r268157 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Fix pentagon and star5 shapes.
    2009-02-17 13:02:04 +0100 kendy  r268156 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Fix most of the 'star' shapes by preventing an overflow.
    2009-02-17 13:01:41 +0100 kendy  r268155 : #i96319# WW8 filter rework + docx export
    From: Radek Doulik <rodo at novell.com>
    * fixed build after resolving conflicts
    2009-02-17 13:01:19 +0100 kendy  r268154 : #i96319# WW8 filter rework + docx export
    From: Radek Doulik <rodo at novell.com>
    * added TODO comment
    2009-02-17 13:00:59 +0100 kendy  r268153 : #i96319# WW8 filter rework + docx export
    From: Radek Doulik <rodo at novell.com>
    * implemented adjustments export in custom shapes
    2009-02-17 13:00:40 +0100 kendy  r268152 : #i96319# WW8 filter rework + docx export
    From: Radek Doulik <rodo at novell.com>
    * partially refactored EscherPropertyContainer::CreateCustomShapeProperties
       extracted 3 helper functions, which are now used in ooxml export
    2009-02-17 13:00:17 +0100 kendy  r268151 : #i96319# WW8 filter rework + docx export
    From: Radek Doulik <rodo at novell.com>
    * make mAny member of DrawingML protected, so that ShapeExport can access it
     * export connector shape
     * added DrawingML::WriteConnectorConnections
     * fixed bezier shape outline export (regression fix)
    2009-02-17 12:59:54 +0100 kendy  r268150 : #i96319# WW8 filter rework + docx export
    From: Radek Doulik <rodo at novell.com>
    * make EscherConnectorListEntry structure public, so that it can be used by ooxml export
    2009-02-17 12:59:34 +0100 kendy  r268149 : #i96319# WW8 filter rework + docx export
    From: Radek Doulik <rodo at novell.com>
    * added mapping of shapes to shape IDs
     * cleaned a bit shape name generation
    2009-02-17 12:59:13 +0100 kendy  r268148 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Fixed some of the text shapes, 166/202.
    In the 202, I counted even shapes that are marked 'should not be used' (and
    their definition is missing) even in the documentation.  The only really
    missing shapes are those that use general arcTo...
    2009-02-17 12:58:53 +0100 kendy  r268147 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Found missing shapes, now 159/202.
    2009-02-17 12:58:36 +0100 kendy  r268146 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Optimize the amount of formulas a bit.
    Adds one more shape that previously reached the top amount of formulas ;-)
    2009-02-17 12:58:15 +0100 kendy  r268145 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Implemented quadratic beziers, 144/202 now.
    I was unable to use 'qb', it did not produce good results, no idea why :-(
    Instead used 'c' - cubic bezier - and recounted the control points
    (mathematically equivalent representation).  The downside is that for some
    shapes I run out of formulas :-( - TODO later.
    2009-02-17 12:57:56 +0100 kendy  r268144 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Fix presetShapeDefinitions.xml, there's an error there.
    2009-02-17 12:57:31 +0100 kendy  r268143 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Implemented cubicBezTo + few formulas, now 136/202.
    2009-02-17 12:57:11 +0100 kendy  r268142 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Fixed units of sin/cos, which makes it now 118/202.
    Realized that some of the shapes are 'too small' - like <10 units, insetad of
    ~21600; have to look at that.
    2009-02-17 12:56:43 +0100 kendy  r268141 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: More arcTo shapes, 116/202 now.
    2009-02-17 12:56:21 +0100 kendy  r268140 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Better conversion of */ (fixes some shapes).  Implemented nostroke/nofill.
    2009-02-17 12:56:01 +0100 kendy  r268139 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: More formulas, and partially implemented 'arcTo' - 93/202 shapes now.
    2009-02-17 12:55:39 +0100 kendy  r268138 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Radically changed the conversion of formulas to be able to implement +/.
    [...and actually implemented it ;-), 60/202 shapes now.]
    2009-02-17 12:55:19 +0100 kendy  r268137 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Shape types generation plugged to the build, 53/202 shapes now.
    2009-02-17 12:54:57 +0100 kendy  r268136 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: More predefined shapes generated (thanks to 'pin' translation).
    2009-02-17 12:54:36 +0100 kendy  r268135 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Script that creates the predefined shape types + the definitions.
    The shape types themselves come from the OOXML documentation; the script just
    converts them from DrawingML to a VML representation in a C++ file.
    The converter is not feature-complete yet, resulting in some missing shapes.
    Also it is not yet part of the build (makefile.mk not modified yet).
    2009-02-17 12:54:10 +0100 kendy  r268134 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    docx export:
        + Fixed a regression on sections output
        + Columns break has to be postponed to the next paragraph
        + Implemented sections properly
        + Columns formatting properties exported
    2009-02-17 12:53:49 +0100 kendy  r268133 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    haven't I fixed those problems?
    2009-02-17 12:53:29 +0100 kendy  r268132 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    docx export:
         + table alignment is now exported
    2009-02-17 12:53:07 +0100 kendy  r268131 : #i96319# WW8 filter rework + docx export
    From: Jonathan Pryor <jpryor at novell.com>
    Integrate VMLExport with Calc for Comment export.
    Few minor changes needed to VMLExport so that Calc could customize the
    behavior.  Specifically, Calc needed to be able to:
      - Explicitly specify the //v:shape/@type attribute value so that Excel
        wouldn't show a diagonal "arrow" underneath the note text instead of
        showing an actual box.
      - Add custom Escher properties such as "hidden", etc.
      - Insert the //v:shape/x:ClientData element before //v:shape is closed.
    	* oox/inc/oox/export/vmlexport.hxx, oox/source/export/vmlexport.cxx:
    	  - Make Commit(), StartShape(), and EndShape() protected so that Calc
    	    can override those methods
    	    - StartShape() is needed to add //v:shape/@type
    	    - Commit() is needed to add new Escher properties
    	    - EndShape() is needed to generate //v:shape/x:ClientData.
    	  - Add AddShapeAttribute() method, so Calc can set the
    	    //v:shape/@type value.
    	  - Output "visibility:hidden" for the ESCHER_Prop_fHidden property.
    2009-02-17 12:52:46 +0100 kendy  r268130 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Finish the transition of VMLExport from 'sw' to 'oox' + few trivial fixes.
    The VML export code is now accessible as oox::vml::VMLExport.
    The (not that related) fixes include SAL_DLLPUBLIC_EXPORT -> OOX_DLLPUBLIC
    change and few warning fixes.
    2009-02-17 12:52:24 +0100 kendy  r268129 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Moved vmlexport.[hc]xx to oox.
    2009-02-17 12:52:04 +0100 kendy  r268128 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Cleanup before we move to oox.
    2009-02-17 12:51:41 +0100 kendy  r268127 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    docx export: Some more features for tables export
    2009-02-17 12:51:21 +0100 kendy  r268126 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    docx export:
         + nested tables export refinement
         + export row height and table headers
    2009-02-17 12:50:58 +0100 kendy  r268125 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Initialize a local variable.
    2009-02-17 12:50:34 +0100 kendy  r268124 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    docx export:
         fixed table layout for nested tables.
         Fixed nested tables output
    2009-02-17 12:50:13 +0100 kendy  r268123 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    docx export:
         added support of nested tables. Still needs to be heavily
         tested. Some problems are occuring with the grid layout.
    2009-02-17 12:49:49 +0100 kendy  r268122 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Change SAL_DLLPUBLIC_EXPORT to SW_DLLPUBLIC which is more appropriate here.
    2009-02-17 12:49:28 +0100 kendy  r268121 : #i96319# WW8 filter rework + docx export
    From: Jonathan Pryor <jpryor at novell.com>
    Fix line-callout-3 translation.
    The `line-callout-3' callout was being mapped to the `accentBorderCallout90'
    OOXML callout, which Excel didn't like at all.  Changing this to
    `borderCallout3' produces OOXML that Excel will load.
    Not sure what mso-spt49 is supposed to be, but given the other mso-spt* values
    I think accentBorderCallout90 makes more sense (but cannot find such a value
    in the OOXML XSD files).
    2009-02-17 12:49:05 +0100 kendy  r268120 : #i96319# WW8 filter rework + docx export
    From: Jonathan Pryor <jpryor at novell.com>
    Fix refactoring of DrawingML::WritePolyPolygon().
    The original version only checked rPoly.GetFlags() for every item *after* the
    first item -- i.e. the first item was skipped.  Change the `for' loop start
    index to follow this behavior.
    2009-02-17 12:48:42 +0100 kendy  r268119 : #i96319# WW8 filter rework + docx export
    From: Jonathan Pryor <jpryor at novell.com>
    Fix Bezier output.
    MIME-Version: 1.0
    Content-Type: text/plain; charset=utf-8
    Content-Transfer-Encoding: 8bit
    The //a:cubicBezTo element (?5.1.11.7) requires that there be *three* //a:pt
    child elements.  Ensure that this is the case (otherwise Excel yells at me
    about invalid DrawingML if I export a free-form shape).
    This also cleans up the code slightly, by moving out a `if(j==0)` block to
    before the for loop, and re-indenting the code to simplify understanding.
    2009-02-17 12:48:22 +0100 kendy  r268118 : #i96319# WW8 filter rework + docx export
    From: Jonathan Pryor <jpryor at novell.com>
    Flush documentation.
    2009-02-17 12:48:00 +0100 kendy  r268117 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    docx export:
         + implemented table cell margins and fixed grid layout
         + reapplied missing patch from m34 about default spacing of
     paragraphs
    2009-02-17 12:47:40 +0100 kendy  r268116 : #i96319# WW8 filter rework + docx export
    From: Jonathan Pryor <jpryor at novell.com>
    Migrate Calc to use ShapeExport.
    Minor snafu here: XML_nvPr is valid only within Impress, so if Calc exports it
    Excel doesn't like the resulting documents.  Remove XML_nvPr output from
    ShapeExport and replace with calls to ShapeExport::WriteNonVisualProperties().
    PowerPointShapeExport can thus override ShapeExport::WriteNonVisualProperties()
    to generate the required //p:nvPr elements.
    	* oox/inc/oox/export/shapes.hxx: Declare
    	  ShapeExport::WriteNonVisualProperties().
    	* oox/source/export/shapes.cxx:
    	* - Replace XML_nvPr generation with calls to
    	    WriteNonVisualProperties().
    	  - Get the GraphicObject name property from the shape instead of
    	    generating "Picture N" values (if the shape has a Name property).
    	  - Generate a GraphicObject Description attribute, if present.
    	  - Remove unused method parameter names (to remove warnings).
    2009-02-17 12:47:15 +0100 kendy  r268114 : #i96319# WW8 filter rework + docx export
    From: Radek Doulik <rodo at novell.com>
    * fixed few shape names, which were missing Shape at the end
     * fixed mso-spt202 custom shape translation, which was causing problems with word wrapping
     * enabled wrap attribure for bodyPr tag
     * fixed 2 compiler warnings
    2009-02-17 12:46:55 +0100 kendy  r268113 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    docx export: column spans in tables are now exported
    2009-02-17 12:46:33 +0100 kendy  r268112 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    docx:
       + Fixed table structure output
       + Output table borders
       + Fixed borders output
    2009-02-17 12:46:11 +0100 kendy  r268111 : #i96319# WW8 filter rework + docx export
    From: Jonathan Pryor <jpryor at novell.com>
    Excercise ShapeExport::WriteShape().
    Refactor PowerPointExport::WriteShapeTree() to use ShapeExport::WriteShape(),
    overloading ShapeExport virtual Write* methods as appropriate to insert
    support for additional shapes.
    	* oox/source/export/shapes.cxx: Correct the shape names (often by
    	  appending "Shape") so that the table lookup works as expected.
    2009-02-17 12:45:49 +0100 kendy  r268110 : #i96319# WW8 filter rework + docx export
    From: Jonathan Pryor <jpryor at novell.com>
    Implement multiplexing ShapeExport::WriteShape().
    What got me started on this whole "migrate large fractions of sd into oox"
    binge was PowerPointExport::WriteShapeTree(), which included a "multiplexer" --
    a method that took the XShape's shape type and translated it into a (set of)
    member function(s) to call to convert the shape.
    I needed just such a multiplexer for Calc, and was loathe to copy/paste it.
    However, PowerPointExport::WriteShapeTree() is far more complicated for
    something to go into oox, dealing as it does with grouping and myriad other
    sd-specific details.  Thus, an overhaul:
    All the ShapeExport::Write* methods are now virtual.  The multiplexing
    ShapeExport::WriteShape() method will consult a string type -> member function
    lookup table, and if a matching member function is found it will be invoked.
    This allows subclasses to customize behavior.
    If no matching conversion member function is found, then
    ShapeExport::WriteUnknownShape() is invoked, allowing subclasses to
    transparently handle additional shapes w/o special-casing the WriteShape() call.
    	* oox/inc/oox/export/shapes.hxx, oox/source/export/shapes.cxx: Make
    	  Write* methods virtual; Add WriteUnknownShape(); Replace the
    	  (non-functional) WriteShapeTree() with the multiplexing
    	  WriteShape(), and provide a hashtable mapping shape type to
    	  conversion method.
    2009-02-17 12:45:28 +0100 kendy  r268109 : #i96319# WW8 filter rework + docx export
    From: Jonathan Pryor <jpryor at novell.com>
    Move Impress DrawingML Export code into oox::drawingml::ShapeExport.
    Begin moving sharable sd/source/filter/eppt/epptooxml.cxx DrawingML code into
    oox::drawingml::ShapeExport, so that DrawingML elements (w/ different
    namespaces) can use the same export code.
    WARNING: the migration makes the assumption that mXPropSet comes from mXShape,
    that is:
        Reference< XPropertySet > mXPropSet( mXShape, UNO_QUERY );
    If this is wrong, things will obviously break.
    This *should* be correct, as the altered code path rooted in
    PowerPointExport::WriteShapeTree() calls PPTWriterBase::GetShapeByIndex(),
    which ensures that mXPropSet is the XPropertySet for the mXShape instance:
        Any aAny( mXShape->queryInterface( ::getCppuType( (const Reference< XPropertySet >*) 0 ) ));
        aAny >>= mXPropSet;
    	* oox/inc/oox/export/shapes.hxx, oox/source/export/shapes.cxx: Sync
    	  with the above removed PowerPointExport methods.
    2009-02-17 12:45:11 +0100 kendy  r268108 : #i96319# WW8 filter rework + docx export
    From: Jonathan Pryor <jpryor at novell.com>
    Deliver inc/oox/export/shapes.hxx.
    2009-02-17 12:44:51 +0100 kendy  r268107 : #i96319# WW8 filter rework + docx export
    From: Jonathan Pryor <jpryor at novell.com>
    Abstract out sd's shape export code.
    MIME-Version: 1.0
    Content-Type: text/plain; charset=utf-8
    Content-Transfer-Encoding: 8bit
    DrawingML is an evil, evil thing -- it's highly duplicative.  For example, the
    <cNvPr/> element has been duplicated no less than four times into different
    XML namespaces: ?4.4.1.12, ?5.1.2.1.8, ?5.2.2.3, ?5.6.2.8, i.e. in the
    following XML namespaces (from the XSD files):
        http://schemas.openxmlformats.org/drawingml/2006/chartDrawing
        http://schemas.openxmlformats.org/drawingml/2006/main
        http://schemas.openxmlformats.org/drawingml/2006/picture
        http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing
        http://schemas.openxmlformats.org/presentationml/2006/main
    In all these cases, they all have the same attributes, the same parent
    elements, and the same child elements.  They are, for all intents and
    purposes, identica EXCEPT for the XML namespace.
    Instead of rampantly duplicating sd's shape export code and doing
    s/XML_p/XML_???/g (i.e. replace the namespace), I'm refactoring sd's export
    code into oox::drawingml::ShapeExport.  The ShapeExport constructor takes the
    target XML namespace as a parameter, and generates all XML relative to this
    namespace.
    	* inc/oox/export/drawingml.hxx: Add DrawingML::GetFB() and
    	  DrawingML::GetFS() accessor methods, which are needed by
    	  ShapeExport.
    	* source/export/makefile.mk: Add shapes.cxx to the build.
    	* inc/oox/export/shapes.hxx, source/export/shapes.cxx: Declare and
    	  implement oox::drawingml::ShapeExport.
    2009-02-17 12:44:32 +0100 kendy  r268106 : #i96319# WW8 filter rework + docx export
    From: Radek Doulik <rodo at novell.com>
    * extracted paragraph adjustment translation
     * added text wrap (commented out as it doesn't work flawlessly yet)
    2009-02-17 12:44:12 +0100 kendy  r268105 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    docx export: now able to export the tables structures
    2009-02-17 12:43:53 +0100 kendy  r268104 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    Fixed a bug in doc table export.
    2009-02-17 12:43:34 +0100 kendy  r268103 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    Fixed several build bugs:
         + strange integer conversion
         + unexported symbol dbg_out
         + Reintegrated missing patches from m34
         + Reupdated scp2 module to flag libmsword as a uno component
    2009-02-17 12:43:15 +0100 kendy  r268102 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Change hardcoded numbers into sprm constants.
    2009-02-17 12:42:58 +0100 kendy  r268101 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Make the tables build even with the docx-related changes.
    2009-02-17 12:42:38 +0100 kendy  r268100 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Write shapes defined by paths.
    2009-02-17 12:42:14 +0100 kendy  r268099 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    docx export: implemented paraSnapToGrid & suppressAutoHyphens
    2009-02-17 12:41:54 +0100 kendy  r268098 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    docx export: Implemented ParaScriptSpace and its friends
    2009-02-17 12:41:32 +0100 kendy  r268097 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    docx export: Keep with next paragraph
    2009-02-17 12:41:11 +0100 kendy  r268096 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    docx: Fixed tab position export, left margin was missing
    2009-02-17 12:40:48 +0100 kendy  r268095 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    TOX export:
       + fixed export fields expression containing tabs
       + fixed the begin element of fields like TOX, Hyperlinks and index marks
       + implemented export of index marks (same missing things than binary filter)
    2009-02-17 12:40:28 +0100 kendy  r268094 : #i96319# WW8 filter rework + docx export
    From: Jonathan Pryor <jpryor at novell.com>
    Export the core revision document property.
    The mapping between revision and getEditingCycles() was found by perusing the
    existing OLE Structured Storage output source.
    2009-02-17 12:40:10 +0100 kendy  r268093 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Preparations for the predefined shape types.
    2009-02-17 12:39:50 +0100 kendy  r268092 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Implemented the most interesting stroke properties.
    2009-02-17 12:39:31 +0100 kendy  r268091 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    Minimal working TOX export, not fully tested yet.
     Implemented DocxExport::AppendBookmark method
    2009-02-17 12:39:11 +0100 kendy  r268090 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Implemented the most interesting fill properties.
    2009-02-17 12:38:53 +0100 kendy  r268089 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    VML: Output of lines.
    2009-02-17 12:38:35 +0100 kendy  r268088 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    Thanks to kendy, dateToW3CDTF is now useless
    2009-02-17 12:38:16 +0100 kendy  r268087 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    Uncomplete merge + change the timestamp generation with the use of strftime
    2009-02-17 12:37:58 +0100 kendy  r268086 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    + Fixes in core properties export:
         - the first keyword was duplicated,
         - the CreationTime in apps.xml was written several times
     + Refactored the fields output to prepare the place for TOX: now
       using a stack of fields to output
     + Refactored the Hyperlink export implementation to handle links with
       anchors in documents
    2009-02-17 12:37:36 +0100 kendy  r268085 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    MS Word begins to like the VML generated by the docx export :-)
    We can export basic groups, rects and ellipses now; TODO other shapes and lots
    of properties.
    2009-02-17 12:37:18 +0100 kendy  r268084 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Propagate bounding rectangle in EscherEx::Commit().
    Ignored in EscherEx itself, but mandatory for the VML export.
    2009-02-17 12:36:59 +0100 kendy  r268083 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Comment out output of XML_TotalTime (xProperties->getEditingDuration()), breaks here.
    #i96319# WW8 filter rework + docx export
    confuses MS Office terribly.
    2009-02-17 12:36:42 +0100 kendy  r268082 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    The boost datetime conversion broke from time to time, no idea why :-(
    Now using the most trivial approach...
    2009-02-17 12:36:24 +0100 kendy  r268081 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Implementation of few basic VML shapes and properties.
    2009-02-17 12:36:06 +0100 kendy  r268080 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Add EscherPropertyContainer::GetOpts() to be able to get all the options at once.
    2009-02-17 12:35:48 +0100 kendy  r268079 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Include "tokens.hxx" instead of <oox/core/tokens.hxx>.
    The latter attempts to take the version from solver which is not there yet
    when building from scratch ;-)
    2009-02-17 12:35:28 +0100 kendy  r268078 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    Forgot to remove an include. Compiler didn't crash on it... strange
    2009-02-17 12:35:10 +0100 kendy  r268077 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    Merged the properties export code with the one of jonp.
     In fact, only the date formatting code of mine has been
     kept to replace jon's one.
    2009-02-17 12:34:49 +0100 kendy  r268076 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    Export of core properties migrated to oox module
    2009-02-17 12:34:23 +0100 kendy  r268075 : #i96319# WW8 filter rework + docx export
    From: Jonathan Pryor <jpryor at novell.com>
    Add some trace/debugging information.
    Some of the app/core properties are #ifdef'd, as I don't know what
    XDocumentProperties attribute is the appropriate mapping.
    My suspicion is that many of the remaining app/core properties may be found
    within the DocumentStatistics attribute, and thus I print out the document
    statistics found.
    (So far, I'm not seeing any from Calc, but this may bear some fruit with .docx
    or .pptx export...)
    2009-02-17 12:34:01 +0100 kendy  r268074 : #i96319# WW8 filter rework + docx export
    From: Jonathan Pryor <jpryor at novell.com>
    Document Properties: skip empty elements.
    	* xmlfilterbase.cxx (writeElement): Don't generate an element if the
    	  element has no value.
    2009-02-17 12:33:35 +0100 kendy  r268073 : #i96319# WW8 filter rework + docx export
    From: Jonathan Pryor <jpryor at novell.com>
    Initial stab at exporting document properties.
    Short, short version: to export document properties call
    XmlFilterBase::exportDocumentProperties(Reference<XDocumentProperties>).
    	* oox/inc/oox/core/xmlfilterbase.hxx, oox/source/core/xmlfilterbase.cxx:
    	  Add and implement XmlFilterBase::exportDocumentProperties(), which
    	  generates docProps/core.xml and docProps/app.xml.
    	* oox/source/token/tokens.txt: Add XML_vt element.
    	* sc/source/filter/excel/excdoc.cxx: call
    	  XmlFilterBase::exportDocumentProperties().
    	* sc/source/filter/excel/expop2.cxx: Remove sfx2::SaveOlePropertySet()
    	  call, as it isn't useful for OOXML output.
    2009-02-17 12:33:17 +0100 kendy  r268072 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Beginnings of the VML export.
    The shapes are exported, but with no attributes - so their position is
    not written yet, etc.
    2009-02-17 12:32:54 +0100 kendy  r268070 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Do more EscherEx methods virtual.
    We want to re-use EscherEx for the export of VML.  For this, some of the
    methods have to be made virtual so that we can change them to do what we
    need ;-)
    2009-02-17 12:32:26 +0100 kendy  r268069 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    Removed debug fprintf's
    2009-02-17 12:32:09 +0100 kendy  r268068 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    docx: bookmarks now exported
    2009-02-17 12:31:52 +0100 kendy  r268067 : #i96319# WW8 filter rework + docx export
    From: Radek Doulik <rodo at novell.com>
    * export polypolygons
     * export transformation defined by rectangle
    2009-02-17 12:31:35 +0100 kendy  r268066 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    Split text runs to be able to insert bookmark tags
    2009-02-17 12:31:18 +0100 kendy  r268065 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Enum for specifying the document type to DrawingML.
    Various document types need it differently...
    2009-02-17 12:30:57 +0100 kendy  r268064 : #i96319# WW8 filter rework + docx export
    From: Jonathan Pryor <jpryor at novell.com>
    Provide an appropriate //Relationship/@Target value.
    	* oox/source/export/drawingml.cxx: The //Relationship/@Target value
    	  needs to be a path relative to the DrawingML document.  For Excel,
    	  the DrawingML is in xl/drawings/drawing*.xml, while the embedded
    	  media is in xl/media/image*.  Thus, to get from
    	  xl/drawings/drawing*.xml to xl/media/image*, we need
    	  "../media/image", not "media/image".
    	  Without this change, Excel throws an error when loading the
    	  Spreadsheet, as it can't find the resource.
    2009-02-17 12:30:35 +0100 kendy  r268063 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Fixed output of the properties that are written at </pPr> or </rPr> time.
    Fixes the most annoying "the first run has strange properties" bug, and
    generally improves the quality of output of styles a lot.
    2009-02-17 12:30:16 +0100 kendy  r268062 : #i96319# WW8 filter rework + docx export
    From: Jonathan Pryor <jpryor at novell.com>
    Generate valid DrawingML.
    The DrawingML is a hack, with hard-coded values in various places that have no
    business being hardcoded, but it is valid, and Excel does load the DrawingML
    without error.  (It instead errors out because
    xl/drawings/_rels/drawing1.xml.rels contains an invalid file path. :-(
    	* oox/inc/oox/export/drawingml.hxx, oox/source/export/drawingml.cxx:
    	  Add a WriteBlipFill() overload which takes the XML namespace as an
    	  argument.  This is necessary because Excel wants a <xdr:blipFill/>
    	  element, not <a:blipFill/>, and I don't want to have to duplicate
    	  the rest of the WriteBlipFill() logic within sc.
    2009-02-17 12:29:59 +0100 kendy  r268061 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Remove one of the 2 fixes of the same problem ;-)
    2009-02-17 12:29:32 +0100 kendy  r268060 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Few whitespace fixes.
    2009-02-17 12:29:12 +0100 kendy  r268059 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Basic output of images works, both embedded as well as linked.
    Still some TODOs in FlyFrameGraphic(), to be solved later...
    2009-02-17 12:28:51 +0100 kendy  r268058 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Add TwipsToEMU() to oox/export/utils.hxx.
    2009-02-17 12:28:30 +0100 kendy  r268057 : #i96319# WW8 filter rework + docx export
    From: Jonathan Pryor <jpryor at novell.com>
    Fix the build.
    DrawingML::WriteImage(const Graphic&) needs to have a Graphic type in scope.
    2009-02-17 12:28:10 +0100 kendy  r268056 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Change define FSEND -1 to const sal_Int32 FSEND = -1.
    The former can hide errors, like startElementNS( ..., "xyz" FSEND ), because
    it compiles without warning, but then gets part of the string, and we end up
    without a sentinel.
    2009-02-17 12:27:50 +0100 kendy  r268055 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    Docx export: Dropdown field now exported
    2009-02-17 12:27:28 +0100 kendy  r268054 : #i96319# WW8 filter rework + docx export
    From: Jonathan Pryor <jpryor at novell.com>
    Add the xdr token.
    The `xdr' token is used as the XML namespace in Spreadsheet DrawingML
    documents.
    2009-02-17 12:27:08 +0100 kendy  r268053 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    With a bit of cheating, images can be written...
    Everything (but the image itself) is hardcoded so far.
    2009-02-17 12:26:47 +0100 kendy  r268052 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Write the location of the image as media/image, not ../media/image.
    Hopefully it does not break pptx - but for docx it's necessary.
    2009-02-17 12:26:24 +0100 kendy  r268051 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Improved mergeTopMarks().
    - instead of bool, it accepts MergeMarksEnum with values MERGE_MARKS_APPEND,
      MERGE_MARKS_PREPEND, and MERGE_MARKS_POSTPONE, which should be more readable
    - MERGE_MARKS_POSTPONE is a new thing, it allows to write output that is
      written with the next mergeTopMarks() - useful when you get some data too
      early and need to write them after the end of data that you are just
      writing.
    2009-02-17 12:26:05 +0100 kendy  r268050 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Output of images; framework is mostly done, but disabled due to problems with order.
    [So far it would be output inside rPr which is not what we want ;-)]
    2009-02-17 12:25:41 +0100 kendy  r268049 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Intoduced OUString DrawingML::WriteImage( const Graphic& rGraphic ).
    Additionally
    - added the possibility to write images to word/ subdir in the zip container,
      not just ppt/
    - added 'wp' to the known tokens
    - fixed Graphic::GetLink() in vcl to be 'const'
    - added svx and vcl to the dependencies of oox
    2009-02-17 12:25:18 +0100 kendy  r268048 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    merged binary and ooxml filters export.
    2009-02-17 12:24:55 +0100 kendy  r268047 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    Core properties created (still have to write the dates)
    2009-02-17 12:24:32 +0100 kendy  r268046 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    Added support for GetExpression and SetExpression fields (only in text format).
    2009-02-17 12:24:09 +0100 kendy  r268045 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    Some more fields supported
    2009-02-17 12:23:49 +0100 kendy  r268044 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    Some more fields
    2009-02-17 12:23:27 +0100 kendy  r268043 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Write also numbering type "none".
    2009-02-17 12:23:07 +0100 kendy  r268041 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Numbering finished, implemented the rest of the level information.
    2009-02-17 12:22:45 +0100 kendy  r268040 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    docx fields exports: the start of the way
    2009-02-17 12:22:23 +0100 kendy  r268039 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Write abstract numbering definitions including the levels.
    Not all of the information is written yet, but will be soon ;-)
    2009-02-17 12:22:00 +0100 kendy  r268038 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Implementation of the abstract numbering definitions, not yet finished.
    2009-02-17 12:21:39 +0100 kendy  r268037 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Output numbering definition instances.
    Abstract numbering definitions are still TODO.
    2009-02-17 12:21:21 +0100 kendy  r268036 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Rename OutListTab() -> NumberingDefinitions(), and OutListTabLevels() -> AbstractNumberingDefinitions().
    This is better aligned with what is used in the docx documentation.
    2009-02-17 12:21:00 +0100 kendy  r268035 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    Changed the ColorToHex to support the "auto" value
     Code cleaning according to kendy's remarks
    2009-02-17 12:20:37 +0100 kendy  r268034 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    table horizontal merge
    2009-02-17 12:20:15 +0100 kendy  r268033 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    impl_convertColor() is not necessary, we already have impl_ColorToHex().
    2009-02-17 12:19:52 +0100 kendy  r268032 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    docx Line numbering
    2009-02-17 12:19:31 +0100 kendy  r268031 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    docx: Implemented Section Types
    2009-02-17 12:19:09 +0100 kendy  r268030 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    FIX for borders: documents with no section border didn't wrote completely
    2009-02-17 12:18:50 +0100 kendy  r268029 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    Fixed some output errors for paragraphs borders
    2009-02-17 12:18:31 +0100 kendy  r268028 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    Fixed docx page border export problems and added color support
    2009-02-17 12:18:13 +0100 kendy  r268027 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    Beginning of page borders implementation
    2009-02-17 12:17:54 +0100 kendy  r268026 : #i96319# WW8 filter rework + docx export
    From: Radek Doulik <rodo at novell.com>
    * export line arrow ends
    2009-02-17 12:17:34 +0100 kendy  r268025 : #i96319# WW8 filter rework + docx export
    From: Radek Doulik <rodo at novell.com>
    * make helper function GetLineArrow public so that it can be used in ooxml export
       put it in EscherPropertyContainer class (static method)
    2009-02-17 12:17:16 +0100 kendy  r268024 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    renamed AppendRelation to AddRelation.
    2009-02-17 12:16:58 +0100 kendy  r268023 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    Fixed hyperlinks style.
    Fixed having a run of text before the hyperlink
    2009-02-17 12:16:39 +0100 kendy  r268022 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Initialize m_pHyperlinkAttrList to NULL.
    2009-02-17 12:16:17 +0100 kendy  r268021 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    Fixed the Hyperlink output
     Partly fixed the language Id output
    2009-02-17 12:15:54 +0100 kendy  r268020 : #i96319# WW8 filter rework + docx export
    From: Radek Doulik <rodo at novell.com>
    * fix type mismatch in gradient code
     * add flip and rotation parameters to shape transformation
    2009-02-17 12:15:29 +0100 kendy  r268019 : #i96319# WW8 filter rework + docx export
    From: Radek Doulik <rodo at novell.com>
    * finished gradient fill
    2009-02-17 12:15:07 +0100 kendy  r268018 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
     + docx URL export: output is still wrong
    2009-02-17 12:14:44 +0100 kendy  r268017 : #i96319# WW8 filter rework + docx export
    From: Radek Doulik <rodo at novell.com>
    * export linear and axial gradients
    2009-02-17 12:14:27 +0100 kendy  r268016 : #i96319# WW8 filter rework + docx export
    From: Radek Doulik <rodo at novell.com>
    * export line joint type
    2009-02-17 12:14:05 +0100 kendy  r268015 : #i96319# WW8 filter rework + docx export
    From: Radek Doulik <rodo at novell.com>
    * export dashed lines
    2009-02-17 12:13:48 +0100 kendy  r268014 : #i96319# WW8 filter rework + docx export
    From: Cedric Bosdonnat <cbosdonnat at novell.com>
    cast problems fixed
    2009-02-17 12:13:25 +0100 kendy  r268013 : #i96319# WW8 filter rework + docx export
    From: Radek Doulik <rodo at novell.com>
    * added outline export
     * wrapped debug printfs in DBG
     * fix text color and typeface placement
     * do not write empty runs
     * do not write empty paragraph properties
     * added end paragraph properties - need to be filled later
    2009-02-17 12:13:02 +0100 kendy  r268012 : #i96319# WW8 filter rework + docx export
    From: Radek Doulik <rodo at novell.com>
    export language and fonts are now accepted by msppt
    2009-02-17 12:12:44 +0100 kendy  r268011 : #i96319# WW8 filter rework + docx export
    From: Radek Doulik <rodo at novell.com>
    re-enable pptx export - it was disabled by ooxml02 changes committed to git repo
    2009-02-17 12:12:22 +0100 kendy  r268010 : #i96319# WW8 filter rework + docx export
    From: Radek Doulik <rodo at novell.com>
    fix build
    2009-02-17 12:12:04 +0100 kendy  r268009 : #i96319# WW8 filter rework + docx export
    From: Jonathan Pryor <jpryor at novell.com>
    Merge ooxml02 fixes.
    2009-02-17 12:11:43 +0100 kendy  r268008 : #i96319# WW8 filter rework + docx export
    From: Radek Doulik <rodo at novell.com>
    move drawingml export to oox/ from sd/
    2009-02-17 12:11:20 +0100 kendy  r268007 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Revert commit 8b63649bf0a5d14703459bbf31e1599d592a5dff.
    It was already fixed easier way.
    2009-02-17 12:11:00 +0100 kendy  r268006 : #i96319# WW8 filter rework + docx export
    From: Jonathan Pryor <jpryor at novell.com>
    oox fixes to help sc compile...
    	* inc/oox/core/contexthandler2.hxx,
    	  inc/oox/drawingml/chart/modelbase.hxx,
    	  inc/oox/drawingml/customshapeproperties.hxx,
    	  inc/oox/helper/attributelist.hxx, inc/oox/ppt/pptimport.hxx,
    	  inc/oox/ppt/slidepersist.hxx: #include <oox/core/tokens.hxx> not
    	  "tokens.hxx" as these files are deployed into solver, and there is
    	  no "tokens.hxx" in other modules (such as sc).
    	* prj/d.lst: Deliver enough header files to let sc build some more...
    2009-02-17 12:10:34 +0100 kendy  r268005 : #i96319# WW8 filter rework + docx export
    From: Jonathan Pryor <jpryor at novell.com>
    Deliver tablestylelist.hxx.
    	* d.lst: Deliver inc/oox/drawingml/table/tablestylelist.hxx, as it's
    	  needed by sc export.
    2009-02-17 12:10:13 +0100 kendy  r268004 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Fix few warnings in sw, and disable DocxExport::WriteNumbering() for now.
    2009-02-17 12:09:56 +0100 kendy  r268003 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Add empty implementations of 2 abstract import XmlFilterBase methods.
    To be able to instantiate DocxExportFilter again...
    2009-02-17 12:09:35 +0100 kendy  r268002 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Resolve an unresolved, forgotten chunk [GetAttr() -> GetFmtAttr()].
    2009-02-17 12:09:08 +0100 kendy  r268001 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Field work seems to compile now.
    Contains also a rename of OutField() to OutputField() to match better the
    other changes.
    2009-02-17 12:08:46 +0100 kendy  r268000 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Fix build, WriteOutliner() is now in WW8Export.
    2009-02-17 12:08:26 +0100 kendy  r267999 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    OutListTab() split into 2 methods [OutListTab() and OutListTabLevels()].
    Also introduced a general WW8Export::WriteNumbering() which calls the needed
    methods.  OutListTabLevels() is planned to be reused in docx export as well.
    2009-02-17 12:08:09 +0100 kendy  r267998 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    DupNumRuleWithLvlStart() renamed to DuplicateNumRule().
    2009-02-17 12:07:40 +0100 kendy  r267997 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Check for max numbering level can be in ParaNumRule().
    2009-02-17 12:07:20 +0100 kendy  r267996 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Few whitespace changes.
    2009-02-17 12:06:49 +0100 kendy  r267995 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    GetId( const SwNumRule& rNumRule ) should not be const.
    If the first thing it does is a const_cast<...>( this ), then something is
    wrong ;-)
    2009-02-17 12:06:29 +0100 kendy  r267994 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Redlining: Save author and date.
    2009-02-17 12:06:07 +0100 kendy  r267993 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Output redlining.
    So far just insertion and deletion of text, and without author and timestamp.
    2009-02-17 12:05:45 +0100 kendy  r267992 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Write the font table.
    2009-02-17 12:05:27 +0100 kendy  r267991 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Get ready to output the fonts.
    2009-02-17 12:05:06 +0100 kendy  r267990 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Fix namespace of relation id, and output of headers and footers works now...
    It's r:id, not w:id ;-)
    2009-02-17 12:04:40 +0100 kendy  r267988 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Write actual headers and footers in docx.
    #i96319# WW8 filter rework + docx export
    2009-02-17 12:04:17 +0100 kendy  r267987 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    A small cleanup.
    2009-02-17 12:04:00 +0100 kendy  r267986 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Fix the regression, caused by SetupSectionPositions() not being virtual (accidentally).
    2009-02-17 12:03:40 +0100 kendy  r267985 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    another iteration of numbering, utterly broken, but not crashing anything
    2009-02-17 12:03:18 +0100 kendy  r267984 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    SectionProperties() code is now common for binary and docx.
    Unfortunately binary output does not pass the tests now.
    2009-02-17 12:02:49 +0100 kendy  r267983 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Improving the SectionProperties() method to be shared between ww8 and docx.
    Not there yet, but getting closer ;-)  The docx code is still a placeholder
    only.
    2009-02-17 12:02:29 +0100 kendy  r267982 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    some more work towards the numbering.xml
    2009-02-17 12:02:08 +0100 kendy  r267981 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Get rid of rLnNumInfo and aLineNum.
    2009-02-17 12:01:44 +0100 kendy  r267980 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    We are in attribute output already.
    2009-02-17 12:01:21 +0100 kendy  r267979 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Get rid of unsigned int nHdFtGroup.
    2009-02-17 12:01:03 +0100 kendy  r267978 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Introduce WW8AttributeOutput::SectionProperties().
    The goal is to share this between ww8 and docx.
    2009-02-17 12:00:45 +0100 kendy  r267977 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Be careful, m_pSections/CurrentSectionInfo() might be NULL.
    2009-02-17 12:00:22 +0100 kendy  r267976 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Write section properties even for the last section.
    2009-02-17 11:59:59 +0100 kendy  r267975 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Output sections (w:sectPr) and columns.
    2009-02-17 11:59:34 +0100 kendy  r267974 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    WW8_SepInfo: Move to constructor, what belongs there.
    2009-02-17 11:59:14 +0100 kendy  r267973 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Remove an obsolete commented out piece.
    2009-02-17 11:58:53 +0100 kendy  r267972 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Output columns break (when the section has more columns).
    2009-02-17 11:58:35 +0100 kendy  r267971 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Hook the output of the docx sections to the right place.
    2009-02-17 11:58:17 +0100 kendy  r267970 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Rename OutputSfxBreakItems() to OutputSectionBreaks().
    2009-02-17 11:57:58 +0100 kendy  r267969 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Remove an non-needed comment, add an interesting one.
    2009-02-17 11:57:39 +0100 kendy  r267968 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Get rid of OutputPageSectionBreaks(), dissolve it into other methods.
    2009-02-17 11:57:19 +0100 kendy  r267967 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Fix regression in AttributeOutputBase::FormatBreak().
    git bisect, thank you so much! :-)
    2009-02-17 11:57:00 +0100 kendy  r267966 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Move pDop and pFib to WW8Export.
    2009-02-17 11:56:42 +0100 kendy  r267965 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Implement DocxExport::PrepareNewPageDesc().
    2009-02-17 11:56:24 +0100 kendy  r267964 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Improve WW8Export::PrepareNewPageDesc().
    2009-02-17 11:56:04 +0100 kendy  r267963 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Move part of WW8_WrPlcSepx::OutHeaderFooter() to MSWordExportBase::WriteHeaderFooterText().
    2009-02-17 11:55:27 +0100 kendy  r267961 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Share OutHeader() nad OutFooter() (remove copy'n'paste).
    2009-02-17 11:55:06 +0100 kendy  r267960 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Rename WriteKFTxt1() to WriteHeaderFooterText() and move it to MSWordExportBase.
    2009-02-17 11:54:41 +0100 kendy  r267959 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    extracting the ParaNumRule to MSWordExportBase
    2009-02-17 11:54:20 +0100 kendy  r267958 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    write out w:numPr node into document.xml + converting some tabs to 4 spaces
    2009-02-17 11:53:56 +0100 kendy  r267957 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    MSWordSections split into the base and WW8 specific (WW8_WrPlcSepx).
    [WW8_WrPlcSepx was the original name of MSWordSections - let it there to
    decrease confusion ;-)]
    2009-02-17 11:53:31 +0100 kendy  r267956 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Fix docx export crash by initializing pSepx.
    2009-02-17 11:53:11 +0100 kendy  r267955 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    MSWordExportBase::OutputPageSectionBreaks() is now common for binary and docx.
    2009-02-17 11:52:48 +0100 kendy  r267954 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    AttributeOutputBase::FormatPageDescription() is now common for binary and docx.
    2009-02-17 11:52:28 +0100 kendy  r267953 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    write an empty numbering stream
    2009-02-17 11:52:06 +0100 kendy  r267952 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    some more of the spacing
    2009-02-17 11:51:39 +0100 kendy  r267951 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Rename WW8_WrPlcSepx to MSWordSections.
    2009-02-17 11:51:19 +0100 kendy  r267950 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Move pSepx initialization to the WW8_WrPlcSepx constructor.
    2009-02-17 11:50:53 +0100 kendy  r267949 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Fixed styles id's (in styles.xml).
    Now the styles seem to work pretty well.
    2009-02-17 11:50:33 +0100 kendy  r267948 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Rename AttributeOutput's Style() to ParagraphStyle(), that is more correct.
    2009-02-17 11:50:11 +0100 kendy  r267947 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    FormatBreak() is now in the common AttributeOutputBase.
    And pageBreakBefore works now...
    2009-02-17 11:49:49 +0100 kendy  r267946 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Few obvious m_rWW8Export -> GetExport() in WW8AttributeOutput::FormatBreak().
    2009-02-17 11:49:28 +0100 kendy  r267945 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Add PageBreakBefore() to AttrbuteOutput's.
    It's a preparation for moving FormatBreak() to the generic
    AttributeOutputBase, and also kills some copy and paste.
    2009-02-17 11:49:08 +0100 kendy  r267944 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Debug output of attributes is not needed any more, remove.
    2009-02-17 11:48:46 +0100 kendy  r267943 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Don't create a new AttributeOutput in WW8_WrPlcSepx::WriteKFTxt().
    2009-02-17 11:48:25 +0100 kendy  r267942 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Move pEnd and pFtn from MSWordExportBase to WW8Export.
    2009-02-17 11:48:03 +0100 kendy  r267941 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Now outputting footnotes and endnotes.
    Their styles are not output correctly yet, thus the number of the footnote
    resp. endnote is not distinguished from the text of the paragraph.
    Another problem that <w:endnoteRef/> is missing.
    2009-02-17 11:47:42 +0100 kendy  r267940 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Output of footnote/endnote references.
    And it's prepared for the output of footnote.xml resp. endnote.xml as well.
    2009-02-17 11:47:21 +0100 kendy  r267939 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    some more para properties: widows control, para-splitting and incomplete implementation of spacing
    2009-02-17 11:46:59 +0100 kendy  r267938 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Make a bit more obvious what's happenning with AttributeLists.
    2009-02-17 11:46:38 +0100 kendy  r267937 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Part of the footnote/endnote stuff is shared now between binary and docx.
    It is just a small part, but better than nothing ;-)  I'm not sure that
    sharing more is possible/reasonable at all...
    2009-02-17 11:46:16 +0100 kendy  r267936 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    adding paragraph indentation
    2009-02-17 11:45:56 +0100 kendy  r267935 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Rename AddWordBookmark() -> AppendWordBookmark().
    2009-02-17 11:45:36 +0100 kendy  r267934 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Remove 2nd param from AppendBookmark(), nobody was using that anyway.
    2009-02-17 11:45:19 +0100 kendy  r267933 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Readability improvements in WW8_WrPlcSubDoc::WriteGenericPlc().
    2009-02-17 11:44:53 +0100 kendy  r267932 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Better readable WW8_WrPlcSubDoc::WriteGenericTxt().
    2009-02-17 11:44:35 +0100 kendy  r267931 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Move WriteSpecialText() from WW8Export to MSWordExportBase.
    2009-02-17 11:44:12 +0100 kendy  r267930 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Support for color value 'auto' - used often in the styles.
    2009-02-17 11:43:48 +0100 kendy  r267929 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Comment the mark()/mergeTopMarks() magic for paragraphs + par. properties.
    2009-02-17 11:43:31 +0100 kendy  r267928 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Remove the styles debug output.
    2009-02-17 11:43:14 +0100 kendy  r267927 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Output of styles reworked.
    The ooxml stuff is implemented as well, but not tested yet.
    2009-02-17 11:42:54 +0100 kendy  r267926 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Output word/styles.xml - empty one for now.
    2009-02-17 11:42:36 +0100 kendy  r267925 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    Paragraph properties framework + tab stop + paragraph justification + converting some tabs to 4 spaces
    2009-02-17 11:42:18 +0100 kendy  r267924 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    More preparations for outputting the styles table in docx.
    2009-02-17 11:41:56 +0100 kendy  r267923 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Initialize pStyles even for docx.
    MSWordStyles was changed so that it can be initialized from any pDoc, it needs
    WW8Export just for writing ww8 styles.
    2009-02-17 11:41:36 +0100 kendy  r267922 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Rename WW8WrtStyle to MSWordStyles.
    2009-02-17 11:41:14 +0100 kendy  r267921 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Uncomment nStyleBeforeFly = GetId( lcl_getFormatCollection( *this, &rNode ) );
    2009-02-17 11:40:50 +0100 kendy  r267920 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    oops, write actually the lang property
    2009-02-17 11:40:24 +0100 kendy  r267919 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    character kerning and character language
    2009-02-17 11:40:06 +0100 kendy  r267918 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    implement font names and also the asian layout part of run properties
    2009-02-17 11:39:41 +0100 kendy  r267917 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    this looks like a typo, it should be EndBracket for this one, I assume
    2009-02-17 11:39:21 +0100 kendy  r267916 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    removing some unnecessary warnings
    2009-02-17 11:38:56 +0100 kendy  r267915 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    OutputTableNode() finally moved to MSWordExportBase.
    EndTableRow() from *AttributeOutput gets too much parameters now, but
    unfortunately, at the moment it was the easiest solution.  As more
    functionality will move to the actuall cell output, this will get a bit nicer
    I hope ;-)
    2009-02-17 11:38:36 +0100 kendy  r267913 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Trivial output of table cells.
    Still not complete, OutputTableNode() still contains some WW8-only stuff.
    2009-02-17 11:38:10 +0100 kendy  r267912 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Reduced code in DocxAttributeOutput::RunText()/impl_RunText().
    2009-02-17 11:37:51 +0100 kendy  r267911 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    handle also tabs :)
    2009-02-17 11:37:28 +0100 kendy  r267910 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    generically filter out any character that is ascii < 0x20 from the string we write to the file
    2009-02-17 11:37:10 +0100 kendy  r267909 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    wrap debug output in #if #endif statements
    2009-02-17 11:36:48 +0100 kendy  r267908 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    StartTableRow(), EndTableRow(), and TableRowProperties() for *AttributeOutput.
    And the appropriate rework in OutputTableNode() (still no ooxml output yet,
    but getting closer.
    2009-02-17 11:36:29 +0100 kendy  r267907 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    StartTable() and EndTable() for *AttributeOutput.
    And the appropriate rework in OutputTableNode() [which is still let in
    WW8Export, but it's move to MSWordExportBase is close ;-)].
    2009-02-17 11:36:09 +0100 kendy  r267906 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Improve readability in OutputTableNode; Out_SfxBreakItems -> MSWordExportBase.
    Out_SfxBreakItems was also renamed to OutputSfxBreakItems.
    2009-02-17 11:35:50 +0100 kendy  r267905 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Cosmetic change: OutputFlyFrameImpl() -> OutputFlyFrame_Impl().
    2009-02-17 11:35:30 +0100 kendy  r267904 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Change WW8SaveData into SaveData() and RestoreData() methods.
    WW8SaveData was hard to extend to be able to handle WW8Export and DocxExport
    at the same time; so instead there are now SaveData() and RestoreData()
    virtual methods in MSWordExportBase, and the appropriate additions are solved
    directly in WW8Export (nothing for DocxExport [yet?]).
    2009-02-17 11:35:12 +0100 kendy  r267903 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Write line breaks.
    2009-02-17 11:34:54 +0100 kendy  r267902 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    More from WW8Export::ExportDocument_Impl() to MSWordExportBase::ExportDocument().
    2009-02-17 11:34:36 +0100 kendy  r267901 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Rename StoreDoc() to ExportDocument(), and move it to MSWordExportBase.
    The format-dependant parts were moved to a virtual ExportDocument_Impl().
    2009-02-17 11:34:19 +0100 kendy  r267900 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Explicitely default construct maMarkStack [to be safe ;-)].
    2009-02-17 11:34:01 +0100 kendy  r267899 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Fix few crashes in DocAttributeOutput.cxx (missing FSNS() in vararg).
    2009-02-17 11:33:43 +0100 kendy  r267898 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Rename writeMarked() to mergeTopMarks() and improve the implementation.
    Just writing the top mark is not enough; in more complex scenarios it would
    destroy the order completely.  This way we have better control over what's
    happening, and can nest the mark()/mergeTopMarks()/mergeTopMarks( true ) as
    necessary directly in the start/end tags.
    2009-02-17 11:33:25 +0100 kendy  r267897 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Use serializer's mark() and writeMarked() to change order of <t> and <rPr>
    ... instead of using m_aText to remember the content of the text.  That
    wouldn't work later anyway - we will probably need to change the order of the
    paragraph properties and text runs as well which will be done easily using
    mark() and writeMarked() as well.
    2009-02-17 11:33:06 +0100 kendy  r267896 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Outputting docx runs with attributes works now.
    2009-02-17 11:32:48 +0100 kendy  r267895 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    The msword filter compiles again.
    Added empty implementations of the virtual methods to DocxExport and
    DocxAttributeBase [printing 'TODO Blah::bleh()' ;-)].  The thing binary output
    still passes the testsuite, yay!
    2009-02-17 11:32:30 +0100 kendy  r267894 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    OutputTextNode() is not virtual any more and sits in MSWordExportBase.
    Lots of stuff has been moved around again - mostly from WW8Export to
    MSWordExportBase (for the gerenalized stuff) and to WW8AttributeOutput (for
    the 'hardcore' output of bytes/sprms/data/...)  At the moment, it compiles,
    but the docx part of the filter does not link thanks to the missing
    implementation of DocxAttributeOutput methods (the new ones).
    2009-02-17 11:32:11 +0100 kendy  r267893 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Documentation updates.
    2009-02-17 11:31:48 +0100 kendy  r267892 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Change harcoded sprm ids to consts (reused from writerfilter).
    This adds a build dependency of sw on writerfilter - hopefully it's OK.
    2009-02-17 11:31:28 +0100 kendy  r267891 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Get rid of *NodeOutput classes, the code belongs directly to *Export.
    The callbacks I moved to newly created classes NodeOutputBase, WW8NodeOutput,
    or DocxNodeOutput respectively in fact should not be in separate classes, but
    directy in MSWordExportBase, WW8Export, or DocxExport respectively.  This
    commit moves them accordingly.
    2009-02-17 11:31:06 +0100 kendy  r267890 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    bUnicode -> m_rWW8Export.bWrtWW8; it's the same in this context.
    2009-02-17 11:30:44 +0100 kendy  r267889 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Remove unnecessary {} block.
    2009-02-17 11:30:24 +0100 kendy  r267888 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Several German comments to English.
    2009-02-17 11:30:08 +0100 kendy  r267887 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Move pO cleanup directly into aAttrIter.OutAttr().
    2009-02-17 11:29:44 +0100 kendy  r267886 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Shorten WW8NodeOutput::TextNode() by moving SwFmtDrop output to a separate method.
    2009-02-17 11:29:22 +0100 kendy  r267885 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Unified the use of m_rWW8Export.pO in WW8NodeOutput::TextNode().
    In some cases, it was used as m_rWW8Export.pO, in the others as only pO
    (but meaning the same thing).  Changed all the occurences to the simple pO to
    improve readability.
    2009-02-17 11:29:00 +0100 kendy  r267884 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    and other attributes coming in; we start to have all the more or less easy ones covered now
    2009-02-17 11:28:43 +0100 kendy  r267883 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    some more attributes are comming in
    2009-02-17 11:28:26 +0100 kendy  r267882 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Create DocxNodeOutput.
    The basic one with a trivial implementation of TexNode() method so that it at
    least outputs all the paragraphs as one text run.
    2009-02-17 11:28:03 +0100 kendy  r267881 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    WriteText() moved from WW8Export do MSWordExportBase.
    And some refactoring implied by the move.
    2009-02-17 11:27:35 +0100 kendy  r267880 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    some more character attributes implemented
    2009-02-17 11:27:18 +0100 kendy  r267879 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    some text attributes + build fixes (not very informative, but it is me)
    2009-02-17 11:26:57 +0100 kendy  r267878 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    WW8Export holds an instance of WW8NodeOutput.
    Instead of creating a new one with every call of WW8Export::WriteText().
    2009-02-17 11:26:35 +0100 kendy  r267877 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Get rid of aWW8NodeFnTab callbacks.
    Introduce NodeOutputBase/WW8NodeOutput instead, and change the OutWW8_*
    functions to the WW8NodeOutput methods.
    2009-02-17 11:26:13 +0100 kendy  r267876 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    pCurPam and pOrigPam back to MSWordExportBase.
    Looks necessary there...
    2009-02-17 11:25:52 +0100 kendy  r267875 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    DocxAttributeOutput implementation.
    So far just bare bones printing TODO's to stderr + output of real <w:b/> and
    <w:i/>; also nothing instantiates it yet.
    2009-02-17 11:25:30 +0100 kendy  r267874 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Fixed a problem that more attributes were exported than necessary.
    2009-02-17 11:25:10 +0100 kendy  r267873 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Moving more stuff from MSWordExportBase to WW8Export.
    pCurPam and pOrigPam, pO, and pTableStream and pDataStream.  Hopefully I won't
    have to move them back at some stage ;-)
    2009-02-17 11:24:49 +0100 kendy  r267872 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Cosmetic.
    2009-02-17 11:24:27 +0100 kendy  r267871 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    fix nondebug build too
    2009-02-17 11:24:07 +0100 kendy  r267870 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    After rework - even saves a trivial document :-)
    2009-02-17 11:23:45 +0100 kendy  r267869 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    SwWW8Writer and the attributes rework compiles now.
    Of course, no idea yet if it works at all.
    2009-02-17 11:23:25 +0100 kendy  r267868 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Ancestor of MSWordExportBase for docx.
    Just a dump of the work, still just writing the 'Hello, world!' document [if
    it compiled, which it does not ;-)]
    2009-02-17 11:23:03 +0100 kendy  r267867 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Instead of callbacks, use virtual functions to output attributes.
    This is just a dump of the rewrite, for sure does not compile.  All the
    SwWW8Out_ callbacks were moved to a class dedicated for output -
    WW8AttributeOutput.  It is a descendant of AttributeOutputBase; there will be
    a separate implementation for the docx case.
    2009-02-17 11:22:43 +0100 kendy  r267866 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Partial split of SwWW8Writer.
    Introduced a new structure - the logic of the filter will be in class
    MSWordExportBase, from which we will derive WW8Export and DocxExport.
    SwWW8Writer has been split into WW8Export (for the logic) and SwWW8Writer (for
    the actual access to the stream).  For most of the methods it means renaming
    SwWW8Writer::MethodName() to WW8Export::MethodName() + cleaning access to the
    attributes/other methods.
    All this is not finished yet, and does not even compile - but it is necessary
    to dump the current status ;-)
    2009-02-17 11:22:25 +0100 kendy  r267865 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    do the filter forwarding the pure UNO way (hell expensive, but no build dependency on anything)
    2009-02-17 11:22:06 +0100 kendy  r267864 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    yay, we have the same component doing the import and export for word 2007
    2009-02-17 11:21:46 +0100 kendy  r267863 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    more work towards having the import and export in the same component
    2009-02-17 11:21:20 +0100 kendy  r267862 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    starting to forward export in writerfilter
    2009-02-17 11:20:58 +0100 kendy  r267860 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    trying to fix some of the registration stuff
    2009-02-17 11:20:35 +0100 kendy  r267859 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Exporting a real document.
    So far just a hardcoded 'Hello, world!' of course ;-)
    2009-02-17 11:20:13 +0100 kendy  r267858 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Renamed DocxWriter to DocxExportFilter.
    (...and also the files that contain it)
    2009-02-17 11:19:52 +0100 kendy  r267857 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    The initial exporter.
    Can be chosen from the menu, but so far we can just get a SwDoc* in the
    exportDocument() method, and consequently the exported file has zero size.
    2009-02-17 11:19:30 +0100 kendy  r267854 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Simple output of the styles.
    As just the <w:b/> and <w:i/> attributes work for now, the output is not much
    helpful ;-) - but as a proof-of-concept, this must be enough...
    2009-02-17 11:15:14 +0100 kendy  r267852 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    The fonts are between <w:fonts> and </w:fonts>.
    2009-02-17 11:11:06 +0100 kendy  r267851 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Proof-of-concept saving the fonts (word/fontTable.xml).
    As with the previous commits, it is just dumped to stderr.
    2009-02-17 11:08:36 +0100 kendy  r267850 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Proof-of-concept saving attributes of the text runs.
    Still using the DOCX debug class, which will be gone in the real
    implementation.
    2009-02-17 11:04:40 +0100 kendy  r267848 : #i96319# WW8 filter rework + docx export
    From: Jan Holesovsky <kendy at suse.cz>
    Proof-of-concept save of paragraphs/runs/text.
    The paragraph pieces of DOCX just get dumped to stdout while saving the
    'normal' DOC.  This is just a hacky way of doing it, will be cleaned up (and
    converted to actual output to a stream) when I get the attributes, and
    distinction between main document/headers/footers/etc. right.
    2009-02-17 11:02:54 +0100 kendy  r267847 : #i96319# WW8 filter rework + docx export
    From: Fridrich Strba <fstrba at novell.com>
    Make writerfilter export filter too (at least formally)
    2009-02-16 22:48:29 +0100 kendy  r267840 : CWS-TOOLING: rebase CWS ooxml03 to trunk at 267171 (milestone: DEV300:m41)

diff --git a/sax/inc/sax/fshelper.hxx b/sax/inc/sax/fshelper.hxx
index 99b9c6d..b24c8d6 100644
--- a/sax/inc/sax/fshelper.hxx
+++ b/sax/inc/sax/fshelper.hxx
@@ -39,11 +39,13 @@
 #include <sax/fastattribs.hxx>
 #include "sax/dllapi.h"
 
-#define FSNS(namespace, element)    ((namespace << 16) | element)
-#define FSEND -1 // same as XML_TOKEN_INVALID
+#define FSNS(namespc, element) ((namespc << 16) | element)
+const sal_Int32 FSEND = -1; // same as XML_TOKEN_INVALID
 
 namespace sax_fastparser {
 
+enum MergeMarksEnum { MERGE_MARKS_APPEND = 0, MERGE_MARKS_PREPEND = 1, MERGE_MARKS_POSTPONE = 2 };
+
 typedef ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList > XFastAttributeListRef;
 
 class FastSaxSerializer;
@@ -82,6 +84,10 @@ public:
     inline void singleElementNS(sal_Int32 namespaceTokenId, sal_Int32 elementTokenId, XFastAttributeListRef xAttrList)
         { singleElementV(FSNS( namespaceTokenId, elementTokenId), xAttrList); }
 
+    void startElementV(sal_Int32 elementTokenId, XFastAttributeListRef xAttrList);
+    inline void startElementNS(sal_Int32 namespaceTokenId, sal_Int32 elementTokenId, XFastAttributeListRef xAttrList) 
+        { startElementV( FSNS( namespaceTokenId, elementTokenId ), xAttrList ); }
+
     FastSerializerHelper* write(const char* value);
     FastSerializerHelper* write(const rtl::OUString& value);
     FastSerializerHelper* write(sal_Int32 value);
@@ -99,7 +105,7 @@ public:
     FastAttributeList *createAttrList();
 
     void mark();
-    void mergeTopMarks( bool bPrepend = false );
+    void mergeTopMarks( MergeMarksEnum eMergeType = MERGE_MARKS_APPEND );
 
 private:
 
diff --git a/sax/source/tools/fastserializer.cxx b/sax/source/tools/fastserializer.cxx
index b9e0d64..1782e79 100644
--- a/sax/source/tools/fastserializer.cxx
+++ b/sax/source/tools/fastserializer.cxx
@@ -326,43 +326,29 @@ namespace sax_fastparser {
 
     void FastSaxSerializer::mark()
     {
-        maMarkStack.push( Int8Sequence() );
+        maMarkStack.push( ForMerge() );
     }
 
-    void FastSaxSerializer::mergeTopMarks( bool bPrepend )
+    void FastSaxSerializer::mergeTopMarks( sax_fastparser::MergeMarksEnum eMergeType )
     {
         if ( maMarkStack.empty() )
             return;
 
         if ( maMarkStack.size() == 1 )
         {
-            mxOutputStream->writeBytes( maMarkStack.top() );
+            mxOutputStream->writeBytes( maMarkStack.top().getData() );
             maMarkStack.pop();
+            return;
         }
-        else
+
+        const Int8Sequence aMerge( maMarkStack.top().getData() );
+        maMarkStack.pop();
+
+        switch ( eMergeType )
         {
-            const Int8Sequence aMerge( maMarkStack.top() );
-            maMarkStack.pop();
-            
-            sal_Int32 nMergeLen = aMerge.getLength();
-            if ( nMergeLen > 0 )
-            {
-                Int8Sequence &rTop = maMarkStack.top();
-                sal_Int32 nTopLen = rTop.getLength();
-
-                rTop.realloc( nTopLen + nMergeLen );
-                if ( bPrepend )
-                {
-                    // prepend the aMerge to the rTop
-                    memmove( rTop.getArray() + nMergeLen, rTop.getConstArray(), nTopLen );
-                    memcpy( rTop.getArray(), aMerge.getConstArray(), nMergeLen );
-                }
-                else
-                {
-                    // append the aMerge to the rTop
-                    memcpy( rTop.getArray() + nTopLen, aMerge.getConstArray(), nMergeLen );
-                }
-            }
+            case MERGE_MARKS_APPEND:   maMarkStack.top().append( aMerge );   break;
+            case MERGE_MARKS_PREPEND:  maMarkStack.top().prepend( aMerge );  break;
+            case MERGE_MARKS_POSTPONE: maMarkStack.top().postpone( aMerge ); break;
         }
     }
 
@@ -371,15 +357,50 @@ namespace sax_fastparser {
         if ( maMarkStack.empty() )
             mxOutputStream->writeBytes( aData );
         else
+            maMarkStack.top().append( aData );
+    }
+
+    FastSaxSerializer::Int8Sequence& FastSaxSerializer::ForMerge::getData()
+    {
+        merge( maData, maPostponed, true );
+        maPostponed.realloc( 0 );
+        
+        return maData;
+    }
+
+    void FastSaxSerializer::ForMerge::prepend( const Int8Sequence &rWhat )
+    {
+        merge( maData, rWhat, false );
+    }
+
+    void FastSaxSerializer::ForMerge::append( const Int8Sequence &rWhat )
+    {
+        merge( maData, rWhat, true );
+    }
+
+    void FastSaxSerializer::ForMerge::postpone( const Int8Sequence &rWhat )
+    {
+        merge( maPostponed, rWhat, true );
+    }
+
+    void FastSaxSerializer::ForMerge::merge( Int8Sequence &rTop, const Int8Sequence &rMerge, bool bAppend )
+    {
+        sal_Int32 nMergeLen = rMerge.getLength();
+        if ( nMergeLen > 0 )
         {
-            sal_Int32 nDataLen = aData.getLength();
-            if ( nDataLen > 0 )
-            {
-                Int8Sequence &rTop = maMarkStack.top();
-                sal_Int32 nTopLen = rTop.getLength();
+            sal_Int32 nTopLen = rTop.getLength();
 
-                rTop.realloc( nTopLen + nDataLen );
-                memcpy( rTop.getArray() + nTopLen, aData.getConstArray(), nDataLen );
+            rTop.realloc( nTopLen + nMergeLen );
+            if ( bAppend )
+            {
+                // append the rMerge to the rTop
+                memcpy( rTop.getArray() + nTopLen, rMerge.getConstArray(), nMergeLen );
+            }
+            else
+            {
+                // prepend the rMerge to the rTop
+                memmove( rTop.getArray() + nMergeLen, rTop.getConstArray(), nTopLen );
+                memcpy( rTop.getArray(), rMerge.getConstArray(), nMergeLen );
             }
         }
     }
diff --git a/sax/source/tools/fastserializer.hxx b/sax/source/tools/fastserializer.hxx
index 5923479..fe986f1 100644
--- a/sax/source/tools/fastserializer.hxx
+++ b/sax/source/tools/fastserializer.hxx
@@ -45,6 +45,7 @@
 #include <stack>
 
 #include "sax/dllapi.h"
+#include "sax/fshelper.hxx"
 
 #define SERIALIZER_IMPLEMENTATION_NAME	"com.sun.star.comp.extensions.xml.sax.FastSerializer"
 #define SERIALIZER_SERVICE_NAME		"com.sun.star.xml.sax.FastSerializer"
@@ -112,27 +113,49 @@ public:
 
     /** Merge 2 topmost marks.
 
-        There are 2 possibilities - prepend the top before the second top-most
-        mark, or append it; prepending brings the possibility to switch parts
-        of the output.
+        There are 3 possibilities - prepend the top before the second top-most
+        mark, append it, or append it later; prepending brings the possibility
+        to switch parts of the output, appending later allows to write some
+        output in advance.
 
         Writes the result to the output stream if the mark stack becomes empty
         by the operation.
 
+        When the MERGE_MARKS_POSTPONE is specified, the merge happens just
+        before the next merge.
+
         @see mark()
      */
-    void mergeTopMarks( bool bPrepend = false );
+    void mergeTopMarks( sax_fastparser::MergeMarksEnum eMergeType = sax_fastparser::MERGE_MARKS_APPEND );
 
 private:
     ::com::sun::star::uno::Reference< ::com::sun::star::io::XOutputStream > mxOutputStream;
     ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastTokenHandler > mxFastTokenHandler;
 
     typedef ::com::sun::star::uno::Sequence< ::sal_Int8 > Int8Sequence;
-    ::std::stack< Int8Sequence > maMarkStack;
+    class ForMerge
+    {
+        Int8Sequence maData;
+        Int8Sequence maPostponed;
+
+    public:
+        ForMerge() : maData(), maPostponed() {}
+
+        Int8Sequence& getData();
+
+        void prepend( const Int8Sequence &rWhat );
+        void append( const Int8Sequence &rWhat );
+        void postpone( const Int8Sequence &rWhat );
+        
+    private:
+        static void merge( Int8Sequence &rTop, const Int8Sequence &rMerge, bool bAppend );
+    };
+
+    ::std::stack< ForMerge > maMarkStack;
 
     void writeFastAttributeList( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& Attribs );
     void write( const ::rtl::OUString& s );
-    
+
 protected:
     /** Forward the call to the output stream, or write to the stack.
 
@@ -144,4 +167,3 @@ protected:
 } // namespace sax_fastparser
 
 #endif
-
diff --git a/sax/source/tools/fshelper.cxx b/sax/source/tools/fshelper.cxx
index 0ab5a1c..0353828 100644
--- a/sax/source/tools/fshelper.cxx
+++ b/sax/source/tools/fshelper.cxx
@@ -114,6 +114,12 @@ void FastSerializerHelper::endElement(sal_Int32 elementTokenId)
     mpSerializer->endFastElement(elementTokenId);
 }
 
+void FastSerializerHelper::startElementV(sal_Int32 elementTokenId, XFastAttributeListRef xAttrList)
+{
+    mpSerializer->startFastElement(elementTokenId, xAttrList);
+}
+
+
 void FastSerializerHelper::singleElement(const char* elementName, XFastAttributeListRef xAttrList)
 {
     mpSerializer->singleUnknownElement(::rtl::OUString(), ::rtl::OUString::createFromAscii(elementName), xAttrList);	
@@ -181,9 +187,9 @@ void FastSerializerHelper::mark()
     mpSerializer->mark();
 }
 
-void FastSerializerHelper::mergeTopMarks( bool bPrepend )
+void FastSerializerHelper::mergeTopMarks( MergeMarksEnum eMergeType )
 {
-    mpSerializer->mergeTopMarks( bPrepend );
+    mpSerializer->mergeTopMarks( eMergeType );
 }
 
 FastAttributeList * FastSerializerHelper::createAttrList()
diff --git a/vcl/inc/vcl/graph.hxx b/vcl/inc/vcl/graph.hxx
index 15e298f..753c68c 100644
--- a/vcl/inc/vcl/graph.hxx
+++ b/vcl/inc/vcl/graph.hxx
@@ -206,7 +206,7 @@ public:
     BOOL                IsSwapOut() const;
 
     void                SetLink( const GfxLink& );
-    GfxLink             GetLink();
+    GfxLink             GetLink() const;
     BOOL                IsLink() const;
 
     BOOL				ExportNative( SvStream& rOStream ) const;
diff --git a/vcl/source/gdi/graph.cxx b/vcl/source/gdi/graph.cxx
index 87ca480..b7e71a6 100644
--- a/vcl/source/gdi/graph.cxx
+++ b/vcl/source/gdi/graph.cxx
@@ -775,7 +775,7 @@ void Graphic::SetLink( const GfxLink& rGfxLink )
 
 // ------------------------------------------------------------------------
 
-GfxLink Graphic::GetLink()
+GfxLink Graphic::GetLink() const
 {
     return mpImpGraphic->ImplGetLink();
 }


More information about the ooo-build-commit mailing list