[ooo-build-commit] .: 3 commits - patches/dev300
Katarina Machalkova
bubli at kemper.freedesktop.org
Tue Jul 13 03:42:43 PDT 2010
patches/dev300/apply | 90
patches/dev300/oox-calc-export-export-pivot-content.diff | 49
patches/dev300/oox-calc-export-sotstorage-init.diff | 24
patches/dev300/oox-smartart-import.diff | 15
patches/dev300/xlsx-arabic-export-crash.diff | 25
patches/dev300/xlsx-export-cell-style-max-builtin.diff | 28
patches/dev300/xlsx-export-no-more-svstream-sotstorage.diff | 36
patches/dev300/xlsx-export-set-xml-2007-flavour.diff | 25
patches/dev300/xlsx-export-simple-autofilter.diff | 66
patches/dev300/xlsx-export-skip-auto-format.diff | 29
patches/dev300/xlsx-filter-as-a-separate-lib-guards.diff | 441
patches/dev300/xlsx-filter-as-a-separate-lib-xls-copy.diff |50393 ----------
patches/dev300/xlsx-filter-as-a-separate-lib.diff | 349
patches/dev300/xlsx-shared-import-and-export.diff | 544
patches/dev300/xlsx-shared-oox-smartart-import-m13.diff | 15
patches/dev300/xlsx-shared-xlsx-shared-import-and-export.diff | 2
patches/dev300/xlsx-snapshot.diff | 2491
17 files changed, 39 insertions(+), 54583 deletions(-)
New commits:
commit b6cfd439c64cf8063856c713a8f7be0af516b704
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Tue Jul 13 11:58:28 2010 +0200
With OOXMLExportDevel, these patches are no longer needed
they're duplicated in their (xlsx-shared-*) equivalents
* patches/dev300/oox-calc-export-export-pivot-content.diff:
* patches/dev300/oox-calc-export-sotstorage-init.diff:
* patches/dev300/xlsx-arabic-export-crash.diff:
* patches/dev300/xlsx-export-cell-style-max-builtin.diff:
* patches/dev300/xlsx-export-no-more-svstream-sotstorage.diff:
* patches/dev300/xlsx-export-set-xml-2007-flavour.diff:
* patches/dev300/xlsx-export-simple-autofilter.diff:
* patches/dev300/xlsx-export-skip-auto-format.diff:
* patches/dev300/xlsx-filter-as-a-separate-lib-guards.diff:
* patches/dev300/xlsx-filter-as-a-separate-lib-xls-copy.diff:
* patches/dev300/xlsx-filter-as-a-separate-lib.diff:
* patches/dev300/xlsx-shared-import-and-export.diff:
* patches/dev300/xlsx-snapshot.diff:
diff --git a/patches/dev300/oox-calc-export-export-pivot-content.diff b/patches/dev300/oox-calc-export-export-pivot-content.diff
deleted file mode 100644
index 3db387f..0000000
--- a/patches/dev300/oox-calc-export-export-pivot-content.diff
+++ /dev/null
@@ -1,49 +0,0 @@
-From d249e3093745ae0f83d4579b58c14cf384296c0b Mon Sep 17 00:00:00 2001
-From: Jan Holesovsky <kendy at suse.cz>
-Date: Fri, 14 May 2010 17:06:04 +0200
-Subject: [PATCH 614/768] oox-calc-export-export-pivot-content.diff
-
----
- sc/source/filter/xlsx/xlsx-xepivot.cxx | 6 ++++++
- 1 files changed, 6 insertions(+), 0 deletions(-)
-
-diff --git sc/source/filter/xlsx/xlsx-xepivot.cxx sc/source/filter/xlsx/xlsx-xepivot.cxx
-index 3270295..6f516bf 100644
---- sc/source/filter/xlsx/xlsx-xepivot.cxx
-+++ sc/source/filter/xlsx/xlsx-xepivot.cxx
-@@ -742,6 +742,8 @@ void XclExpPivotCache::Save( XclExpStream& rStrm )
- void XclExpPivotCache::SaveXml( XclExpXmlStream& rStrm )
- {
- DBG_ASSERT( mbValid, "XclExpPivotCache::Save - invalid pivot cache" );
-+#ifdef XLSX_PIVOT_CACHE /* <pivotCache> without xl/pivotCaches/ cacheStream
-+ results in a broken .xlsx */
- sax_fastparser::FSHelperPtr& rWorkbook = rStrm.GetCurrentStream();
- OUString sId = OUStringBuffer()
- .appendAscii("rId")
-@@ -760,6 +762,7 @@ void XclExpPivotCache::SaveXml( XclExpXmlStream& rStrm )
- // create the pivot cache storage stream
- // OOXTODO: WriteCacheStream();
- rWorkbook->endElement( XML_pivotCache );
-+#endif /* XLSX_PIVOT_CACHE */
- }
-
- // private --------------------------------------------------------------------
-@@ -1735,12 +1738,15 @@ void XclExpPivotTableManager::WritePivotCaches( XclExpStream& rStrm )
-
- void XclExpPivotTableManager::WritePivotCachesXml( XclExpXmlStream& rStrm )
- {
-+#ifdef XLSX_PIVOT_CACHE /* <pivotCache> without xl/pivotCaches/ cacheStream
-+ results in a broken .xlsx */
- if( maPCacheList.IsEmpty() )
- return;
- sax_fastparser::FSHelperPtr& rWorkbook = rStrm.GetCurrentStream();
- rWorkbook->startElement( XML_pivotCaches, FSEND );
- maPCacheList.SaveXml( rStrm );
- rWorkbook->endElement( XML_pivotCaches );
-+#endif /* XLSX_PIVOT_CACHE */
- }
-
- void XclExpPivotTableManager::WritePivotTables( XclExpStream& rStrm, SCTAB nScTab )
---
-1.7.0.1
-
diff --git a/patches/dev300/oox-calc-export-sotstorage-init.diff b/patches/dev300/oox-calc-export-sotstorage-init.diff
deleted file mode 100644
index fe05e5a..0000000
--- a/patches/dev300/oox-calc-export-sotstorage-init.diff
+++ /dev/null
@@ -1,24 +0,0 @@
---- sc/source/filter/xlsx/xlsx-xestream.cxx.old 2010-03-03 17:00:07.000000000 +0100
-+++ sc/source/filter/xlsx/xlsx-xestream.cxx 2010-03-03 17:00:08.000000000 +0100
-@@ -58,6 +58,10 @@
- #include <formula/grammar.hxx>
- #include <oox/export/drawingml.hxx>
-
-+#include <sfx2/docfile.hxx>
-+#include <sfx2/objsh.hxx>
-+#include <sfx2/app.hxx>
-+
- #define DEBUG_XL_ENCRYPTION 0
-
- using ::com::sun::star::beans::PropertyValue;
-@@ -1124,7 +1128,9 @@ bool XclExpXmlStream::exportDocument() t
- {
- ScDocShell* pShell = getDocShell();
- ScDocument* pDoc = pShell->GetDocument();
-- SotStorageRef rStorage = dynamic_cast <SotStorage*>( Reference<XStorage>( pShell->GetStorage() ).get() );
-+ SfxMedium* pMedium = pShell->GetMedium();
-+ SvStream* pMediumStream = pMedium->GetOutStream();
-+ SotStorageRef rStorage = new SotStorage( pMediumStream, false );
-
- XclExpRootData aData( EXC_BIFF8, *pShell->GetMedium (), rStorage, *pDoc, RTL_TEXTENCODING_DONTKNOW );
- aData.meOutput = EXC_OUTPUT_XML_2007;
diff --git a/patches/dev300/xlsx-arabic-export-crash.diff b/patches/dev300/xlsx-arabic-export-crash.diff
deleted file mode 100644
index eab2084..0000000
--- a/patches/dev300/xlsx-arabic-export-crash.diff
+++ /dev/null
@@ -1,25 +0,0 @@
-From 4bbd85c4b34faa866a8eea75282478030e3c4459 Mon Sep 17 00:00:00 2001
-From: Jan Holesovsky <kendy at suse.cz>
-Date: Fri, 14 May 2010 17:05:58 +0200
-Subject: [PATCH 611/768] xlsx-arabic-export-crash.diff
-
----
- sc/source/filter/xlsx/xlsx-xetable.cxx | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git sc/source/filter/xlsx/xlsx-xetable.cxx sc/source/filter/xlsx/xlsx-xetable.cxx
-index 0e169bf..b52b5c0 100644
---- sc/source/filter/xlsx/xlsx-xetable.cxx
-+++ sc/source/filter/xlsx/xlsx-xetable.cxx
-@@ -894,7 +894,7 @@ XclExpFormulaCell::XclExpFormulaCell(
- mxAddRec = rShrfmlaBfr.CreateOrExtendShrfmla( rScTokArr, aScPos );
-
- // no shared formula found - create a simple cell formula
-- if( !mxAddRec )
-+ if( !mxAddRec || ! mxTokArr )
- mxTokArr = rRoot.GetFormulaCompiler().CreateFormula( EXC_FMLATYPE_CELL, rScTokArr, &aScPos );
- }
-
---
-1.7.0.1
-
diff --git a/patches/dev300/xlsx-export-cell-style-max-builtin.diff b/patches/dev300/xlsx-export-cell-style-max-builtin.diff
deleted file mode 100644
index deba1a0..0000000
--- a/patches/dev300/xlsx-export-cell-style-max-builtin.diff
+++ /dev/null
@@ -1,28 +0,0 @@
-From 30f0e7e94a7d27613b381b8fa9275aa6c57f446a Mon Sep 17 00:00:00 2001
-From: Jan Holesovsky <kendy at suse.cz>
-Date: Fri, 14 May 2010 17:06:03 +0200
-Subject: [PATCH 613/768] xlsx-export-cell-style-max-builtin.diff
-
----
- sc/source/filter/xlsx/xlsx-xestyle.cxx | 5 ++++-
- 1 files changed, 4 insertions(+), 1 deletions(-)
-
-diff --git sc/source/filter/xlsx/xlsx-xestyle.cxx sc/source/filter/xlsx/xlsx-xestyle.cxx
-index 5e7c86d..ba189b6 100644
---- sc/source/filter/xlsx/xlsx-xestyle.cxx
-+++ sc/source/filter/xlsx/xlsx-xestyle.cxx
-@@ -2212,7 +2212,10 @@ void XclExpStyle::SaveXml( XclExpXmlStream& rStrm )
- rStrm.GetCurrentStream()->singleElement( XML_cellStyle,
- XML_name, sName.getStr(),
- XML_xfId, OString::valueOf( nXFId ).getStr(),
-- XML_builtinId, OString::valueOf( (sal_Int32) mnStyleId ).getStr(),
-+/* mso-excel 2007 complains when it finds builtinId >= 55, it is not
-+ * bothered by multiple 54 values. */
-+#define CELL_STYLE_MAX_BUILTIN_ID 55
-+ XML_builtinId, OString::valueOf( std::min( static_cast<sal_Int32>( CELL_STYLE_MAX_BUILTIN_ID - 1 ), static_cast <sal_Int32>( mnStyleId ) ) ).getStr(),
- // OOXTODO: XML_iLevel,
- // OOXTODO: XML_hidden,
- XML_customBuiltin, XclXmlUtils::ToPsz( ! IsBuiltIn() ),
---
-1.7.0.1
-
diff --git a/patches/dev300/xlsx-export-no-more-svstream-sotstorage.diff b/patches/dev300/xlsx-export-no-more-svstream-sotstorage.diff
deleted file mode 100644
index 32309e2..0000000
--- a/patches/dev300/xlsx-export-no-more-svstream-sotstorage.diff
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git sc/source/filter/xlsx/xlsx-xestream.cxx sc/source/filter/xlsx/xlsx-xestream.cxx
-index 7a57718..36ab09e 100644
---- sc/source/filter/xlsx/xlsx-xestream.cxx
-+++ sc/source/filter/xlsx/xlsx-xestream.cxx
-@@ -1129,9 +1129,10 @@ bool XclExpXmlStream::exportDocument() throw()
- {
- ScDocShell* pShell = getDocShell();
- ScDocument* pDoc = pShell->GetDocument();
-- SfxMedium* pMedium = pShell->GetMedium();
-- SvStream* pMediumStream = pMedium->GetOutStream();
-- SotStorageRef rStorage = new SotStorage( pMediumStream, false );
-+ // NOTE: Don't use SotStorage or SvStream any more, and never call
-+ // SfxMedium::GetOutStream() anywhere in the xlsx export filter code!
-+ // Instead, write via XOutputStream instance.
-+ SotStorageRef rStorage = static_cast<SotStorage*>(NULL);
-
- XclExpRootData aData( EXC_BIFF8, *pShell->GetMedium (), rStorage, *pDoc, RTL_TEXTENCODING_DONTKNOW );
- aData.meOutput = EXC_OUTPUT_XML_2007;
-@@ -1147,7 +1148,7 @@ bool XclExpXmlStream::exportDocument() throw()
- aRoot.GetOldRoot().eDateiTyp = Biff8;
- XclEscher escher( *aRoot.GetOldRoot ().pER, pDoc->GetTableCount () );
- aRoot.GetOldRoot().pEscher = &escher;
--
-+#if 0 // FIXME: Re-write this block without using SotStorage.
- if ( SvtFilterOptions* pOptions = SvtFilterOptions::Get() )
- if ( pShell && pOptions->IsLoadExcelBasicStorage() )
- if ( sal_uInt32 nError
-@@ -1158,7 +1159,7 @@ bool XclExpXmlStream::exportDocument() throw()
- {
- pShell->SetError( nError, ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( OSL_LOG_PREFIX ) ) );
- }
--
-+#endif
- OUString const workbook = CREATE_OUSTRING( "xl/workbook.xml" );
- PushStream( CreateOutputStream( workbook, workbook,
- Reference <XOutputStream>(),
diff --git a/patches/dev300/xlsx-export-set-xml-2007-flavour.diff b/patches/dev300/xlsx-export-set-xml-2007-flavour.diff
deleted file mode 100644
index 5c2f827..0000000
--- a/patches/dev300/xlsx-export-set-xml-2007-flavour.diff
+++ /dev/null
@@ -1,25 +0,0 @@
-From fec9f02fe9d9d1d552ad20ca164ad9e5e5bdc8ed Mon Sep 17 00:00:00 2001
-From: Jan Nieuwenhuizen <janneke at gnu.org>
-Date: Fri, 8 May 2009 12:42:47 +0200
-Subject: [PATCH] OOXML: set .xlsx output flavour to EXC_OUTPUT_XML_2007. Fixes n#502090.
-
- * Modified sc/source/filter/xlsx/xlsx-xestream.cxx
----
- sc/source/filter/xlsx/xlsx-xestream.cxx | 1 +
- 1 files changed, 1 insertions(+), 0 deletions(-)
-
-diff --git sc/source/filter/xlsx/xlsx-xestream.cxx sc/source/filter/xlsx/xlsx-xestream.cxx
-index a147e13..dbba4aa 100644
---- sc/source/filter/xlsx/xlsx-xestream.cxx
-+++ sc/source/filter/xlsx/xlsx-xestream.cxx
-@@ -1119,6 +1119,7 @@ bool XclExpXmlStream::exportDocument() throw()
- SotStorageRef rStorage = dynamic_cast <SotStorage*>( Reference<XStorage>( pShell->GetStorage() ).get() );
-
- XclExpRootData aData( EXC_BIFF8, *pShell->GetMedium (), rStorage, *pDoc, RTL_TEXTENCODING_DONTKNOW );
-+ aData.meOutput = EXC_OUTPUT_XML_2007;
- XclExpRoot aRoot( aData );
-
- mpRoot = &aRoot;
---
-1.6.0.rc1.49.g98a8
-
diff --git a/patches/dev300/xlsx-export-simple-autofilter.diff b/patches/dev300/xlsx-export-simple-autofilter.diff
deleted file mode 100644
index 23b82c5..0000000
--- a/patches/dev300/xlsx-export-simple-autofilter.diff
+++ /dev/null
@@ -1,66 +0,0 @@
-From 6d8c1c6b1b31b44c8f089db41059f868bca13531 Mon Sep 17 00:00:00 2001
-From: Jan Holesovsky <kendy at suse.cz>
-Date: Fri, 14 May 2010 17:06:01 +0200
-Subject: [PATCH 612/768] xlsx-export-simple-autofilter.diff
-
----
- sc/source/filter/xlsx/excrecds.hxx | 1 +
- sc/source/filter/xlsx/xlsx-excrecds.cxx | 9 +++++++--
- 2 files changed, 8 insertions(+), 2 deletions(-)
-
-diff --git sc/source/filter/xlsx/excrecds.hxx sc/source/filter/xlsx/excrecds.hxx
-index c7e9231..358c925 100644
---- sc/source/filter/xlsx/excrecds.hxx
-+++ sc/source/filter/xlsx/excrecds.hxx
-@@ -474,6 +474,7 @@ private:
- XclExpFiltermode* pFilterMode;
- XclExpAutofilterinfo* pFilterInfo;
- ScRange maRef;
-+ bool mbAutoFilter;
- };
-
- // ----------------------------------------------------------------------------
-diff --git sc/source/filter/xlsx/xlsx-excrecds.cxx sc/source/filter/xlsx/xlsx-excrecds.cxx
-index b651315..8d9adc6 100644
---- sc/source/filter/xlsx/xlsx-excrecds.cxx
-+++ sc/source/filter/xlsx/xlsx-excrecds.cxx
-@@ -840,6 +840,7 @@ ExcAutoFilterRecs::ExcAutoFilterRecs( const XclExpRoot& rRoot, SCTAB nTab ) :
- XclExpRoot( rRoot ),
- pFilterMode( NULL ),
- pFilterInfo( NULL )
-+ , mbAutoFilter (false)
- {
- ScDBCollection& rDBColl = GetDatabaseRanges();
- XclExpNameManager& rNameMgr = GetNameManager();
-@@ -940,6 +941,9 @@ ExcAutoFilterRecs::ExcAutoFilterRecs( const XclExpRoot& rRoot, SCTAB nTab ) :
- if( !maFilterList.IsEmpty() )
- pFilterMode = new XclExpFiltermode;
- pFilterInfo = new XclExpAutofilterinfo( aRange.aStart, nColCnt );
-+
-+ if (maFilterList.IsEmpty () && !bConflict)
-+ mbAutoFilter = true;
- }
- }
- }
-@@ -997,7 +1001,7 @@ void ExcAutoFilterRecs::Save( XclExpStream& rStrm )
-
- void ExcAutoFilterRecs::SaveXml( XclExpXmlStream& rStrm )
- {
-- if( maFilterList.IsEmpty() )
-+ if( maFilterList.IsEmpty() && !mbAutoFilter )
- return;
-
- sax_fastparser::FSHelperPtr& rWorksheet = rStrm.GetCurrentStream();
-@@ -1005,7 +1009,8 @@ void ExcAutoFilterRecs::SaveXml( XclExpXmlStream& rStrm )
- XML_ref, XclXmlUtils::ToOString( maRef ).getStr(),
- FSEND );
- // OOXTODO: XML_extLst, XML_sortState
-- maFilterList.SaveXml( rStrm );
-+ if( !maFilterList.IsEmpty() )
-+ maFilterList.SaveXml( rStrm );
- rWorksheet->endElement( XML_autoFilter );
- }
-
---
-1.7.0.1
-
diff --git a/patches/dev300/xlsx-export-skip-auto-format.diff b/patches/dev300/xlsx-export-skip-auto-format.diff
deleted file mode 100644
index 479751c..0000000
--- a/patches/dev300/xlsx-export-skip-auto-format.diff
+++ /dev/null
@@ -1,29 +0,0 @@
-From 3e8f5ab3cc7fc0286f3048ed2cc020a9c16c9aa5 Mon Sep 17 00:00:00 2001
-From: Jan Nieuwenhuizen <janneke at gnu.org>
-Date: Tue, 12 May 2009 16:20:36 +0200
-Subject: [PATCH] OOXML: do not write XML_useAutoFormatting key without value. Fixes n#497560.
-
- * Modified sc/source/filter/xlsx/xlsx-xepivot.cxx
-
----
- sc/source/filter/xlsx/xlsx-xepivot.cxx | 4 +++-
- 1 files changed, 3 insertions(+), 1 deletions(-)
-
-diff --git sc/source/filter/xlsx/xlsx-xepivot.cxx sc/source/filter/xlsx/xlsx-xepivot.cxx
-index d255cc4..c19bee2 100644
---- sc/source/filter/xlsx/xlsx-xepivot.cxx
-+++ sc/source/filter/xlsx/xlsx-xepivot.cxx
-@@ -1376,7 +1376,9 @@ void XclExpPivotTable::SaveXml( XclExpXmlStream& rStrm )
- XML_enableDrill, XclXmlUtils::ToPsz( maPTExtInfo.mnFlags & EXC_SXEX_DRILLDOWN ), // ???
- // OOXTODO: XML_enableFieldProperties, [ SXEx fEnableFieldDialog (maPTExtInfo.mnFlags) ]
- // OOXTODO: XML_preserveFormatting, [ SXEx fPreserveFormatting (maPTExtInfo.mnFlags) ]
-- XML_useAutoFormatting,
-+#if 0
-+ // XML_useAutoFormatting, [???],
-+#endif
- // OOXTODO: XML_pageWrap, [ SXEx cWrapPage (maPTExtInfo.mnFlags) ]
- // OOXTODO: XML_pageOverThenDown, [ SXEx fAcrossPageLay (maPTExtInfo.mnFlags) ]
- // OOXTODO: XML_subtotalHiddenItems, [ SXEx fSubtotalHiddenPageItems (maPTExtInfo.mnFlags) ]
---
-1.6.0.rc1.49.g98a8
-
diff --git a/patches/dev300/xlsx-filter-as-a-separate-lib-guards.diff b/patches/dev300/xlsx-filter-as-a-separate-lib-guards.diff
deleted file mode 100644
index 5fb70f9..0000000
--- a/patches/dev300/xlsx-filter-as-a-separate-lib-guards.diff
+++ /dev/null
@@ -1,441 +0,0 @@
-From c5b86cec0b78d7cb00ae5014441defda24ce2b92 Mon Sep 17 00:00:00 2001
-From: Jan Holesovsky <kendy at suse.cz>
-Date: Fri, 14 May 2010 17:05:54 +0200
-Subject: [PATCH 610/768] xlsx-filter-as-a-separate-lib-guards.diff
-
----
- sc/source/filter/inc/XclExpChangeTrack.hxx | 4 ++++
- sc/source/filter/inc/excdoc.hxx | 4 ++++
- sc/source/filter/inc/excrecds.hxx | 4 ++++
- sc/source/filter/inc/exp_op.hxx | 4 ++++
- sc/source/filter/inc/imp_op.hxx | 4 ++++
- sc/source/filter/inc/xcl97esc.hxx | 4 ++++
- sc/source/filter/inc/xcl97rec.hxx | 4 ++++
- sc/source/filter/inc/xechart.hxx | 4 ++++
- sc/source/filter/inc/xecontent.hxx | 4 ++++
- sc/source/filter/inc/xeescher.hxx | 4 ++++
- sc/source/filter/inc/xehelper.hxx | 4 ++++
- sc/source/filter/inc/xelink.hxx | 4 ++++
- sc/source/filter/inc/xename.hxx | 4 ++++
- sc/source/filter/inc/xepage.hxx | 4 ++++
- sc/source/filter/inc/xepivot.hxx | 4 ++++
- sc/source/filter/inc/xerecord.hxx | 4 ++++
- sc/source/filter/inc/xeroot.hxx | 4 ++++
- sc/source/filter/inc/xestream.hxx | 4 ++++
- sc/source/filter/inc/xestyle.hxx | 4 ++++
- sc/source/filter/inc/xetable.hxx | 4 ++++
- sc/source/filter/inc/xeview.hxx | 4 ++++
- sc/source/filter/inc/xistyle.hxx | 4 ++++
- sc/source/filter/inc/xladdress.hxx | 4 ++++
- sc/source/filter/inc/xlescher.hxx | 4 ++++
- sc/source/filter/inc/xlpivot.hxx | 4 ++++
- sc/source/filter/inc/xlview.hxx | 4 ++++
- sc/source/filter/xlsx/makefile.mk | 2 ++
- 27 files changed, 106 insertions(+), 0 deletions(-)
-
-diff --git sc/source/filter/inc/XclExpChangeTrack.hxx sc/source/filter/inc/XclExpChangeTrack.hxx
-index 24b723e..c19031a 100644
---- sc/source/filter/inc/XclExpChangeTrack.hxx
-+++ sc/source/filter/inc/XclExpChangeTrack.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_XCLEXPCHANGETRACK_HXX
- #define SC_XCLEXPCHANGETRACK_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include <tools/debug.hxx>
- #include <tools/datetime.hxx>
- #include <rtl/uuid.h>
-diff --git sc/source/filter/inc/excdoc.hxx sc/source/filter/inc/excdoc.hxx
-index a94c7ff..ce9c0c1 100644
---- sc/source/filter/inc/excdoc.hxx
-+++ sc/source/filter/inc/excdoc.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_EXCDOC_HXX
- #define SC_EXCDOC_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include <tools/solar.h>
- #include "excrecds.hxx"
- #include "xeroot.hxx"
-diff --git sc/source/filter/inc/excrecds.hxx sc/source/filter/inc/excrecds.hxx
-index 1f7acfd..92992a8 100644
---- sc/source/filter/inc/excrecds.hxx
-+++ sc/source/filter/inc/excrecds.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_EXCRECDS_HXX
- #define SC_EXCRECDS_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include <tools/solar.h>
- #include <svl/zforlist.hxx>
- #include <tools/string.hxx>
-diff --git sc/source/filter/inc/exp_op.hxx sc/source/filter/inc/exp_op.hxx
-index a115c7b..de39c26 100644
---- sc/source/filter/inc/exp_op.hxx
-+++ sc/source/filter/inc/exp_op.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_EXP_OP_HXX
- #define SC_EXP_OP_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include "filter.hxx"
- #include "root.hxx"
- #include "xeroot.hxx"
-diff --git sc/source/filter/inc/imp_op.hxx sc/source/filter/inc/imp_op.hxx
-index 93724f6..8603cc6 100644
---- sc/source/filter/inc/imp_op.hxx
-+++ sc/source/filter/inc/imp_op.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_IMP_OP_HXX
- #define SC_IMP_OP_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include <tools/gen.hxx>
- #include "xiroot.hxx"
- #include "xistream.hxx"
-diff --git sc/source/filter/inc/xcl97esc.hxx sc/source/filter/inc/xcl97esc.hxx
-index e40e3f1..6c57fb8 100644
---- sc/source/filter/inc/xcl97esc.hxx
-+++ sc/source/filter/inc/xcl97esc.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_XCL97ESC_HXX
- #define SC_XCL97ESC_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include <memory>
- #include <tools/table.hxx>
- #include <tools/stack.hxx>
-diff --git sc/source/filter/inc/xcl97rec.hxx sc/source/filter/inc/xcl97rec.hxx
-index 299b80d..9c5ec1e 100644
---- sc/source/filter/inc/xcl97rec.hxx
-+++ sc/source/filter/inc/xcl97rec.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_XCL97REC_HXX
- #define SC_XCL97REC_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include "excrecds.hxx"
- #include "xcl97esc.hxx"
- #include "xlstyle.hxx"
-diff --git sc/source/filter/inc/xechart.hxx sc/source/filter/inc/xechart.hxx
-index 67f5f69..296645d 100644
---- sc/source/filter/inc/xechart.hxx
-+++ sc/source/filter/inc/xechart.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_XECHART_HXX
- #define SC_XECHART_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include <tools/gen.hxx>
- #include "xerecord.hxx"
- #include "xlchart.hxx"
-diff --git sc/source/filter/inc/xecontent.hxx sc/source/filter/inc/xecontent.hxx
-index 4783814..026b64e 100644
---- sc/source/filter/inc/xecontent.hxx
-+++ sc/source/filter/inc/xecontent.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_XECONTENT_HXX
- #define SC_XECONTENT_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include "rangelst.hxx"
- #include "xlcontent.hxx"
- #include "xladdress.hxx"
-diff --git sc/source/filter/inc/xeescher.hxx sc/source/filter/inc/xeescher.hxx
-index 259ab97..05a6576 100644
---- sc/source/filter/inc/xeescher.hxx
-+++ sc/source/filter/inc/xeescher.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_XEESCHER_HXX
- #define SC_XEESCHER_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include <vcl/graph.hxx>
- #include <filter/msfilter/escherex.hxx>
- #include "xcl97rec.hxx"
-diff --git sc/source/filter/inc/xehelper.hxx sc/source/filter/inc/xehelper.hxx
-index 8e4094a..4a1552f 100644
---- sc/source/filter/inc/xehelper.hxx
-+++ sc/source/filter/inc/xehelper.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_XEHELPER_HXX
- #define SC_XEHELPER_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include "xladdress.hxx"
- #include "xeroot.hxx"
- #include "xestring.hxx"
-diff --git sc/source/filter/inc/xelink.hxx sc/source/filter/inc/xelink.hxx
-index c70e496..84cf2ec 100644
---- sc/source/filter/inc/xelink.hxx
-+++ sc/source/filter/inc/xelink.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_XELINK_HXX
- #define SC_XELINK_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include "markdata.hxx"
- #include "xllink.hxx"
- #include "xerecord.hxx"
-diff --git sc/source/filter/inc/xename.hxx sc/source/filter/inc/xename.hxx
-index d80b51f..92e330a 100644
---- sc/source/filter/inc/xename.hxx
-+++ sc/source/filter/inc/xename.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_XENAME_HXX
- #define SC_XENAME_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include "xerecord.hxx"
- #include "xlname.hxx"
- #include "xlformula.hxx"
-diff --git sc/source/filter/inc/xepage.hxx sc/source/filter/inc/xepage.hxx
-index 1e96c98..b7c9e95 100644
---- sc/source/filter/inc/xepage.hxx
-+++ sc/source/filter/inc/xepage.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_XEPAGE_HXX
- #define SC_XEPAGE_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include "xerecord.hxx"
- #include "xlpage.hxx"
- #include "xeroot.hxx"
-diff --git sc/source/filter/inc/xepivot.hxx sc/source/filter/inc/xepivot.hxx
-index 8841a71..6489813 100644
---- sc/source/filter/inc/xepivot.hxx
-+++ sc/source/filter/inc/xepivot.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_XEPIVOT_HXX
- #define SC_XEPIVOT_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include <map>
- #include "xerecord.hxx"
- #include "xlpivot.hxx"
-diff --git sc/source/filter/inc/xerecord.hxx sc/source/filter/inc/xerecord.hxx
-index 6e1f7e7..e8c7c63 100644
---- sc/source/filter/inc/xerecord.hxx
-+++ sc/source/filter/inc/xerecord.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_XERECORD_HXX
- #define SC_XERECORD_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include "xlconst.hxx"
- #include "xestream.hxx"
-
-diff --git sc/source/filter/inc/xeroot.hxx sc/source/filter/inc/xeroot.hxx
-index f9d3a6a..e3717e1 100644
---- sc/source/filter/inc/xeroot.hxx
-+++ sc/source/filter/inc/xeroot.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_XEROOT_HXX
- #define SC_XEROOT_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include "xlroot.hxx"
-
- // Forward declarations of objects in public use ==============================
-diff --git sc/source/filter/inc/xestream.hxx sc/source/filter/inc/xestream.hxx
-index a8fae8f..a0ae4b0 100644
---- sc/source/filter/inc/xestream.hxx
-+++ sc/source/filter/inc/xestream.hxx
-@@ -30,6 +30,10 @@
- #ifndef SC_XESTREAM_HXX
- #define SC_XESTREAM_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include <map>
- #include <stack>
- #include <string>
-diff --git sc/source/filter/inc/xestyle.hxx sc/source/filter/inc/xestyle.hxx
-index 81caa30..972edda 100644
---- sc/source/filter/inc/xestyle.hxx
-+++ sc/source/filter/inc/xestyle.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_XESTYLE_HXX
- #define SC_XESTYLE_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include <map>
- #include <tools/mempool.hxx>
- #include <tools/string.hxx>
-diff --git sc/source/filter/inc/xetable.hxx sc/source/filter/inc/xetable.hxx
-index dcb7823..b8ea13c 100644
---- sc/source/filter/inc/xetable.hxx
-+++ sc/source/filter/inc/xetable.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_XETABLE_HXX
- #define SC_XETABLE_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include "xltable.hxx"
-
- #include <deque>
-diff --git sc/source/filter/inc/xeview.hxx sc/source/filter/inc/xeview.hxx
-index 8373f8f..a9ae55d 100644
---- sc/source/filter/inc/xeview.hxx
-+++ sc/source/filter/inc/xeview.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_XEVIEW_HXX
- #define SC_XEVIEW_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include "xerecord.hxx"
- #include "xlview.hxx"
- #include "xeroot.hxx"
-diff --git sc/source/filter/inc/xistyle.hxx sc/source/filter/inc/xistyle.hxx
-index 1d3047e..3cd7b89 100644
---- sc/source/filter/inc/xistyle.hxx
-+++ sc/source/filter/inc/xistyle.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_XISTYLE_HXX
- #define SC_XISTYLE_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include <list>
- #include <tools/mempool.hxx>
- #include "rangelst.hxx"
-diff --git sc/source/filter/inc/xladdress.hxx sc/source/filter/inc/xladdress.hxx
-index b8705ae..e3b3c41 100644
---- sc/source/filter/inc/xladdress.hxx
-+++ sc/source/filter/inc/xladdress.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_XLADDRESS_HXX
- #define SC_XLADDRESS_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include <vector>
- #include "address.hxx"
-
-diff --git sc/source/filter/inc/xlescher.hxx sc/source/filter/inc/xlescher.hxx
-index d2b551d..92eebd2 100644
---- sc/source/filter/inc/xlescher.hxx
-+++ sc/source/filter/inc/xlescher.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_XLESCHER_HXX
- #define SC_XLESCHER_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include <vcl/mapunit.hxx>
- #include "fapihelper.hxx"
- #include "xladdress.hxx"
-diff --git sc/source/filter/inc/xlpivot.hxx sc/source/filter/inc/xlpivot.hxx
-index b79218c..9698f95 100644
---- sc/source/filter/inc/xlpivot.hxx
-+++ sc/source/filter/inc/xlpivot.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_XLPIVOT_HXX
- #define SC_XLPIVOT_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include <com/sun/star/sheet/GeneralFunction.hpp>
- #include <com/sun/star/sheet/DataPilotFieldOrientation.hpp>
- #include <com/sun/star/sheet/DataPilotFieldSortMode.hpp>
-diff --git sc/source/filter/inc/xlview.hxx sc/source/filter/inc/xlview.hxx
-index 8961bb4..b165402 100644
---- sc/source/filter/inc/xlview.hxx
-+++ sc/source/filter/inc/xlview.hxx
-@@ -28,6 +28,10 @@
- #ifndef SC_XLVIEW_HXX
- #define SC_XLVIEW_HXX
-
-+#ifdef XLSX_GUARD
-+#error Should not include this from sc/source/filter/xlsx code
-+#endif
-+
- #include <map>
- #include <tools/color.hxx>
- #include "ftools.hxx"
-diff --git sc/source/filter/xlsx/makefile.mk sc/source/filter/xlsx/makefile.mk
-index c59deea..68f1ddd 100644
---- sc/source/filter/xlsx/makefile.mk
-+++ sc/source/filter/xlsx/makefile.mk
-@@ -48,6 +48,8 @@ PROJECTPCHSOURCE=..\pch\filt_pch
-
- # --- Files --------------------------------------------------------
-
-+CDEFS+=-DXLSX_GUARD
-+
- SLOFILES = \
- $(SLO)$/xlsx-excdoc.obj \
- $(SLO)$/xlsx-excrecds.obj \
---
-1.7.0.1
-
diff --git a/patches/dev300/xlsx-filter-as-a-separate-lib-xls-copy.diff b/patches/dev300/xlsx-filter-as-a-separate-lib-xls-copy.diff
deleted file mode 100644
index c0d74c1..0000000
--- a/patches/dev300/xlsx-filter-as-a-separate-lib-xls-copy.diff
+++ /dev/null
@@ -1,50393 +0,0 @@
-From dbb4af9955c283fe959615ab76b4eb597985fa9c Mon Sep 17 00:00:00 2001
-From: Jan Holesovsky <kendy at suse.cz>
-Date: Fri, 14 May 2010 17:05:53 +0200
-Subject: [PATCH 609/768] xlsx-filter-as-a-separate-lib-xls-copy.diff
-
----
- sc/source/filter/xlsx/XclExpChangeTrack.hxx | 643 +++++
- sc/source/filter/xlsx/excdoc.hxx | 122 +
- sc/source/filter/xlsx/excrecds.hxx | 508 ++++
- sc/source/filter/xlsx/exp_op.hxx | 148 +
- sc/source/filter/xlsx/imp_op.hxx | 206 ++
- sc/source/filter/xlsx/xcl97esc.hxx | 266 ++
- sc/source/filter/xlsx/xcl97rec.hxx | 656 +++++
- sc/source/filter/xlsx/xechart.hxx | 1216 +++++++++
- sc/source/filter/xlsx/xecontent.hxx | 356 +++
- sc/source/filter/xlsx/xeescher.hxx | 270 ++
- sc/source/filter/xlsx/xeformula.hxx | 99 +
- sc/source/filter/xlsx/xehelper.hxx | 453 ++++
- sc/source/filter/xlsx/xelink.hxx | 223 ++
- sc/source/filter/xlsx/xename.hxx | 93 +
- sc/source/filter/xlsx/xepage.hxx | 139 +
- sc/source/filter/xlsx/xepivot.hxx | 488 ++++
- sc/source/filter/xlsx/xerecord.hxx | 424 +++
- sc/source/filter/xlsx/xeroot.hxx | 172 ++
- sc/source/filter/xlsx/xestream.hxx | 357 +++
- sc/source/filter/xlsx/xestyle.hxx | 762 ++++++
- sc/source/filter/xlsx/xetable.hxx | 1091 ++++++++
- sc/source/filter/xlsx/xeview.hxx | 182 ++
- sc/source/filter/xlsx/xistyle.hxx | 685 +++++
- sc/source/filter/xlsx/xladdress.hxx | 199 ++
- sc/source/filter/xlsx/xlescher.hxx | 453 ++++
- sc/source/filter/xlsx/xlpivot.hxx | 819 ++++++
- sc/source/filter/xlsx/xlsx-XclExpChangeTrack.cxx | 1250 +++++++++
- sc/source/filter/xlsx/xlsx-excdoc.cxx | 850 ++++++
- sc/source/filter/xlsx/xlsx-excrecds.cxx | 1052 ++++++++
- sc/source/filter/xlsx/xlsx-exctools.cxx | 438 +++
- sc/source/filter/xlsx/xlsx-expop2.cxx | 227 ++
- sc/source/filter/xlsx/xlsx-fontbuff.cxx | 163 ++
- sc/source/filter/xlsx/xlsx-frmbase.cxx | 294 ++
- sc/source/filter/xlsx/xlsx-namebuff.cxx | 345 +++
- sc/source/filter/xlsx/xlsx-tokstack.cxx | 890 ++++++
- sc/source/filter/xlsx/xlsx-xcl97esc.cxx | 619 +++++
- sc/source/filter/xlsx/xlsx-xcl97rec.cxx | 1591 +++++++++++
- sc/source/filter/xlsx/xlsx-xechart.cxx | 3140 ++++++++++++++++++++++
- sc/source/filter/xlsx/xlsx-xecontent.cxx | 1477 ++++++++++
- sc/source/filter/xlsx/xlsx-xeescher.cxx | 1081 ++++++++
- sc/source/filter/xlsx/xlsx-xeformula.cxx | 2648 ++++++++++++++++++
- sc/source/filter/xlsx/xlsx-xehelper.cxx | 1146 ++++++++
- sc/source/filter/xlsx/xlsx-xelink.cxx | 2438 +++++++++++++++++
- sc/source/filter/xlsx/xlsx-xename.cxx | 793 ++++++
- sc/source/filter/xlsx/xlsx-xepage.cxx | 416 +++
- sc/source/filter/xlsx/xlsx-xepivot.cxx | 1807 +++++++++++++
- sc/source/filter/xlsx/xlsx-xerecord.cxx | 311 +++
- sc/source/filter/xlsx/xlsx-xeroot.cxx | 269 ++
- sc/source/filter/xlsx/xlsx-xestream.cxx | 1035 +++++++
- sc/source/filter/xlsx/xlsx-xestring.cxx | 658 +++++
- sc/source/filter/xlsx/xlsx-xestyle.cxx | 2873 ++++++++++++++++++++
- sc/source/filter/xlsx/xlsx-xetable.cxx | 2587 ++++++++++++++++++
- sc/source/filter/xlsx/xlsx-xeview.cxx | 540 ++++
- sc/source/filter/xlsx/xlsx-xladdress.cxx | 163 ++
- sc/source/filter/xlsx/xlsx-xlchart.cxx | 1352 ++++++++++
- sc/source/filter/xlsx/xlsx-xlescher.cxx | 378 +++
- sc/source/filter/xlsx/xlsx-xlformula.cxx | 758 ++++++
- sc/source/filter/xlsx/xlsx-xlpage.cxx | 250 ++
- sc/source/filter/xlsx/xlsx-xlpivot.cxx | 1033 +++++++
- sc/source/filter/xlsx/xlsx-xlroot.cxx | 383 +++
- sc/source/filter/xlsx/xlsx-xlstyle.cxx | 1773 ++++++++++++
- sc/source/filter/xlsx/xlsx-xltoolbar.cxx | 431 +++
- sc/source/filter/xlsx/xlsx-xltools.cxx | 693 +++++
- sc/source/filter/xlsx/xlsx-xltracer.cxx | 272 ++
- sc/source/filter/xlsx/xlsx-xlview.cxx | 117 +
- sc/source/filter/xlsx/xltoolbar.hxx | 95 +
- sc/source/filter/xlsx/xlview.hxx | 180 ++
- 67 files changed, 49846 insertions(+), 0 deletions(-)
- create mode 100644 sc/source/filter/xlsx/XclExpChangeTrack.hxx
- create mode 100644 sc/source/filter/xlsx/excdoc.hxx
- create mode 100644 sc/source/filter/xlsx/excrecds.hxx
- create mode 100644 sc/source/filter/xlsx/exp_op.hxx
- create mode 100644 sc/source/filter/xlsx/imp_op.hxx
- create mode 100644 sc/source/filter/xlsx/xcl97esc.hxx
- create mode 100644 sc/source/filter/xlsx/xcl97rec.hxx
- create mode 100644 sc/source/filter/xlsx/xechart.hxx
- create mode 100644 sc/source/filter/xlsx/xecontent.hxx
- create mode 100644 sc/source/filter/xlsx/xeescher.hxx
- create mode 100644 sc/source/filter/xlsx/xeformula.hxx
- create mode 100644 sc/source/filter/xlsx/xehelper.hxx
- create mode 100644 sc/source/filter/xlsx/xelink.hxx
- create mode 100644 sc/source/filter/xlsx/xename.hxx
- create mode 100644 sc/source/filter/xlsx/xepage.hxx
- create mode 100644 sc/source/filter/xlsx/xepivot.hxx
- create mode 100644 sc/source/filter/xlsx/xerecord.hxx
- create mode 100644 sc/source/filter/xlsx/xeroot.hxx
- create mode 100644 sc/source/filter/xlsx/xestream.hxx
- create mode 100644 sc/source/filter/xlsx/xestyle.hxx
- create mode 100644 sc/source/filter/xlsx/xetable.hxx
- create mode 100644 sc/source/filter/xlsx/xeview.hxx
- create mode 100644 sc/source/filter/xlsx/xistyle.hxx
- create mode 100644 sc/source/filter/xlsx/xladdress.hxx
- create mode 100644 sc/source/filter/xlsx/xlescher.hxx
- create mode 100644 sc/source/filter/xlsx/xlpivot.hxx
- create mode 100644 sc/source/filter/xlsx/xlsx-XclExpChangeTrack.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-excdoc.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-excrecds.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-exctools.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-expop2.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-fontbuff.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-frmbase.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-namebuff.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-tokstack.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xcl97esc.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xcl97rec.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xechart.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xecontent.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xeescher.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xeformula.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xehelper.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xelink.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xename.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xepage.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xepivot.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xerecord.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xeroot.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xestream.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xestring.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xestyle.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xetable.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xeview.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xladdress.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xlchart.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xlescher.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xlformula.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xlpage.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xlpivot.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xlroot.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xlstyle.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xltoolbar.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xltools.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xltracer.cxx
- create mode 100644 sc/source/filter/xlsx/xlsx-xlview.cxx
- create mode 100644 sc/source/filter/xlsx/xltoolbar.hxx
- create mode 100644 sc/source/filter/xlsx/xlview.hxx
-
-diff --git sc/source/filter/xlsx/XclExpChangeTrack.hxx sc/source/filter/xlsx/XclExpChangeTrack.hxx
-new file mode 100644
-index 0000000..0e55090
---- /dev/null
-+++ sc/source/filter/xlsx/XclExpChangeTrack.hxx
-@@ -0,0 +1,643 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: XclExpChangeTrack.hxx,v $
-+ * $Revision: 1.20 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#ifndef SC_XCLEXPCHANGETRACK_HXX
-+#define SC_XCLEXPCHANGETRACK_HXX
-+
-+#include <tools/debug.hxx>
-+#include <tools/datetime.hxx>
-+#include <rtl/uuid.h>
-+#include "bigrange.hxx"
-+#include "chgtrack.hxx"
-+#include "xelink.hxx"
-+#include "ftools.hxx"
-+#include "excrecds.hxx"
-+
-+//___________________________________________________________________
-+
-+class ScBaseCell;
-+
-+//___________________________________________________________________
-+// XclExpUserBView - one UserBView record for each user
-+
-+class XclExpUserBView : public ExcRecord
-+{
-+private:
-+ XclExpString sUsername;
-+ sal_uInt8 aGUID[ 16 ];
-+
-+ virtual void SaveCont( XclExpStream& rStrm );
-+
-+public:
-+ XclExpUserBView( const String& rUsername, const sal_uInt8* pGUID );
-+
-+ inline const sal_uInt8* GetGUID() const { return aGUID; }
-+
-+ virtual UINT16 GetNum() const;
-+ virtual sal_Size GetLen() const;
-+};
-+
-+//___________________________________________________________________
-+// XclExpUserBViewList - list of UserBView records
-+
-+class XclExpUserBViewList : public ExcEmptyRec, private List
-+{
-+private:
-+ inline XclExpUserBView* _First() { return (XclExpUserBView*) List::First(); }
-+ inline XclExpUserBView* _Next() { return (XclExpUserBView*) List::Next(); }
-+
-+public:
-+ XclExpUserBViewList( const ScChangeTrack& rChangeTrack );
-+ virtual ~XclExpUserBViewList();
-+
-+ inline const XclExpUserBView* First() { return (const XclExpUserBView*) List::First(); }
-+ inline const XclExpUserBView* Next() { return (const XclExpUserBView*) List::Next(); }
-+
-+ virtual void Save( XclExpStream& rStrm );
-+};
-+
-+//___________________________________________________________________
-+// XclExpUsersViewBegin - begin of view block (one per sheet)
-+
-+class XclExpUsersViewBegin : public ExcRecord
-+{
-+private:
-+ sal_uInt8 aGUID[ 16 ];
-+ sal_uInt32 nCurrTab;
-+
-+ virtual void SaveCont( XclExpStream& rStrm );
-+
-+public:
-+ XclExpUsersViewBegin( const sal_uInt8* pGUID, sal_uInt32 nTab );
-+ virtual UINT16 GetNum() const;
-+ virtual sal_Size GetLen() const;
-+};
-+
-+//___________________________________________________________________
-+// XclExpUsersViewEnd - end of view block (one per sheet)
-+
-+class XclExpUsersViewEnd : public ExcRecord
-+{
-+private:
-+ virtual void SaveCont( XclExpStream& rStrm );
-+
-+public:
-+ virtual UINT16 GetNum() const;
-+ virtual sal_Size GetLen() const;
-+};
-+
-+//___________________________________________________________________
-+// dummy record for "User Names" stream
-+
-+class XclExpChTr0x0191 : public ExcRecord
-+{
-+private:
-+ virtual void SaveCont( XclExpStream& rStrm );
-+
-+public:
-+ virtual UINT16 GetNum() const;
-+ virtual sal_Size GetLen() const;
-+};
-+
-+//___________________________________________________________________
-+// dummy record for "User Names" stream
-+
-+class XclExpChTr0x0198 : public ExcRecord
-+{
-+private:
-+ virtual void SaveCont( XclExpStream& rStrm );
-+
-+public:
-+ virtual UINT16 GetNum() const;
-+ virtual sal_Size GetLen() const;
-+};
-+
-+//___________________________________________________________________
-+// dummy record for "User Names" stream
-+
-+class XclExpChTr0x0192 : public ExcRecord
-+{
-+private:
-+ virtual void SaveCont( XclExpStream& rStrm );
-+
-+public:
-+ virtual UINT16 GetNum() const;
-+ virtual sal_Size GetLen() const;
-+};
-+
-+//___________________________________________________________________
-+// dummy record for "User Names" stream
-+
-+class XclExpChTr0x0197 : public ExcRecord
-+{
-+private:
-+ virtual void SaveCont( XclExpStream& rStrm );
-+
-+public:
-+ virtual UINT16 GetNum() const;
-+ virtual sal_Size GetLen() const;
-+};
-+
-+//___________________________________________________________________
-+// dummy record without content
-+
-+class XclExpChTrEmpty : public ExcRecord
-+{
-+private:
-+ UINT16 nRecNum;
-+
-+public:
-+ inline XclExpChTrEmpty( UINT16 nNum ) : nRecNum( nNum ) {}
-+ virtual ~XclExpChTrEmpty();
-+
-+ virtual UINT16 GetNum() const;
-+ virtual sal_Size GetLen() const;
-+};
-+
-+//___________________________________________________________________
-+// dummy record for "Revision Log" stream
-+
-+class XclExpChTr0x0195 : public ExcRecord
-+{
-+private:
-+ virtual void SaveCont( XclExpStream& rStrm );
-+
-+public:
-+ virtual ~XclExpChTr0x0195();
-+
-+ virtual UINT16 GetNum() const;
-+ virtual sal_Size GetLen() const;
-+};
-+
-+//___________________________________________________________________
-+// dummy record for "Revision Log" stream
-+
-+class XclExpChTr0x0194 : public ExcRecord
-+{
-+private:
-+ XclExpString sUsername;
-+ DateTime aDateTime;
-+
-+ virtual void SaveCont( XclExpStream& rStrm );
-+
-+public:
-+ inline XclExpChTr0x0194( const ScChangeTrack& rChangeTrack );
-+ virtual ~XclExpChTr0x0194();
-+
-+ virtual UINT16 GetNum() const;
-+ virtual sal_Size GetLen() const;
-+};
-+
-+inline XclExpChTr0x0194::XclExpChTr0x0194( const ScChangeTrack& rChangeTrack ) :
-+ sUsername( rChangeTrack.GetUser() ),
-+ aDateTime( rChangeTrack.GetFixDateTime() )
-+{
-+}
-+
-+//___________________________________________________________________
-+// XclExpChTrHeader - header record, includes action count
-+
-+class XclExpChTrHeader : public ExcRecord
-+{
-+private:
-+ sal_uInt8 aGUID[ 16 ];
-+ sal_uInt32 nCount;
-+
-+ virtual void SaveCont( XclExpStream& rStrm );
-+
-+public:
-+ inline XclExpChTrHeader() : nCount( 0 ) {}
-+ virtual ~XclExpChTrHeader();
-+
-+ inline void SetGUID( const sal_uInt8* pGUID ) { memcpy( aGUID, pGUID, 16 ); }
-+ inline void SetCount( sal_uInt32 nNew ) { nCount = nNew; }
-+
-+ virtual UINT16 GetNum() const;
-+ virtual sal_Size GetLen() const;
-+};
-+
-+//___________________________________________________________________
-+// XclExpChTrInfo - header of action group of a user
-+
-+class XclExpChTrInfo : public ExcRecord
-+{
-+private:
-+ XclExpString sUsername;
-+ DateTime aDateTime;
-+ sal_uInt8 aGUID[ 16 ];
-+
-+ virtual void SaveCont( XclExpStream& rStrm );
-+
-+public:
-+ inline XclExpChTrInfo(
-+ const String& rUsername,
-+ const DateTime& rDateTime,
-+ const sal_uInt8* pGUID );
-+ virtual ~XclExpChTrInfo();
-+
-+ virtual UINT16 GetNum() const;
-+ virtual sal_Size GetLen() const;
-+};
-+
-+inline XclExpChTrInfo::XclExpChTrInfo( const String& rUsername, const DateTime& rDateTime, const sal_uInt8* pGUID ) :
-+ sUsername( rUsername ),
-+ aDateTime( rDateTime )
-+{
-+ memcpy( aGUID, pGUID, 16 );
-+}
-+
-+//___________________________________________________________________
-+// XclExpChTrTabIdBuffer - buffer for tab id's
-+
-+class XclExpChTrTabIdBuffer
-+{
-+private:
-+ sal_uInt16* pBuffer;
-+ sal_uInt16* pLast;
-+ sal_uInt16 nBufSize;
-+ sal_uInt16 nLastId;
-+
-+public:
-+ XclExpChTrTabIdBuffer( sal_uInt16 nCount );
-+ XclExpChTrTabIdBuffer( const XclExpChTrTabIdBuffer& rCopy );
-+ ~XclExpChTrTabIdBuffer();
-+
-+ void InitFill( sal_uInt16 nIndex );
-+ void InitFillup();
-+
-+ sal_uInt16 GetId( sal_uInt16 nIndex ) const;
-+ void Remove();
-+
-+ inline sal_uInt16 GetBufferCount() const
-+ { return static_cast< sal_uInt16 >( (pLast - pBuffer) + 1 ); }
-+ inline void GetBufferCopy( sal_uInt16* pDest ) const
-+ { memcpy( pDest, pBuffer, sizeof(sal_uInt16) * GetBufferCount() ); }
-+};
-+
-+//___________________________________________________________________
-+// XclExpChTrTabIdBufferList
-+
-+class XclExpChTrTabIdBufferList : private List
-+{
-+private:
-+ inline XclExpChTrTabIdBuffer* First() { return (XclExpChTrTabIdBuffer*) List::First(); }
-+ inline XclExpChTrTabIdBuffer* Next() { return (XclExpChTrTabIdBuffer*) List::Next(); }
-+
-+public:
-+ virtual ~XclExpChTrTabIdBufferList();
-+
-+ inline void Append( XclExpChTrTabIdBuffer* pNew )
-+ { List::Insert( pNew, LIST_APPEND ); }
-+};
-+
-+//___________________________________________________________________
-+// XclExpChTrTabId - tab id record
-+
-+class XclExpChTrTabId : public ExcRecord
-+{
-+private:
-+ sal_uInt16* pBuffer;
-+ sal_uInt16 nTabCount;
-+
-+ inline void Clear() { if( pBuffer ) delete[] pBuffer; pBuffer = NULL; }
-+
-+ virtual void SaveCont( XclExpStream& rStrm );
-+
-+public:
-+ inline XclExpChTrTabId( sal_uInt16 nCount ) :
-+ pBuffer( NULL ), nTabCount( nCount ) {}
-+ XclExpChTrTabId( const XclExpChTrTabIdBuffer& rBuffer );
-+ virtual ~XclExpChTrTabId();
-+
-+ void Copy( const XclExpChTrTabIdBuffer& rBuffer );
-+
-+ virtual UINT16 GetNum() const;
-+ virtual sal_Size GetLen() const;
-+};
-+
-+//___________________________________________________________________
-+// XclExpChTrAction - base class for action records
-+
-+class XclExpChTrAction : public ExcRecord
-+{
-+private:
-+ String sUsername;
-+ DateTime aDateTime;
-+ sal_uInt32 nIndex; // action number
-+ XclExpChTrAction* pAddAction; // additional record for this action
-+ sal_Bool bAccepted;
-+
-+protected:
-+ const XclExpTabInfo& rTabInfo; // for table num export (sc num -> xcl num)
-+ const XclExpChTrTabIdBuffer& rIdBuffer; // for table num export (xcl num -> tab id)
-+ sal_uInt32 nLength; // this is not the record size
-+ sal_uInt16 nOpCode; // EXC_CHTR_OP_***
-+ sal_Bool bForceInfo;
-+
-+ XclExpChTrAction( const XclExpChTrAction& rCopy );
-+
-+ void SetAddAction( XclExpChTrAction* pAction );
-+ void AddDependentContents(
-+ const ScChangeAction& rAction,
-+ const XclExpRoot& rRoot,
-+ ScChangeTrack& rChangeTrack );
-+
-+ inline void Write2DAddress( XclExpStream& rStrm, const ScAddress& rAddress ) const;
-+ inline void Write2DRange( XclExpStream& rStrm, const ScRange& rRange ) const;
-+ inline void WriteTabId( XclExpStream& rStrm, SCTAB nTabId ) const;
-+
-+ // save header data, call SaveActionData()
-+ virtual void SaveCont( XclExpStream& rStrm );
-+ inline sal_Size GetHeaderByteCount() const { return 12; }
-+
-+ // overload to save action data without header, called by SaveCont()
-+ virtual void SaveActionData( XclExpStream& rStrm ) const = 0;
-+ // overload to get action size without header, called by GetLen()
-+ virtual sal_Size GetActionByteCount() const = 0;
-+
-+ // do something before writing the record
-+ virtual void PrepareSaveAction( XclExpStream& rStrm ) const;
-+ // do something after writing the record
-+ virtual void CompleteSaveAction( XclExpStream& rStrm ) const;
-+
-+public:
-+ XclExpChTrAction(
-+ const ScChangeAction& rAction,
-+ const XclExpRoot& rRoot,
-+ const XclExpChTrTabIdBuffer& rTabIdBuffer,
-+ sal_uInt16 nNewOpCode = EXC_CHTR_OP_UNKNOWN );
-+ virtual ~XclExpChTrAction();
-+
-+ inline const String& GetUsername() const { return sUsername; }
-+ inline const DateTime& GetDateTime() const { return aDateTime; }
-+ inline const XclExpChTrTabIdBuffer& GetTabIdBuffer() const { return rIdBuffer; }
-+ inline sal_Bool ForceInfoRecord() const { return bForceInfo; }
-+
-+ // set own index & return new index
-+ // could be overloaded to use more indexes per action
-+ virtual void SetIndex( sal_uInt32& rIndex );
-+
-+ virtual void Save( XclExpStream& rStrm );
-+ virtual sal_Size GetLen() const;
-+};
-+
-+inline void XclExpChTrAction::Write2DAddress( XclExpStream& rStrm, const ScAddress& rAddress ) const
-+{
-+ rStrm << (sal_uInt16) rAddress.Row()
-+ << (sal_uInt16) rAddress.Col();
-+}
-+
-+inline void XclExpChTrAction::Write2DRange( XclExpStream& rStrm, const ScRange& rRange ) const
-+{
-+ rStrm << (sal_uInt16) rRange.aStart.Row()
-+ << (sal_uInt16) rRange.aEnd.Row()
-+ << (sal_uInt16) rRange.aStart.Col()
-+ << (sal_uInt16) rRange.aEnd.Col();
-+}
-+
-+inline void XclExpChTrAction::WriteTabId( XclExpStream& rStrm, SCTAB nTab ) const
-+{
-+ rStrm << rIdBuffer.GetId( rTabInfo.GetXclTab( nTab ) );
-+}
-+
-+//___________________________________________________________________
-+// XclExpChTrData - cell content itself
-+
-+struct XclExpChTrData
-+{
-+ XclExpString* pString;
-+ XclTokenArrayRef mxTokArr;
-+ XclExpRefLog maRefLog;
-+ double fValue;
-+ sal_Int32 nRKValue;
-+ sal_uInt16 nType;
-+ sal_Size nSize;
-+
-+ XclExpChTrData();
-+ ~XclExpChTrData();
-+ void Clear();
-+
-+ void WriteFormula(
-+ XclExpStream& rStrm,
-+ const XclExpChTrTabIdBuffer& rTabIdBuffer );
-+ void Write(
-+ XclExpStream& rStrm,
-+ const XclExpChTrTabIdBuffer& rTabIdBuffer );
-+};
-+
-+//___________________________________________________________________
-+// XclExpChTrCellContent - changed cell content
-+
-+class XclExpChTrCellContent : public XclExpChTrAction, protected XclExpRoot
-+{
-+private:
-+ XclExpChTrData* pOldData;
-+ XclExpChTrData* pNewData;
-+ sal_uInt16 nOldLength; // this is not the record size
-+
-+ void MakeEmptyChTrData( XclExpChTrData*& rpData );
-+
-+protected:
-+ ScAddress aPosition;
-+
-+ void GetCellData(
-+ const ScBaseCell* pScCell,
-+ XclExpChTrData*& rpData,
-+ sal_uInt32& rXclLength1,
-+ sal_uInt16& rXclLength2 );
-+
-+ virtual void SaveActionData( XclExpStream& rStrm ) const;
-+
-+public:
-+ XclExpChTrCellContent(
-+ const ScChangeActionContent& rAction,
-+ const XclExpRoot& rRoot,
-+ const XclExpChTrTabIdBuffer& rTabIdBuffer );
-+ virtual ~XclExpChTrCellContent();
-+
-+ virtual UINT16 GetNum() const;
-+ virtual sal_Size GetActionByteCount() const;
-+};
-+
-+//___________________________________________________________________
-+// XclExpChTrInsert - insert/delete columns/rows
-+
-+class XclExpChTrInsert : public XclExpChTrAction
-+{
-+protected:
-+ ScRange aRange;
-+
-+ XclExpChTrInsert( const XclExpChTrInsert& rCopy ) :
-+ XclExpChTrAction( rCopy ), aRange( rCopy.aRange ) {}
-+
-+ virtual void SaveActionData( XclExpStream& rStrm ) const;
-+ virtual void PrepareSaveAction( XclExpStream& rStrm ) const;
-+ virtual void CompleteSaveAction( XclExpStream& rStrm ) const;
-+
-+public:
-+ XclExpChTrInsert(
-+ const ScChangeAction& rAction,
-+ const XclExpRoot& rRoot,
-+ const XclExpChTrTabIdBuffer& rTabIdBuffer,
-+ ScChangeTrack& rChangeTrack );
-+ virtual ~XclExpChTrInsert();
-+
-+ virtual UINT16 GetNum() const;
-+ virtual sal_Size GetActionByteCount() const;
-+};
-+
-+//___________________________________________________________________
-+// XclExpChTrInsertTab - insert table
-+
-+class XclExpChTrInsertTab : public XclExpChTrAction, protected XclExpRoot
-+{
-+private:
-+ SCTAB nTab;
-+
-+protected:
-+ virtual void SaveActionData( XclExpStream& rStrm ) const;
-+
-+public:
-+ XclExpChTrInsertTab(
-+ const ScChangeAction& rAction,
-+ const XclExpRoot& rRoot,
-+ const XclExpChTrTabIdBuffer& rTabIdBuffer );
-+ virtual ~XclExpChTrInsertTab();
-+
-+ virtual UINT16 GetNum() const;
-+ virtual sal_Size GetActionByteCount() const;
-+};
-+
-+//___________________________________________________________________
-+// XclExpChTrMoveRange - move cell range
-+
-+class XclExpChTrMoveRange : public XclExpChTrAction
-+{
-+protected:
-+ ScRange aSourceRange;
-+ ScRange aDestRange;
-+
-+ virtual void SaveActionData( XclExpStream& rStrm ) const;
-+ virtual void PrepareSaveAction( XclExpStream& rStrm ) const;
-+ virtual void CompleteSaveAction( XclExpStream& rStrm ) const;
-+
-+public:
-+ XclExpChTrMoveRange(
-+ const ScChangeActionMove& rAction,
-+ const XclExpRoot& rRoot,
-+ const XclExpChTrTabIdBuffer& rTabIdBuffer,
-+ ScChangeTrack& rChangeTrack );
-+ virtual ~XclExpChTrMoveRange();
-+
-+ virtual UINT16 GetNum() const;
-+ virtual sal_Size GetActionByteCount() const;
-+};
-+
-+//___________________________________________________________________
-+// XclExpChTr0x019A - additional data for delete action
-+
-+class XclExpChTr0x014A : public XclExpChTrInsert
-+{
-+protected:
-+ virtual void SaveActionData( XclExpStream& rStrm ) const;
-+
-+public:
-+ XclExpChTr0x014A( const XclExpChTrInsert& rAction );
-+ virtual ~XclExpChTr0x014A();
-+
-+ virtual UINT16 GetNum() const;
-+ virtual sal_Size GetActionByteCount() const;
-+};
-+
-+//___________________________________________________________________
-+// XclExpChTrActionStack - temporary action stack
-+
-+class XclExpChTrActionStack : private Stack
-+{
-+public:
-+ virtual ~XclExpChTrActionStack();
-+
-+ void Push( XclExpChTrAction* pNewRec );
-+ inline XclExpChTrAction* Pop() { return (XclExpChTrAction*) Stack::Pop(); }
-+
-+private:
-+ using Stack::Push;
-+};
-+
-+//___________________________________________________________________
-+// XclExpChTrRecordList - list of "Revision Log" stream records
-+
-+class XclExpChTrRecordList : private List
-+{
-+private:
-+ inline ExcRecord* First() { return (ExcRecord*) List::First(); }
-+ inline ExcRecord* Next() { return (ExcRecord*) List::Next(); }
-+
-+public:
-+ virtual ~XclExpChTrRecordList();
-+
-+ using List::Count;
-+ void Append( ExcRecord* pNewRec );
-+ void Save( XclExpStream& rStrm );
-+};
-+
-+//___________________________________________________________________
-+// XclExpChangeTrack - exports the "Revision Log" stream
-+
-+class XclExpChangeTrack : protected XclExpRoot
-+{
-+private:
-+ XclExpChTrRecordList aRecList;
-+ XclExpChTrActionStack aActionStack;
-+ XclExpChTrTabIdBufferList aTabIdBufferList;
-+ XclExpChTrTabIdBuffer* pTabIdBuffer;
-+
-+ ScDocument* pTempDoc; // empty document
-+
-+ sal_uInt32 nNewAction; // action number, 1-based
-+ XclExpChTrHeader* pHeader; // header record for last GUID
-+ sal_uInt8 aGUID[ 16 ]; // GUID for action info records
-+ sal_Bool bValidGUID;
-+
-+ ScChangeTrack* CreateTempChangeTrack();
-+ void PushActionRecord( const ScChangeAction& rAction );
-+
-+ sal_Bool WriteUserNamesStream();
-+
-+public:
-+ XclExpChangeTrack( const XclExpRoot& rRoot );
-+ ~XclExpChangeTrack();
-+
-+ void Write();
-+};
-+
-+//___________________________________________________________________
-+
-+#endif
-diff --git sc/source/filter/xlsx/excdoc.hxx sc/source/filter/xlsx/excdoc.hxx
-new file mode 100644
-index 0000000..152a9af
---- /dev/null
-+++ sc/source/filter/xlsx/excdoc.hxx
-@@ -0,0 +1,122 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: excdoc.hxx,v $
-+ * $Revision: 1.19 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#ifndef SC_EXCDOC_HXX
-+#define SC_EXCDOC_HXX
-+
-+#include <tools/solar.h>
-+#include "excrecds.hxx"
-+#include "xeroot.hxx"
-+#include "root.hxx"
-+
-+//------------------------------------------------------------------ Forwards -
-+
-+class SvStream;
-+class ScBaseCell;
-+class ScHorizontalCellIterator;
-+class ScDocument;
-+class ScProgress;
-+
-+class NameBuffer;
-+
-+class XclExpChangeTrack;
-+
-+
-+//------------------------------------------------------------ class ExcTable -
-+
-+class XclExpCellTable;
-+
-+class ExcTable : public XclExpRecordBase, public XclExpRoot
-+{
-+private:
-+ typedef XclExpRecordList< ExcBundlesheetBase > ExcBoundsheetList;
-+ typedef ScfRef< XclExpCellTable > XclExpCellTableRef;
-+
-+ XclExpRecordList<> aRecList;
-+ XclExpCellTableRef mxCellTable;
-+
-+ SCTAB mnScTab; // table number SC document
-+ UINT16 nExcTab; // table number Excel document
-+ UINT16 nAktRow; // fuer'n Iterator
-+ UINT16 nAktCol;
-+
-+ NameBuffer* pTabNames;
-+
-+ // pRec mit new anlegen und vergessen, delete macht ExcTable selber!
-+ void Add( XclExpRecordBase* pRec );
-+
-+ void FillAsXmlTable( size_t nCodeNameIdx );
-+
-+public:
-+ ExcTable( const XclExpRoot& rRoot );
-+ ExcTable( const XclExpRoot& rRoot, SCTAB nScTab );
-+ ~ExcTable();
-+
-+ void FillAsHeader( ExcBoundsheetList& rBoundsheetList );
-+ void FillAsTable( size_t nCodeNameIdx );
-+ void FillAsEmptyTable( size_t nCodeNameIdx );
-+
-+ void Write( XclExpStream& );
-+ void WriteXml( XclExpXmlStream& );
-+};
-+
-+
-+//--------------------------------------------------------- class ExcDocument -
-+
-+class ExcDocument : protected XclExpRoot
-+{
-+friend class ExcTable;
-+
-+private:
-+ typedef XclExpRecordList< ExcTable > ExcTableList;
-+ typedef ExcTableList::RecordRefType ExcTableRef;
-+ typedef XclExpRecordList< ExcBundlesheetBase > ExcBoundsheetList;
-+ typedef ExcBoundsheetList::RecordRefType ExcBoundsheetRef;
-+
-+ ExcTable aHeader;
-+
-+ ExcTableList maTableList;
-+ ExcBoundsheetList maBoundsheetList;
-+
-+ XclExpChangeTrack* pExpChangeTrack;
-+
-+public:
-+ explicit ExcDocument( const XclExpRoot& rRoot );
-+ virtual ~ExcDocument();
-+
-+ void ReadDoc( void );
-+ void Write( SvStream& rSvStrm );
-+ void WriteXml( SvStream& rSvStrm );
-+};
-+
-+
-+
-+
-+#endif
-diff --git sc/source/filter/xlsx/excrecds.hxx sc/source/filter/xlsx/excrecds.hxx
-new file mode 100644
-index 0000000..c7e9231
---- /dev/null
-+++ sc/source/filter/xlsx/excrecds.hxx
-@@ -0,0 +1,508 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: excrecds.hxx,v $
-+ * $Revision: 1.51 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#ifndef SC_EXCRECDS_HXX
-+#define SC_EXCRECDS_HXX
-+
-+#include <tools/solar.h>
-+#include <svl/zforlist.hxx>
-+#include <tools/string.hxx>
-+#include <vcl/vclenum.hxx>
-+#include <tools/color.hxx>
-+
-+
-+#include <vector>
-+#include "olinetab.hxx"
-+#include "filter.hxx"
-+#include "rangelst.hxx"
-+#include "xerecord.hxx"
-+#include "xeroot.hxx"
-+#include "xeformula.hxx"
-+#include "xestring.hxx"
-+#include "root.hxx"
-+#include "excdefs.hxx"
-+#include "cell.hxx"
-+
-+//------------------------------------------------------------------ Forwards -
-+
-+class SvxBorderLine;
-+
-+class SvStream;
-+class Font;
-+class List;
-+class ScPatternAttr;
-+class ScTokenArray;
-+class ScRangeData;
-+class ScDBData;
-+class ScEditCell;
-+class SfxItemSet;
-+class EditTextObject;
-+class ScPageHFItem;
-+class ScProgress;
-+
-+class ExcTable;
-+
-+//----------------------------------------------------------- class ExcRecord -
-+
-+class ExcRecord : public XclExpRecord
-+{
-+public:
-+ virtual void Save( XclExpStream& rStrm );
-+
-+ virtual UINT16 GetNum() const = 0;
-+ virtual sal_Size GetLen() const = 0;
-+
-+protected:
-+ virtual void SaveCont( XclExpStream& rStrm );
-+
-+private:
-+ /** Writes the body of the record. */
-+ virtual void WriteBody( XclExpStream& rStrm );
-+};
-+
-+
-+//--------------------------------------------------------- class ExcEmptyRec -
-+
-+class ExcEmptyRec : public ExcRecord
-+{
-+private:
-+protected:
-+public:
-+ virtual void Save( XclExpStream& rStrm );
-+ virtual UINT16 GetNum() const;
-+ virtual sal_Size GetLen() const;
-+};
-+
-+
-+//------------------------------------------------------- class ExcRecordList -
-+
-+class ExcRecordList : protected List, public ExcEmptyRec
-+{
-+private:
-+protected:
-+public:
-+ virtual ~ExcRecordList();
-+
-+ using List::Count;
-+
-+ inline ExcRecord* First( void ) { return ( ExcRecord* ) List::First(); }
-+ inline ExcRecord* Next( void ) { return ( ExcRecord* ) List::Next(); }
-+
-+ inline void Append( ExcRecord* pNew ) { if( pNew ) List::Insert( pNew, LIST_APPEND ); }
-+ inline const ExcRecord* Get( UINT32 nNum ) const { return ( ExcRecord* ) List::GetObject( nNum ); }
-+
-+ virtual void Save( XclExpStream& rStrm );
-+};
-+
-+
-+//--------------------------------------------------------- class ExcDummyRec -
-+
-+class ExcDummyRec : public ExcRecord
-+{
-+protected:
-+public:
-+ virtual void Save( XclExpStream& rStrm );
-+ virtual UINT16 GetNum() const;
-+ virtual const BYTE* GetData() const = 0; // byte data must contain header and body
-+};
-+
-+
-+//------------------------------------------------------- class ExcBoolRecord -
-+// stores BOOL as 16bit val ( 0x0000 | 0x0001 )
-+
-+class ExcBoolRecord : public ExcRecord
-+{
-+private:
-+ virtual void SaveCont( XclExpStream& rStrm );
-+
-+protected:
-+ BOOL bVal;
-+
-+ inline ExcBoolRecord() : bVal( FALSE ) {}
-+
-+public:
-+ inline ExcBoolRecord( const BOOL bDefault ) : bVal( bDefault ) {}
-+
-+ virtual sal_Size GetLen( void ) const;
-+};
-+
-+
-+//--------------------------------------------------------- class ExcBof_Base -
-+
-+class ExcBof_Base : public ExcRecord
-+{
-+private:
-+protected:
-+ UINT16 nDocType;
-+ UINT16 nVers;
-+ UINT16 nRupBuild;
-+ UINT16 nRupYear;
-+public:
-+ ExcBof_Base( void );
-+};
-+
-+
-+//-------------------------------------------------------------- class ExcBof -
-+// Header Record fuer WORKSHEETS
-+
-+class ExcBof : public ExcBof_Base
-+{
-+private:
-+ virtual void SaveCont( XclExpStream& rStrm );
-+public:
-+ ExcBof( void );
-+
-+ virtual UINT16 GetNum( void ) const;
-+ virtual sal_Size GetLen( void ) const;
-+};
-+
-+
-+//------------------------------------------------------------- class ExcBofW -
-+// Header Record fuer WORKBOOKS
-+
-+class ExcBofW : public ExcBof_Base
-+{
-+private:
-+ virtual void SaveCont( XclExpStream& rStrm );
-+public:
-+ ExcBofW( void );
-+
-+ virtual UINT16 GetNum( void ) const;
-+ virtual sal_Size GetLen( void ) const;
-+};
-+
-+
-+//-------------------------------------------------------------- class ExcEof -
-+
-+class ExcEof : public ExcRecord
-+{
-+private:
-+public:
-+ virtual UINT16 GetNum( void ) const;
-+ virtual sal_Size GetLen( void ) const;
-+};
-+
-+
-+//--------------------------------------------------------- class ExcDummy_00 -
-+// INTERFACEHDR to FNGROUPCOUNT (see excrecds.cxx)
-+
-+class ExcDummy_00 : public ExcDummyRec
-+{
-+private:
-+ static const BYTE pMyData[];
-+ static const sal_Size nMyLen;
-+public:
-+ virtual sal_Size GetLen( void ) const;
-+ virtual const BYTE* GetData( void ) const;
-+};
-+
-+// EXC_ID_WINDOWPROTECTION
-+class XclExpWindowProtection : public XclExpBoolRecord
-+{
-+ public:
-+ XclExpWindowProtection(bool bValue);
-+
-+ virtual void SaveXml( XclExpXmlStream& rStrm );
-+};
-+
-+// EXC_ID_PROTECT Document Protection
-+class XclExpProtection : public XclExpBoolRecord
-+{
-+ public:
-+ XclExpProtection(bool bValue);
-+};
-+
-+class XclExpPassHash : public XclExpRecord
-+{
-+public:
-+ XclExpPassHash(const ::com::sun::star::uno::Sequence<sal_Int8>& aHash);
-+ virtual ~XclExpPassHash();
-+
-+private:
-+ virtual void WriteBody(XclExpStream& rStrm);
-+
-+private:
-+ sal_uInt16 mnHash;
-+};
-+
-+
-+//-------------------------------------------------------- class ExcDummy_04x -
-+// PASSWORD to BOOKBOOL (see excrecds.cxx), no 1904
-+
-+class ExcDummy_040 : public ExcDummyRec
-+{
-+private:
-+ static const BYTE pMyData[];
-+ static const sal_Size nMyLen;
-+public:
-+ virtual sal_Size GetLen( void ) const;
-+ virtual const BYTE* GetData( void ) const;
-+};
-+
-+
-+
-+class ExcDummy_041 : public ExcDummyRec
-+{
-+private:
-+ static const BYTE pMyData[];
-+ static const sal_Size nMyLen;
-+public:
-+ virtual sal_Size GetLen( void ) const;
-+ virtual const BYTE* GetData( void ) const;
-+};
-+
-+
-+//------------------------------------------------------------- class Exc1904 -
-+
-+class Exc1904 : public ExcBoolRecord
-+{
-+public:
-+ Exc1904( ScDocument& rDoc );
-+ virtual UINT16 GetNum( void ) const;
-+
-+ virtual void SaveXml( XclExpXmlStream& rStrm );
-+};
-+
-+
-+//------------------------------------------------------ class ExcBundlesheet -
-+
-+class ExcBundlesheetBase : public ExcRecord
-+{
-+protected:
-+ sal_Size nStrPos;
-+ sal_Size nOwnPos; // Position NACH # und Len
-+ UINT16 nGrbit;
-+ SCTAB nTab;
-+
-+ ExcBundlesheetBase();
-+
-+public:
-+ ExcBundlesheetBase( RootData& rRootData, SCTAB nTab );
-+
-+ inline void SetStreamPos( sal_Size nNewStrPos ) { nStrPos = nNewStrPos; }
-+ void UpdateStreamPos( XclExpStream& rStrm );
-+
-+ virtual UINT16 GetNum() const;
-+};
-+
-+
-+
-+class ExcBundlesheet : public ExcBundlesheetBase
-+{
-+private:
-+ ByteString aName;
-+
-+ virtual void SaveCont( XclExpStream& rStrm );
-+
-+public:
-+ ExcBundlesheet( RootData& rRootData, SCTAB nTab );
-+ virtual sal_Size GetLen() const;
-+};
-+
-+//--------------------------------------------------------- class ExcDummy_02 -
-+// sheet dummies: CALCMODE to SETUP
-+
-+class ExcDummy_02a : public ExcDummyRec
-+{
-+private:
-+ static const BYTE pMyData[];
-+ static const sal_Size nMyLen;
-+public:
-+ virtual sal_Size GetLen( void ) const;
-+ virtual const BYTE* GetData( void ) const;
-+};
-+
-+
-+// ----------------------------------------------------------------------------
-+
-+/** This record contains the Windows country IDs for the UI and document language. */
-+class XclExpCountry : public XclExpRecord
-+{
-+public:
-+ explicit XclExpCountry( const XclExpRoot& rRoot );
-+
-+private:
-+ sal_uInt16 mnUICountry; /// The UI country ID.
-+ sal_uInt16 mnDocCountry; /// The document country ID.
-+
-+ /** Writes the body of the COUNTRY record. */
-+ virtual void WriteBody( XclExpStream& rStrm );
-+};
-+
-+
-+// XclExpWsbool ===============================================================
-+
-+class XclExpWsbool : public XclExpUInt16Record
-+{
-+public:
-+ explicit XclExpWsbool( bool bFitToPages, SCTAB nScTab = -1, XclExpFilterManager* pManager = NULL );
-+
-+ virtual void SaveXml( XclExpXmlStream& rStrm );
-+private:
-+ SCTAB mnScTab;
-+ XclExpFilterManager* mpManager;
-+};
-+
-+
-+// ============================================================================
-+
-+class XclExpFiltermode : public XclExpEmptyRecord
-+{
-+public:
-+ explicit XclExpFiltermode();
-+};
-+
-+// ----------------------------------------------------------------------------
-+
-+class XclExpAutofilterinfo : public XclExpUInt16Record
-+{
-+public:
-+ explicit XclExpAutofilterinfo( const ScAddress& rStartPos, SCCOL nScCol );
-+
-+ inline const ScAddress GetStartPos() const { return maStartPos; }
-+ inline SCCOL GetColCount() const { return static_cast< SCCOL >( GetValue() ); }
-+
-+private:
-+ ScAddress maStartPos;
-+};
-+
-+// ----------------------------------------------------------------------------
-+
-+class ExcFilterCondition
-+{
-+private:
-+ UINT8 nType;
-+ UINT8 nOper;
-+ double fVal;
-+ XclExpString* pText;
-+
-+protected:
-+public:
-+ ExcFilterCondition();
-+ ~ExcFilterCondition();
-+
-+ inline BOOL IsEmpty() const { return (nType == EXC_AFTYPE_NOTUSED); }
-+ inline BOOL HasEqual() const { return (nOper == EXC_AFOPER_EQUAL); }
-+ ULONG GetTextBytes() const;
-+
-+ void SetCondition( UINT8 nTp, UINT8 nOp, double fV, String* pT );
-+
-+ void Save( XclExpStream& rStrm );
-+ void SaveXml( XclExpXmlStream& rStrm );
-+ void SaveText( XclExpStream& rStrm );
-+};
-+
-+// ----------------------------------------------------------------------------
-+
-+class XclExpAutofilter : public XclExpRecord, protected XclExpRoot
-+{
-+private:
-+ UINT16 nCol;
-+ UINT16 nFlags;
-+ ExcFilterCondition aCond[ 2 ];
-+
-+ BOOL AddCondition( ScQueryConnect eConn, UINT8 nType,
-+ UINT8 nOp, double fVal, String* pText,
-+ BOOL bSimple = FALSE );
-+
-+ virtual void WriteBody( XclExpStream& rStrm );
-+
-+protected:
-+public:
-+ XclExpAutofilter( const XclExpRoot& rRoot, UINT16 nC );
-+
-+ inline UINT16 GetCol() const { return nCol; }
-+ inline BOOL HasCondition() const { return !aCond[ 0 ].IsEmpty(); }
-+ inline BOOL HasTop10() const { return ::get_flag( nFlags, EXC_AFFLAG_TOP10 ); }
-+
-+ BOOL AddEntry( const ScQueryEntry& rEntry );
-+
-+ virtual void SaveXml( XclExpXmlStream& rStrm );
-+};
-+
-+// ----------------------------------------------------------------------------
-+
-+class ExcAutoFilterRecs : public XclExpRecordBase, protected XclExpRoot
-+{
-+public:
-+ explicit ExcAutoFilterRecs( const XclExpRoot& rRoot, SCTAB nTab );
-+ virtual ~ExcAutoFilterRecs();
-+
-+ void AddObjRecs();
-+
-+ virtual void Save( XclExpStream& rStrm );
-+ virtual void SaveXml( XclExpXmlStream& rStrm );
-+
-+ bool HasFilterMode() const;
-+
-+private:
-+ XclExpAutofilter* GetByCol( SCCOL nCol ); // always 0-based
-+ BOOL IsFiltered( SCCOL nCol );
-+
-+private:
-+ typedef XclExpRecordList< XclExpAutofilter > XclExpAutofilterList;
-+ typedef XclExpAutofilterList::RecordRefType XclExpAutofilterRef;
-+
-+ XclExpAutofilterList maFilterList;
-+ XclExpFiltermode* pFilterMode;
-+ XclExpAutofilterinfo* pFilterInfo;
-+ ScRange maRef;
-+};
-+
-+// ----------------------------------------------------------------------------
-+
-+/** Sheet filter manager. Contains auto filters or advanced filters from all sheets. */
-+class XclExpFilterManager : protected XclExpRoot
-+{
-+public:
-+ explicit XclExpFilterManager( const XclExpRoot& rRoot );
-+
-+ /** Creates the filter records for the specified sheet.
-+ @descr Creates and inserts related built-in NAME records. Therefore this
-+ function is called from the name buffer itself. */
-+ void InitTabFilter( SCTAB nScTab );
-+
-+ /** Returns a record object containing all filter records for the specified sheet. */
-+ XclExpRecordRef CreateRecord( SCTAB nScTab );
-+
-+ /** Returns whether or not FilterMode is present */
-+ bool HasFilterMode( SCTAB nScTab );
-+
-+private:
-+ using XclExpRoot::CreateRecord;
-+
-+ typedef ScfRef< ExcAutoFilterRecs > XclExpTabFilterRef;
-+ typedef ::std::map< SCTAB, XclExpTabFilterRef > XclExpTabFilterMap;
-+
-+ XclExpTabFilterMap maFilterMap;
-+};
-+
-+
-+#endif
-diff --git sc/source/filter/xlsx/exp_op.hxx sc/source/filter/xlsx/exp_op.hxx
-new file mode 100644
-index 0000000..a096ce4
---- /dev/null
-+++ sc/source/filter/xlsx/exp_op.hxx
-@@ -0,0 +1,148 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: exp_op.hxx,v $
-+ * $Revision: 1.13.32.3 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#ifndef SC_EXP_OP_HXX
-+#define SC_EXP_OP_HXX
-+
-+#include "filter.hxx"
-+#include "root.hxx"
-+#include "xeroot.hxx"
-+
-+
-+class ScDocument;
-+class ScPatternAttr;
-+class ScFormulaCell;
-+class ExcDocument;
-+class SotStorage;
-+
-+
-+class ExportTyp
-+{
-+protected:
-+ SvStream& aOut; // Ausgabe-Stream
-+ ScDocument* pD; // Dokument
-+ CharSet eZielChar; // Ziel-Zeichensatz
-+public:
-+ ExportTyp( SvStream& aStream, ScDocument* pDoc, CharSet eDest ):
-+ aOut( aStream )
-+ {
-+ eZielChar = eDest;
-+ pD = pDoc;
-+ }
-+
-+ virtual FltError Write() = 0;
-+};
-+
-+
-+
-+#if ENABLE_LOTUS123_EXPORT
-+class ExportWK1 : public ExportTyp
-+{
-+private:
-+ BYTE GenFormByte( const ScPatternAttr& );
-+ void Bof();
-+ void Eof();
-+ void Calcmode();
-+ void Calcorder();
-+ void Split();
-+ void Sync();
-+ void Dimensions();
-+ void Window1();
-+ void Colw();
-+ void Blank( const UINT16 nC, const UINT16 nR, const ScPatternAttr& );
-+ void Number( const UINT16 nC, const UINT16 nR, const double f, const ScPatternAttr& );
-+ void Label( const UINT16 nC, const UINT16 nR, const String&, const ScPatternAttr& );
-+ void Formula( const UINT16 nC, const UINT16 nR, const ScFormulaCell*, const ScPatternAttr& );
-+ void Protect();
-+ void Footer();
-+ void Header();
-+ void Margins();
-+ void Labelfmt();
-+ void Calccount();
-+ void Cursorw12();
-+ void WKString( const UINT16 nC, const UINT16 nR, const ScFormulaCell*, const ScPatternAttr& );
-+ void Snrange();
-+ void Hidcol();
-+ void Cpi();
-+public:
-+
-+ static const USHORT WK1MAXCOL;
-+ static const USHORT WK1MAXROW;
-+
-+ inline ExportWK1( SvStream& r, ScDocument* p, CharSet e ) :
-+ ExportTyp( r, p, e ) {};
-+
-+ FltError Write();
-+};
-+#endif
-+
-+
-+
-+class ExportBiff5 : public ExportTyp, protected XclExpRoot
-+{
-+private:
-+ ExcDocument* pExcDoc;
-+
-+protected:
-+ RootData* pExcRoot;
-+
-+public:
-+ ExportBiff5( XclExpRootData& rExpData, SvStream& rStrm );
-+ virtual ~ExportBiff5();
-+ FltError Write();
-+};
-+
-+
-+
-+
-+class ExportBiff8 : public ExportBiff5
-+{
-+public:
-+ ExportBiff8( XclExpRootData& rExpData, SvStream& rStrm );
-+ virtual ~ExportBiff8();
-+};
-+
-+
-+class ExportXml2007 : public ExportTyp, protected XclExpRoot
-+{
-+private:
-+ ExcDocument* pExcDoc;
-+
-+protected:
-+ RootData* pExcRoot;
-+
-+public:
-+ ExportXml2007( XclExpRootData& rExpData, SvStream& rStrm );
-+ virtual ~ExportXml2007();
-+ FltError Write();
-+};
-+
-+
-+#endif
-diff --git sc/source/filter/xlsx/imp_op.hxx sc/source/filter/xlsx/imp_op.hxx
-new file mode 100644
-index 0000000..c02254f
---- /dev/null
-+++ sc/source/filter/xlsx/imp_op.hxx
-@@ -0,0 +1,206 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: imp_op.hxx,v $
-+ * $Revision: 1.43.14.3 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#ifndef SC_IMP_OP_HXX
-+#define SC_IMP_OP_HXX
-+
-+#include <tools/gen.hxx>
-+#include "xiroot.hxx"
-+#include "xistream.hxx"
-+#include "xistyle.hxx"
-+#include "flttypes.hxx"
-+#include "namebuff.hxx"
-+#include "root.hxx"
-+#include "otlnbuff.hxx"
-+#include "colrowst.hxx"
-+#include "excdefs.hxx"
-+
-+
-+class SfxItemSet;
-+class SvStream;
-+
-+class ScFormulaCell;
-+class SdrObject;
-+class ScDocument;
-+class ScToken;
-+class _ScRangeListTabs;
-+
-+class ExcelToSc;
-+
-+
-+class ImportTyp
-+{
-+protected:
-+ CharSet eQuellChar; // Quell-Zeichensatz
-+ ScDocument* pD; // Dokument
-+
-+public:
-+ ImportTyp( ScDocument*, CharSet eSrc );
-+ virtual ~ImportTyp();
-+
-+ virtual FltError Read( void );
-+};
-+
-+class XclImpOutlineDataBuffer : protected XclImpRoot
-+{
-+public:
-+ explicit XclImpOutlineDataBuffer( const XclImpRoot& rRoot, SCTAB nScTab );
-+ virtual ~XclImpOutlineDataBuffer();
-+
-+ inline XclImpColRowSettings* GetColRowBuff() const { return mxColRowBuff.get(); }
-+ inline XclImpOutlineBuffer* GetColOutline() const { return mxColOutlineBuff.get(); }
-+ inline XclImpOutlineBuffer* GetRowOutline() const { return mxRowOutlineBuff.get(); }
-+ void Convert();
-+
-+private:
-+ typedef ScfRef< XclImpOutlineBuffer > XclImpOutlineBfrRef;
-+ typedef ScfRef< XclImpColRowSettings > XclImpColRowSettRef;
-+
-+ XclImpOutlineBfrRef mxColOutlineBuff;
-+ XclImpOutlineBfrRef mxRowOutlineBuff;
-+ XclImpColRowSettRef mxColRowBuff;
-+ SCTAB mnScTab;
-+};
-+
-+class ImportExcel : public ImportTyp, protected XclImpRoot
-+{
-+protected:
-+ static const double fExcToTwips; // Umrechnung 1/256 Zeichen -> Twips
-+
-+ RootData* pExcRoot;
-+
-+ XclImpStream maStrm; // input stream
-+ XclImpStream& aIn; // input stream
-+
-+ ScfUInt32Vec maSheetOffsets;
-+
-+ NameBuffer* pExtNameBuff; // ... externe Namen (Ind.-Basis=1)
-+ ExcelToSc* pFormConv; // Formel-Konverter
-+
-+ XclImpOutlineBuffer* pColOutlineBuff;
-+ XclImpOutlineBuffer* pRowOutlineBuff;
-+ XclImpColRowSettings* pColRowBuff; // Col/Row-Einstellungen 1 Tabelle
-+
-+ typedef ScfDelList< XclImpOutlineDataBuffer > XclImpOutlineListBuffer;
-+ XclImpOutlineListBuffer* pOutlineListBuffer;
-+
-+ sal_Int16 mnLastRefIdx;
-+ UINT16 nIxfeIndex; // merkt sich Angabe im IXFE-Record
-+ UINT16 nLastXF; // letzter XF in Formula-Record
-+ SCTAB nBdshtTab; // Counter fuer Boundsheet
-+ ScFormulaCell* pLastFormCell; // fuer String-Records
-+
-+ BOOL bTabTruncated; // wenn Bereichsueberschreitung zum
-+ // Abschneiden von Zellen fuehrt
-+
-+ // Record-Funktionen
-+ void ReadFileSharing();
-+
-+ sal_uInt16 ReadXFIndex( bool bBiff2 );
-+
-+ void ReadDimensions();
-+ void ReadBlank();
-+ void ReadInteger();
-+ void ReadNumber();
-+ void ReadLabel();
-+ void ReadBoolErr();
-+ void ReadRk();
-+
-+ void Window1();
-+ void Formula25( void ); // 0x06 -> excform.cxx
-+ void Row25( void ); // 0x08
-+ void Bof2( void ); // 0x09
-+ void Eof( void ); // 0x0A
-+ void DocProtect( void ); // 0x12
-+ void SheetProtect( void ); // 0x12 Sheet Protection
-+ void DocPasssword( void ); // 0x13 document password
-+ void SheetPassword( void ); // 0x13 sheet password
-+ void Externsheet( void ); // 0x17
-+ void WinProtection( void ); // 0x19
-+ void Columndefault( void ); // 0x20
-+ void Array25( void ); // 0x21
-+ void Rec1904( void ); // 0x22
-+ void Externname25( void ); // 0x23
-+ void Colwidth( void ); // 0x24
-+ void Defrowheight2( void ); // 0x25
-+// void Window1( void ); // 0x3D
-+ void Codepage( void ); // 0x42
-+ void Ixfe( void ); // 0x44
-+ void DefColWidth( void ); // 0x55
-+ void Builtinfmtcnt( void ); // 0x56
-+ void Colinfo( void ); // 0x7D
-+ void Wsbool( void ); // 0x81
-+ void Boundsheet( void ); // 0x85
-+ void Country( void ); // 0x8C
-+ void Hideobj( void ); // 0x8D
-+ void Bundleheader( void ); // 0x8F
-+ void Standardwidth( void ); // 0x99
-+ void Shrfmla( void ); // 0xBC
-+ void Mulrk( void ); // 0xBD
-+ void Mulblank( void ); // 0xBE
-+ void Rstring( void ); // 0xD6
-+ void Cellmerging( void ); // 0xE5
-+ void Olesize( void ); // 0xDE
-+ void ReadUsesElfs(); // 0x0160
-+ void Formula3( void ); // 0x0206 -> excform.cxx
-+ // 0x0207 -> 0x07
-+ void Row34( void ); // 0x0208
-+ void Bof3( void ); // 0x0209
-+ void Array34( void ); // 0x0221
-+ void Externname34( void ); // 0x0223
-+ void Defrowheight345( void ); // 0x0225
-+ void TableOp( void ); // 0x0236
-+ //void Rk( void ); // 0x027E -> 0x7E
-+ void Formula4( void ); // 0x0406 -> excform.cxx
-+ void Bof4( void ); // 0x0409
-+ void Bof5( void ); // 0x0809
-+
-+ // ---------------------------------------------------------------
-+ void Formula( const XclAddress& rXclPos,
-+ UINT16 nXF, UINT16 nFormLen, double &rCurVal, BOOL bShrFmla );
-+ // -> excform.cxx
-+
-+ virtual void EndSheet( void );
-+ void NeueTabelle( void );
-+ const ScTokenArray* ErrorToFormula( BYTE bErrOrVal, BYTE nError,
-+ double& rVal );
-+
-+ virtual void AdjustRowHeight();
-+ virtual void PostDocLoad( void );
-+
-+public:
-+ ImportExcel( XclImpRootData& rImpData, SvStream& rStrm );
-+
-+ virtual ~ImportExcel( void );
-+
-+ virtual FltError Read( void );
-+};
-+
-+#endif
-diff --git sc/source/filter/xlsx/xcl97esc.hxx sc/source/filter/xlsx/xcl97esc.hxx
-new file mode 100644
-index 0000000..67a6e3f
---- /dev/null
-+++ sc/source/filter/xlsx/xcl97esc.hxx
-@@ -0,0 +1,266 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: xcl97esc.hxx,v $
-+ * $Revision: 1.13.14.3 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#ifndef SC_XCL97ESC_HXX
-+#define SC_XCL97ESC_HXX
-+
-+#include <filter/msfilter/escherex.hxx>
-+#include <tools/table.hxx>
-+#include <tools/stack.hxx>
-+#include "xlescher.hxx"
-+#include "xeroot.hxx"
-+
-+// 0 = Export TBX form controls, 1 = Export OCX form controls.
-+#define EXC_EXP_OCX_CTRL 0
-+
-+namespace utl { class TempFile; }
-+
-+// --- class XclEscherEx ---------------------------------------------
-+
-+class SvStream;
-+class XclObj;
-+class XclEscherHostAppData;
-+class XclEscherClientData;
-+class XclEscherClientTextbox;
-+#if EXC_EXP_OCX_CTRL
-+class XclExpOcxControlObj;
-+#else
-+class XclExpTbxControlObj;
-+#endif
-+class XclExpShapeObj;
-+class EscherExHostAppData;
-+class ShapeInteractionHelper
-+{
-+public:
-+ static XclExpShapeObj* CreateShapeObj(const XclExpRoot& rRoot, const ::com::sun::star::uno::Reference<
-+ ::com::sun::star::drawing::XShape >& xShape );
-+ static void PopulateShapeInteractionInfo( const XclExpRoot& rRoot, const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape, EscherExHostAppData& rHostAppData );
-+};
-+
-+class XclEscherEx : public EscherEx, protected XclExpRoot
-+{
-+private:
-+ List aOffsetMap;
-+ Stack aStack;
-+ utl::TempFile* pPicTempFile;
-+ SvStream* pPicStrm;
-+ XclObj* pCurrXclObj;
-+ XclEscherHostAppData* pCurrAppData;
-+ XclEscherClientData* pTheClientData; // always the same
-+ XclEscherClientTextbox* pAdditionalText;
-+ USHORT nAdditionalText;
-+
-+ void DeleteCurrAppData();
-+
-+public:
-+ XclEscherEx( const XclExpRoot& rRoot, SvStream& rStrm, UINT32 nDrawings );
-+ virtual ~XclEscherEx();
-+
-+ /// maintains OffsetMap
-+ virtual void InsertAtCurrentPos( UINT32 nBytes, BOOL bCont = FALSE );
-+
-+ virtual SvStream* QueryPicStream();
-+ virtual EscherExHostAppData* StartShape( const com::sun::star::uno::Reference<
-+ com::sun::star::drawing::XShape>& rShape );
-+ virtual void EndShape( UINT16 nShapeType, UINT32 nShapeID );
-+ virtual EscherExHostAppData* EnterAdditionalTextGroup();
-+
-+ /// appends stream offset to list and returns position in list
-+ ULONG AddCurrentOffsetToMap();
-+ /// replaces position in list with current stream offset
-+ void ReplaceCurrentOffsetInMap( ULONG nPos );
-+ /// returns stream offset for position in list
-+ inline ULONG GetOffsetFromMap( ULONG nPos ) const;
-+ /// last position in list (count-1)
-+ inline ULONG GetLastOffsetMapPos() const;
-+
-+ /// Flush and merge PicStream into EscherStream
-+ void EndDocument();
-+
-+#if EXC_EXP_OCX_CTRL
-+ /** Creates an OCX form control OBJ record from the passed form control.
-+ @descr Writes the form control data to the 'Ctls' stream. */
-+ XclExpOcxControlObj* CreateCtrlObj( ::com::sun::star::uno::Reference<
-+ ::com::sun::star::drawing::XShape > xShape );
-+
-+private:
-+ SotStorageStreamRef mxCtlsStrm; /// The 'Ctls' stream.
-+#else
-+ /** Creates a TBX form control OBJ record from the passed form control. */
-+ XclExpTbxControlObj* CreateCtrlObj( ::com::sun::star::uno::Reference<
-+ ::com::sun::star::drawing::XShape > xShape );
-+
-+private:
-+ /** Tries to get the name of a Basic macro from a control. */
-+ void ConvertTbxMacro(
-+ XclExpTbxControlObj& rTbxCtrlObj,
-+ ::com::sun::star::uno::Reference<
-+ ::com::sun::star::awt::XControlModel > xCtrlModel );
-+#endif
-+};
-+
-+
-+inline ULONG XclEscherEx::GetOffsetFromMap( ULONG nPos ) const
-+{
-+ return (ULONG) aOffsetMap.GetObject( nPos );
-+}
-+
-+
-+inline ULONG XclEscherEx::GetLastOffsetMapPos() const
-+{
-+ return aOffsetMap.Count() - 1;
-+}
-+
-+
-+// --- class XclEscher -----------------------------------------------
-+
-+struct RootData;
-+
-+class XclEscher : protected XclExpRoot
-+{
-+private:
-+ utl::TempFile* pTempFile;
-+ SvStream* pStrm;
-+ XclEscherEx* pEx;
-+
-+public:
-+ XclEscher( const XclExpRoot& rRoot, UINT32 nDrawings );
-+ ~XclEscher();
-+
-+ inline XclEscherEx* GetEx() const { return pEx; }
-+ inline SvStream& GetStrm() const { return *pStrm; }
-+
-+ void AddSdrPage();
-+};
-+
-+
-+// --- class XclEscherHostAppData ------------------------------------
-+
-+class XclEscherHostAppData : public EscherExHostAppData
-+{
-+private:
-+ BOOL bStackedGroup;
-+
-+public:
-+ XclEscherHostAppData() : bStackedGroup( FALSE )
-+ {}
-+ inline void SetStackedGroup( BOOL b ) { bStackedGroup = b; }
-+ inline BOOL IsStackedGroup() const { return bStackedGroup; }
-+};
-+
-+
-+// DFF client anchor ==========================================================
-+
-+class Rectangle;
-+class SdrObject;
-+class ScAddress;
-+
-+/** Represents the position (anchor) of an object in a Calc document. */
-+class XclExpDffAnchor : public EscherExClientAnchor_Base, protected XclExpRoot
-+{
-+public:
-+ /** Constructs a dummy client anchor. */
-+ explicit XclExpDffAnchor( const XclExpRoot& rRoot, sal_uInt16 nFlags = 0 );
-+ /** Constructs a client anchor directly from an SdrObject. */
-+ explicit XclExpDffAnchor( const XclExpRoot& rRoot, const SdrObject& rSdrObj );
-+
-+ /** Sets the flags according to the passed SdrObject. */
... etc. - the rest is truncated
More information about the ooo-build-commit
mailing list