You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by cl...@apache.org on 2014/02/28 05:44:43 UTC
svn commit: r1572819 [1/4] - in /openoffice/branches/ooxml/main: ./
filter/inc/filter/msfilter/ filter/source/config/fragments/filters/
filter/source/config/fragments/types/ filter/source/msfilter/
formula/inc/formula/ formula/source/core/api/ oox/inc/...
Author: clarence_guo
Date: Fri Feb 28 04:44:42 2014
New Revision: 1572819
URL: http://svn.apache.org/r1572819
Log: (empty)
Added:
openoffice/branches/ooxml/main/sc/util/scfilt.component
openoffice/branches/ooxml/main/sd/source/filter/eppt/pptexooxml.cxx
openoffice/branches/ooxml/main/sd/source/filter/eppt/pptexooxml.hxx
openoffice/branches/ooxml/main/sd/source/filter/eppt/pptexpbase.cxx
openoffice/branches/ooxml/main/sd/source/filter/eppt/pptexpbase.hxx
openoffice/branches/ooxml/main/sd/util/sdfilt.component
Modified:
openoffice/branches/ooxml/main/Repository.mk
openoffice/branches/ooxml/main/filter/inc/filter/msfilter/escherex.hxx
openoffice/branches/ooxml/main/filter/source/config/fragments/filters/MS_Word_2007_XML.xcu
openoffice/branches/ooxml/main/filter/source/config/fragments/filters/calc_MS_Excel_2007_XML.xcu
openoffice/branches/ooxml/main/filter/source/config/fragments/filters/impress_MS_PowerPoint_2007_XML.xcu
openoffice/branches/ooxml/main/filter/source/config/fragments/types/MS_Excel_2007_XML.xcu
openoffice/branches/ooxml/main/filter/source/config/fragments/types/MS_PowerPoint_2007_XML.xcu
openoffice/branches/ooxml/main/filter/source/msfilter/escherex.cxx
openoffice/branches/ooxml/main/formula/inc/formula/FormulaCompiler.hxx
openoffice/branches/ooxml/main/formula/inc/formula/grammar.hxx
openoffice/branches/ooxml/main/formula/inc/formula/token.hxx
openoffice/branches/ooxml/main/formula/source/core/api/FormulaCompiler.cxx
openoffice/branches/ooxml/main/oox/inc/oox/export/drawingml.hxx
openoffice/branches/ooxml/main/oox/inc/oox/export/shapes.hxx
openoffice/branches/ooxml/main/oox/inc/oox/export/utils.hxx
openoffice/branches/ooxml/main/oox/inc/oox/export/vmlexport.hxx
openoffice/branches/ooxml/main/oox/inc/oox/ppt/pptimport.hxx
openoffice/branches/ooxml/main/oox/inc/oox/xls/excelfilter.hxx
openoffice/branches/ooxml/main/oox/prj/build.lst
openoffice/branches/ooxml/main/oox/prj/d.lst
openoffice/branches/ooxml/main/oox/source/export/drawingml.cxx
openoffice/branches/ooxml/main/oox/source/export/makefile.mk
openoffice/branches/ooxml/main/oox/source/export/shapes.cxx
openoffice/branches/ooxml/main/oox/source/export/vmlexport.cxx
openoffice/branches/ooxml/main/oox/source/ppt/pptimport.cxx
openoffice/branches/ooxml/main/oox/source/xls/excelfilter.cxx
openoffice/branches/ooxml/main/oox/source/xls/stylesbuffer.cxx
openoffice/branches/ooxml/main/oox/util/makefile.mk
openoffice/branches/ooxml/main/postprocess/packcomponents/makefile.mk
openoffice/branches/ooxml/main/sc/inc/compiler.hxx
openoffice/branches/ooxml/main/sc/inc/drwlayer.hxx
openoffice/branches/ooxml/main/sc/prj/d.lst
openoffice/branches/ooxml/main/sc/source/core/data/drwlayer.cxx
openoffice/branches/ooxml/main/sc/source/core/tool/compiler.cxx
openoffice/branches/ooxml/main/sc/source/filter/excel/excdoc.cxx
openoffice/branches/ooxml/main/sc/source/filter/excel/excrecds.cxx
openoffice/branches/ooxml/main/sc/source/filter/excel/expop2.cxx
openoffice/branches/ooxml/main/sc/source/filter/excel/xecontent.cxx
openoffice/branches/ooxml/main/sc/source/filter/excel/xeformula.cxx
openoffice/branches/ooxml/main/sc/source/filter/excel/xename.cxx
openoffice/branches/ooxml/main/sc/source/filter/excel/xestream.cxx
openoffice/branches/ooxml/main/sc/source/filter/excel/xestyle.cxx
openoffice/branches/ooxml/main/sc/source/filter/excel/xetable.cxx
openoffice/branches/ooxml/main/sc/source/filter/excel/xlformula.cxx
openoffice/branches/ooxml/main/sc/source/filter/excel/xltools.cxx
openoffice/branches/ooxml/main/sc/source/filter/inc/excdoc.hxx
openoffice/branches/ooxml/main/sc/source/filter/inc/excrecds.hxx
openoffice/branches/ooxml/main/sc/source/filter/inc/xcl97rec.hxx
openoffice/branches/ooxml/main/sc/source/filter/inc/xecontent.hxx
openoffice/branches/ooxml/main/sc/source/filter/inc/xestream.hxx
openoffice/branches/ooxml/main/sc/source/filter/inc/xestyle.hxx
openoffice/branches/ooxml/main/sc/source/filter/inc/xetable.hxx
openoffice/branches/ooxml/main/sc/source/filter/inc/xlformula.hxx
openoffice/branches/ooxml/main/sc/source/filter/inc/xltools.hxx
openoffice/branches/ooxml/main/sc/source/filter/xcl97/xcl97esc.cxx
openoffice/branches/ooxml/main/sc/source/filter/xcl97/xcl97rec.cxx
openoffice/branches/ooxml/main/sc/util/makefile.mk
openoffice/branches/ooxml/main/sc/util/scfilt.map
openoffice/branches/ooxml/main/scp2/source/ooo/file_library_ooo.scp
openoffice/branches/ooxml/main/sd/prj/d.lst
openoffice/branches/ooxml/main/sd/source/filter/eppt/makefile.mk
openoffice/branches/ooxml/main/sd/util/makefile.mk
openoffice/branches/ooxml/main/sd/util/sdfilt.map
openoffice/branches/ooxml/main/sw/Library_msword.mk
openoffice/branches/ooxml/main/sw/source/filter/ww8/WW8TableInfo.hxx
openoffice/branches/ooxml/main/sw/source/filter/ww8/attributeoutputbase.hxx
openoffice/branches/ooxml/main/sw/source/filter/ww8/docxattributeoutput.cxx
openoffice/branches/ooxml/main/sw/source/filter/ww8/docxattributeoutput.hxx
openoffice/branches/ooxml/main/sw/source/filter/ww8/docxexport.cxx
openoffice/branches/ooxml/main/sw/source/filter/ww8/docxexport.hxx
openoffice/branches/ooxml/main/sw/source/filter/ww8/docxexportfilter.cxx
openoffice/branches/ooxml/main/sw/source/filter/ww8/docxexportfilter.hxx
openoffice/branches/ooxml/main/sw/source/filter/ww8/rtfexportfilter.cxx
openoffice/branches/ooxml/main/sw/source/filter/ww8/wrtw8sty.cxx
openoffice/branches/ooxml/main/sw/source/filter/ww8/wrtww8.hxx
openoffice/branches/ooxml/main/sw/util/msword.component
openoffice/branches/ooxml/main/writerfilter/source/filter/ImportFilter.cxx
openoffice/branches/ooxml/main/writerfilter/source/filter/WriterFilter.cxx
openoffice/branches/ooxml/main/writerfilter/source/filter/WriterFilter.hxx
Modified: openoffice/branches/ooxml/main/Repository.mk
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/Repository.mk?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/Repository.mk (original)
+++ openoffice/branches/ooxml/main/Repository.mk Fri Feb 28 04:44:42 2014
@@ -19,11 +19,8 @@
#
#**************************************************************
-
-
$(eval $(call gb_Helper_register_repository,SRCDIR))
-
$(eval $(call gb_Helper_register_executables,NONE, \
bmp \
bmpsum \
@@ -59,6 +56,7 @@ $(eval $(call gb_Helper_register_librari
lng \
msfilter \
msword \
+ oox \
qstart_gtk \
sax \
sb \
Modified: openoffice/branches/ooxml/main/filter/inc/filter/msfilter/escherex.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/filter/inc/filter/msfilter/escherex.hxx?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/filter/inc/filter/msfilter/escherex.hxx (original)
+++ openoffice/branches/ooxml/main/filter/inc/filter/msfilter/escherex.hxx Fri Feb 28 04:44:42 2014
@@ -1255,7 +1255,7 @@ class MSFILTER_DLLPUBLIC EscherPropertyC
static sal_Bool GetLineArrow( const sal_Bool bLineStart,
const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & rXPropSet,
ESCHER_LineEnd& reLineEnd, sal_Int32& rnArrowLength, sal_Int32& rnArrowWidth );
- static sal_Bool IsDefaultObject( SdrObjCustomShape* pCustoShape, const MSO_SPT eShapeType );
+ static sal_Bool IsDefaultObject( SdrObjCustomShape* pCustoShape );
static void LookForPolarHandles( const MSO_SPT eShapeType, sal_Int32& nAdjustmentsWhichNeedsToBeConverted );
static sal_Bool GetAdjustmentValue( const com::sun::star::drawing::EnhancedCustomShapeAdjustmentValue & rkProp, sal_Int32 nIndex, sal_Int32 nAdjustmentsWhichNeedsToBeConverted, sal_Int32& nValue );
};
Modified: openoffice/branches/ooxml/main/filter/source/config/fragments/filters/MS_Word_2007_XML.xcu
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/filter/source/config/fragments/filters/MS_Word_2007_XML.xcu?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/filter/source/config/fragments/filters/MS_Word_2007_XML.xcu (original)
+++ openoffice/branches/ooxml/main/filter/source/config/fragments/filters/MS_Word_2007_XML.xcu Fri Feb 28 04:44:42 2014
@@ -20,7 +20,7 @@
***********************************************************-->
<node oor:name="MS Word 2007 XML" oor:op="replace">
- <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER</value></prop>
+ <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 3RDPARTYFILTER</value></prop>
<prop oor:name="UIComponent"/>
<prop oor:name="FilterService"><value>com.sun.star.comp.Writer.WriterFilter</value></prop>
<prop oor:name="UserData"><value>OXML</value></prop>
Modified: openoffice/branches/ooxml/main/filter/source/config/fragments/filters/calc_MS_Excel_2007_XML.xcu
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/filter/source/config/fragments/filters/calc_MS_Excel_2007_XML.xcu?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/filter/source/config/fragments/filters/calc_MS_Excel_2007_XML.xcu (original)
+++ openoffice/branches/ooxml/main/filter/source/config/fragments/filters/calc_MS_Excel_2007_XML.xcu Fri Feb 28 04:44:42 2014
@@ -20,7 +20,7 @@
***********************************************************-->
<node oor:name="Calc MS Excel 2007 XML" oor:op="replace">
- <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED</value></prop>
+ <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 3RDPARTYFILTER PREFERRED</value></prop>
<prop oor:name="UIComponent"/>
<prop oor:name="FilterService"><value>com.sun.star.comp.oox.xls.ExcelFilter</value></prop>
<prop oor:name="UserData"/>
Modified: openoffice/branches/ooxml/main/filter/source/config/fragments/filters/impress_MS_PowerPoint_2007_XML.xcu
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/filter/source/config/fragments/filters/impress_MS_PowerPoint_2007_XML.xcu?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/filter/source/config/fragments/filters/impress_MS_PowerPoint_2007_XML.xcu (original)
+++ openoffice/branches/ooxml/main/filter/source/config/fragments/filters/impress_MS_PowerPoint_2007_XML.xcu Fri Feb 28 04:44:42 2014
@@ -20,7 +20,7 @@
***********************************************************-->
<node oor:name="Impress MS PowerPoint 2007 XML" oor:op="replace">
- <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED</value></prop>
+ <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 3RDPARTYFILTER TEMPLATE PREFERRED</value></prop>
<prop oor:name="UIComponent"/>
<prop oor:name="FilterService"><value>com.sun.star.comp.oox.ppt.PowerPointImport</value></prop>
<prop oor:name="UserData"/>
Modified: openoffice/branches/ooxml/main/filter/source/config/fragments/types/MS_Excel_2007_XML.xcu
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/filter/source/config/fragments/types/MS_Excel_2007_XML.xcu?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/filter/source/config/fragments/types/MS_Excel_2007_XML.xcu (original)
+++ openoffice/branches/ooxml/main/filter/source/config/fragments/types/MS_Excel_2007_XML.xcu Fri Feb 28 04:44:42 2014
@@ -22,7 +22,7 @@
<node oor:name="MS Excel 2007 XML" oor:op="replace" >
<prop oor:name="DetectService"><value>com.sun.star.comp.oox.FormatDetector</value></prop>
<prop oor:name="URLPattern"/>
- <prop oor:name="Extensions"><value>xlsm xlsx</value></prop>
+ <prop oor:name="Extensions"><value>xlsx xlsm</value></prop>
<prop oor:name="MediaType"/>
<prop oor:name="Preferred"><value>false</value></prop>
<prop oor:name="PreferredFilter"><value>Calc MS Excel 2007 XML</value></prop>
Modified: openoffice/branches/ooxml/main/filter/source/config/fragments/types/MS_PowerPoint_2007_XML.xcu
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/filter/source/config/fragments/types/MS_PowerPoint_2007_XML.xcu?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/filter/source/config/fragments/types/MS_PowerPoint_2007_XML.xcu (original)
+++ openoffice/branches/ooxml/main/filter/source/config/fragments/types/MS_PowerPoint_2007_XML.xcu Fri Feb 28 04:44:42 2014
@@ -22,7 +22,7 @@
<node oor:name="MS PowerPoint 2007 XML" oor:op="replace" >
<prop oor:name="DetectService"><value>com.sun.star.comp.oox.FormatDetector</value></prop>
<prop oor:name="URLPattern"/>
- <prop oor:name="Extensions"><value>pptm pptx</value></prop>
+ <prop oor:name="Extensions"><value>pptx pptm</value></prop>
<prop oor:name="MediaType"/>
<prop oor:name="Preferred"><value>true</value></prop>
<prop oor:name="PreferredFilter"><value>Impress MS PowerPoint 2007 XML</value></prop>
Modified: openoffice/branches/ooxml/main/filter/source/msfilter/escherex.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/filter/source/msfilter/escherex.cxx?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/filter/source/msfilter/escherex.cxx (original)
+++ openoffice/branches/ooxml/main/filter/source/msfilter/escherex.cxx Fri Feb 28 04:44:42 2014
@@ -2613,19 +2613,10 @@ void ConvertEnhancedCustomShapeEquation(
}
}
}
-
-sal_Bool EscherPropertyContainer::IsDefaultObject( SdrObjCustomShape* pCustoShape , const MSO_SPT eShapeType )
+//zhaosz_xml
+sal_Bool EscherPropertyContainer::IsDefaultObject( SdrObjCustomShape* pCustoShape )
{
sal_Bool bIsDefaultObject = sal_False;
- switch(eShapeType)
- {
- //if the custom shape is not default shape of ppt, return sal_Fasle;
- case mso_sptTearDrop:
- return bIsDefaultObject;
-
- default:
- break;
- }
if ( pCustoShape )
{
@@ -2714,7 +2705,7 @@ void EscherPropertyContainer::CreateCust
sal_Int32 nAdjustmentsWhichNeedsToBeConverted = 0;
uno::Sequence< beans::PropertyValues > aHandlesPropSeq;
sal_Bool bPredefinedHandlesUsed = sal_True;
- sal_Bool bIsDefaultObject = IsDefaultObject( pCustoShape , eShapeType);
+ sal_Bool bIsDefaultObject = IsDefaultObject( pCustoShape);
// convert property "Equations" into std::vector< EnhancedCustomShapeEquationEquation >
std::vector< EnhancedCustomShapeEquation > aEquations;
Modified: openoffice/branches/ooxml/main/formula/inc/formula/FormulaCompiler.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/formula/inc/formula/FormulaCompiler.hxx?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/formula/inc/formula/FormulaCompiler.hxx (original)
+++ openoffice/branches/ooxml/main/formula/inc/formula/FormulaCompiler.hxx Fri Feb 28 04:44:42 2014
@@ -19,8 +19,6 @@
*
*************************************************************/
-
-
#ifndef FORMULA_COMPILER_HXX_INCLUDED
#define FORMULA_COMPILER_HXX_INCLUDED
@@ -223,6 +221,12 @@ public:
short GetNumFormatType() const { return nNumFmt; }
sal_Bool CompileTokenArray();
+ void CreateStringFromTokenArrayOOXML( String& rFormula );
+ void CreateStringFromTokenArrayOOXML( rtl::OUStringBuffer& rBuffer);
+ FormulaToken* CreateStringFromTokenOOXML( String& rFormula, FormulaToken* pToken,
+ sal_Bool bAllowArrAdvance = sal_False );
+ FormulaToken* CreateStringFromTokenOOXML( rtl::OUStringBuffer& rBuffer, FormulaToken* pToken,
+ sal_Bool bAllowArrAdvance = sal_False );
void CreateStringFromTokenArray( String& rFormula );
void CreateStringFromTokenArray( rtl::OUStringBuffer& rBuffer );
FormulaToken* CreateStringFromToken( String& rFormula, FormulaToken* pToken,
@@ -258,6 +262,7 @@ protected:
virtual void CreateStringFromMatrix(rtl::OUStringBuffer& rBuffer,FormulaToken* pTokenP);
virtual void CreateStringFromIndex(rtl::OUStringBuffer& rBuffer,FormulaToken* pTokenP);
virtual void LocalizeString( String& rName ); // modify rName - input: exact name
+ virtual void LoadExcelString( String& rName );
virtual sal_Bool IsImportingXML() const;
sal_Bool GetToken();
@@ -297,23 +302,24 @@ protected:
OpCode eLastOp;
short nRecursion; // GetToken() recursions
short nNumFmt; // set during CompileTokenArray()
- sal_uInt16 pc;
+ sal_uInt16 pc;
FormulaGrammar::Grammar
- meGrammar; // The grammar used, language plus convention.
+ meGrammar; // The grammar used, language plus convention.
- sal_Bool bAutoCorrect; // whether to apply AutoCorrection
- sal_Bool bCorrected; // AutoCorrection was applied
- sal_Bool bCompileForFAP; //! not real RPN but names, for FunctionAutoPilot,
+ sal_Bool bAutoCorrect; // whether to apply AutoCorrection
+ sal_Bool bCorrected; // AutoCorrection was applied
+ sal_Bool bCompileForFAP; //! not real RPN but names, for FunctionAutoPilot,
// will not be resolved
- sal_Bool bIgnoreErrors; // on AutoCorrect and CompileForFAP
+ sal_Bool bIgnoreErrors; // on AutoCorrect and CompileForFAP
// ignore errors and create RPN nevertheless
- sal_Bool glSubTotal; // if code contains one or more subtotal functions
+ sal_Bool glSubTotal; // if code contains one or more subtotal functions
private:
void InitSymbolsNative() const; /// only SymbolsNative, on first document creation
void InitSymbolsEnglish() const; /// only SymbolsEnglish, maybe later
void InitSymbolsPODF() const; /// only SymbolsPODF, on demand
void InitSymbolsODFF() const; /// only SymbolsODFF, on demand
+ void InitSymbolsOOXML() const; /// only SymbolsOOXML
void loadSymbols(sal_uInt16 _nSymbols,FormulaGrammar::Grammar _eGrammar,NonConstOpCodeMapPtr& _xMap) const;
@@ -362,11 +368,11 @@ private:
{ return operator->(); }
};
-
mutable NonConstOpCodeMapPtr mxSymbolsODFF; // ODFF symbols
mutable NonConstOpCodeMapPtr mxSymbolsPODF; // ODF 1.1 symbols
mutable NonConstOpCodeMapPtr mxSymbolsNative; // native symbols
mutable NonConstOpCodeMapPtr mxSymbolsEnglish; // English symbols
+ mutable NonConstOpCodeMapPtr mxSymbolsOOXML; // OOXML symbols
};
// =============================================================================
} // formula
Modified: openoffice/branches/ooxml/main/formula/inc/formula/grammar.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/formula/inc/formula/grammar.hxx?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/formula/inc/formula/grammar.hxx (original)
+++ openoffice/branches/ooxml/main/formula/inc/formula/grammar.hxx Fri Feb 28 04:44:42 2014
@@ -123,6 +123,10 @@ public:
GRAM_NATIVE_XL_R1C1 = ::com::sun::star::sheet::FormulaLanguage::NATIVE |
((CONV_XL_R1C1 +
kConventionOffset) << kConventionShift),
+ /// OOXML
+ GRAM_OOXML = ::com::sun::star::sheet::FormulaLanguage::OOXML |
+ ((CONV_XL_OOX +
+ kConventionOffset) << kConventionShift),
/// Central definition of the default grammar to be used.
GRAM_DEFAULT = GRAM_NATIVE_UI,
@@ -173,6 +177,7 @@ public:
case GRAM_NATIVE_ODF :
case GRAM_NATIVE_XL_A1 :
case GRAM_NATIVE_XL_R1C1 :
+ case GRAM_OOXML :
return true;
default:
return extractFormulaLanguage( eGrammar) == GRAM_EXTERNAL;
Modified: openoffice/branches/ooxml/main/formula/inc/formula/token.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/formula/inc/formula/token.hxx?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/formula/inc/formula/token.hxx (original)
+++ openoffice/branches/ooxml/main/formula/inc/formula/token.hxx Fri Feb 28 04:44:42 2014
@@ -97,13 +97,14 @@ class FORMULA_DLLPUBLIC FormulaToken : p
protected:
const StackVar eType; // type of data
- mutable sal_uInt16 nRefCnt; // reference count
+ mutable sal_uInt16 nRefCnt; // reference count
+ bool mbCalcOnly;
public:
FormulaToken( StackVar eTypeP,OpCode e = ocPush ) :
- eOp(e), eType( eTypeP ), nRefCnt(0) {}
+ eOp(e), eType( eTypeP ), nRefCnt(0), mbCalcOnly(false){}
FormulaToken( const FormulaToken& r ) : IFormulaToken(),
- eOp(r.eOp), eType( r.eType ), nRefCnt(0) {}
+ eOp(r.eOp), eType( r.eType ), nRefCnt(0), mbCalcOnly(false){}
virtual ~FormulaToken();
@@ -136,6 +137,8 @@ public:
Any other non-overloaded method pops up an assertion.
*/
+ void SetCalcOnly(bool bCalcOnly) {mbCalcOnly = bCalcOnly;}
+ const bool GetCalcOnly() const {return mbCalcOnly;}
virtual sal_uInt8 GetByte() const;
virtual void SetByte( sal_uInt8 n );
virtual bool HasForceArray() const;
@@ -180,7 +183,7 @@ public:
class FORMULA_DLLPUBLIC FormulaByteToken : public FormulaToken
{
private:
- sal_uInt8 nByte;
+ sal_uInt8 nByte;
bool bHasForceArray;
protected:
FormulaByteToken( OpCode e, sal_uInt8 n, StackVar v, bool b ) :
@@ -201,11 +204,11 @@ public:
bHasForceArray( r.bHasForceArray ) {}
virtual FormulaToken* Clone() const { return new FormulaByteToken(*this); }
- virtual sal_uInt8 GetByte() const;
+ virtual sal_uInt8 GetByte() const;
virtual void SetByte( sal_uInt8 n );
virtual bool HasForceArray() const;
virtual void SetForceArray( bool b );
- virtual sal_Bool operator==( const FormulaToken& rToken ) const;
+ virtual sal_Bool operator==( const FormulaToken& rToken ) const;
DECL_FIXEDMEMPOOL_NEWDEL_DLL( FormulaByteToken )
};
Modified: openoffice/branches/ooxml/main/formula/source/core/api/FormulaCompiler.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/formula/source/core/api/FormulaCompiler.cxx?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/formula/source/core/api/FormulaCompiler.cxx (original)
+++ openoffice/branches/ooxml/main/formula/source/core/api/FormulaCompiler.cxx Fri Feb 28 04:44:42 2014
@@ -25,6 +25,7 @@
#include "formula/errorcodes.hxx"
#include "formula/token.hxx"
#include "formula/tokenarray.hxx"
+#include "formula/grammar.hxx"
#include "core_resource.hxx"
#include "core_resource.hrc"
@@ -152,7 +153,7 @@ class OpCodeList : public Resource
{
public:
- OpCodeList( sal_uInt16, FormulaCompiler::NonConstOpCodeMapPtr );
+ OpCodeList( sal_uInt16, FormulaCompiler::NonConstOpCodeMapPtr, bool bOOXML = false );
private:
bool getOpCodeString( String& rStr, sal_uInt16 nOp );
@@ -167,9 +168,9 @@ private:
SeparatorType meSepType;
};
-OpCodeList::OpCodeList( sal_uInt16 nRID, FormulaCompiler::NonConstOpCodeMapPtr xMap ) :
+OpCodeList::OpCodeList( sal_uInt16 nRID, FormulaCompiler::NonConstOpCodeMapPtr xMap, bool bOOXML ) :
Resource( ResId(nRID,*ResourceManager::getResManager()) )
- ,meSepType(SEMICOLON_BASE)
+ ,meSepType( bOOXML ? COMMA_BASE : SEMICOLON_BASE)
{
for (sal_uInt16 i = 0; i <= SC_OPCODE_LAST_OPCODE_ID; ++i)
{
@@ -229,6 +230,47 @@ bool OpCodeList::getOpCodeString( String
}
}
break;
+ case SC_OPCODE_UNION:
+ {
+ if ( meSepType == COMMA_BASE )
+ {
+ rStr = String::CreateFromAscii( "," );
+ return true;
+ }
+ else if ( meSepType == SEMICOLON_BASE )
+ {
+ rStr = String::CreateFromAscii( "~" );
+ return true;
+ }
+ }
+ break;
+ case SC_OPCODE_INTERSECT:
+ {
+ if ( meSepType == COMMA_BASE )
+ {
+ rStr = String::CreateFromAscii( " " );
+ return true;
+ }
+ else if ( meSepType == SEMICOLON_BASE )
+ {
+ rStr = String::CreateFromAscii( "!" );
+ return true;
+ }
+ }
+ break;
+ case SC_OPCODE_ERROR_TYPE:
+ {
+ // Only handle comma(Excel) mode.
+ // For calc mode, it will use different string for this Op on importing
+ // which can be obtained from resource file directly
+ if ( meSepType == COMMA_BASE )
+ {
+ //Calc name: ERRORTYPE Excel name: ERROR.TYPE
+ rStr = String::CreateFromAscii( "ERROR.TYPE" );
+ return true;
+ }
+ }
+ break;
}
return false;
@@ -564,6 +606,11 @@ FormulaCompiler::OpCodeMapPtr FormulaCom
InitSymbolsNative();
xMap = mxSymbolsNative;
break;
+ case FormulaLanguage::OOXML :
+ if (!mxSymbolsOOXML)
+ InitSymbolsOOXML();
+ xMap = mxSymbolsOOXML;
+ break;
default:
; // nothing, NULL map returned
}
@@ -652,6 +699,19 @@ void FormulaCompiler::InitSymbolsNative(
lcl_fillNativeSymbols(s_sSymbol);
mxSymbolsNative = s_sSymbol;
}
+
+// -----------------------------------------------------------------------------
+void FormulaCompiler::InitSymbolsOOXML() const
+{
+ static NonConstOpCodeMapPtr s_sSymbol;
+ if ( !s_sSymbol.get() )
+ {
+ s_sSymbol.reset( new FormulaCompiler::OpCodeMap( SC_OPCODE_LAST_OPCODE_ID + 1, true, FormulaGrammar::GRAM_OOXML ) );
+ OpCodeList aOpCodeListNative( RID_STRLIST_FUNCTION_NAMES, s_sSymbol, true );
+ }
+ mxSymbolsOOXML = s_sSymbol;
+}
+
// -----------------------------------------------------------------------------
void FormulaCompiler::InitSymbolsEnglish() const
{
@@ -1450,6 +1510,47 @@ void FormulaCompiler::PopTokenArray()
delete p;
}
}
+
+void FormulaCompiler::CreateStringFromTokenArrayOOXML( String& rFormula )
+{
+ rtl::OUStringBuffer aBuffer( pArr->GetLen() * 5 );
+ CreateStringFromTokenArrayOOXML( aBuffer);
+ rFormula = aBuffer;
+}
+
+void FormulaCompiler::CreateStringFromTokenArrayOOXML( rtl::OUStringBuffer& rBuffer )
+{
+ rBuffer.setLength(0);
+ if( !pArr->GetLen() )
+ return;
+
+ FormulaTokenArray* pSaveArr = pArr;
+ bool bODFF = FormulaGrammar::isODFF( meGrammar );
+ if ( bODFF || FormulaGrammar::isPODF( meGrammar ) )
+ {
+ // Scan token array for missing args and re-write if present.
+ MissingConvention aConv( bODFF);
+ if (pArr->NeedsPofRewrite( aConv ) )
+ pArr = pArr->RewriteMissingToPof( aConv );
+ }
+
+ // At least one character per token, plus some are references, some are
+ // function names, some are numbers, ...
+ rBuffer.ensureCapacity( pArr->GetLen() * 5 );
+
+ if ( pArr->IsRecalcModeForced() )
+ rBuffer.append( sal_Unicode( '=' ) );
+ FormulaToken* t = pArr->First();
+ while( t )
+ t = CreateStringFromTokenOOXML( rBuffer, t, sal_True );
+
+ if ( pSaveArr != pArr )
+ {
+ delete pArr;
+ pArr = pSaveArr;
+ }
+}
+
// -----------------------------------------------------------------------------
void FormulaCompiler::CreateStringFromTokenArray( String& rFormula )
{
@@ -1490,8 +1591,152 @@ void FormulaCompiler::CreateStringFromTo
pArr = pSaveArr;
}
}
+
+FormulaToken* FormulaCompiler::CreateStringFromTokenOOXML( String& rFormula, FormulaToken* pTokenP, sal_Bool bAllowArrAdvance )
+{
+ rtl::OUStringBuffer aBuffer;
+ FormulaToken* p = CreateStringFromTokenOOXML( aBuffer, pTokenP, bAllowArrAdvance );
+ rFormula += aBuffer;
+ return p;
+}
+
+FormulaToken* FormulaCompiler::CreateStringFromTokenOOXML( rtl::OUStringBuffer& rBuffer, FormulaToken* pTokenP, sal_Bool bAllowArrAdvance )
+{
+ sal_Bool bNext = sal_True;
+ sal_Bool bSpaces = sal_False;
+ FormulaToken* t = pTokenP;
+
+ bool bCalcOnly = t->GetCalcOnly();
+ if(bCalcOnly)//If this token is calc only not for excel, ingnore this token
+ {
+ t = pArr->Next();
+ return t;
+ }
+
+ OpCode eOp = t->GetOpCode();
+ if( eOp >= ocAnd && eOp <= ocOr )
+ {
+ // AND, OR infix?
+ if ( bAllowArrAdvance )
+ t = pArr->Next();
+ else
+ t = pArr->PeekNext();
+ bNext = sal_False;
+ bSpaces = ( !t || t->GetOpCode() != ocOpen );
+ }
+ if( bSpaces )
+ rBuffer.append(sal_Unicode(' '));
+
+ if( eOp == ocSpaces )
+ {
+ bool bIntersectionOp = mxSymbols->isODFF();
+ if (bIntersectionOp)
+ {
+ const FormulaToken* p = pArr->PeekPrevNoSpaces();
+ bIntersectionOp = (p && p->GetOpCode() == ocColRowName);
+ if (bIntersectionOp)
+ {
+ p = pArr->PeekNextNoSpaces();
+ bIntersectionOp = (p && p->GetOpCode() == ocColRowName);
+ }
+ }
+ if (bIntersectionOp)
+ rBuffer.appendAscii( "!!");
+ else
+ {
+ // most times it's just one blank
+ sal_uInt8 n = t->GetByte();
+ for ( sal_uInt8 j=0; j<n; ++j )
+ {
+ rBuffer.append(sal_Unicode(' '));
+ }
+ }
+ }
+ else if( eOp >= ocInternalBegin && eOp <= ocInternalEnd )
+ rBuffer.appendAscii( pInternal[ eOp - ocInternalBegin ] );
+ else if( (sal_uInt16) eOp < mxSymbols->getSymbolCount()) // Keyword:
+ rBuffer.append(mxSymbols->getSymbol(eOp));
+ else
+ {
+ DBG_ERRORFILE("unknown OpCode");
+ rBuffer.append(GetNativeSymbol( ocErrName ));
+ }
+ if( bNext )
+ {
+ if (eOp == ocExternalRef)
+ {
+ CreateStringFromExternal(rBuffer, pTokenP);
+ }
+ else
+ {
+ switch( t->GetType() )
+ {
+ case svDouble:
+ AppendDouble( rBuffer, t->GetDouble() );
+ break;
+
+ case svString:
+ if( eOp == ocBad )
+ rBuffer.append(t->GetString());
+ else
+ AppendString( rBuffer, t->GetString() );
+ break;
+ case svSingleRef:
+ CreateStringFromSingleRef(rBuffer,t);
+ break;
+ case svDoubleRef:
+ CreateStringFromDoubleRef(rBuffer,t);
+ break;
+ case svMatrix:
+ CreateStringFromMatrix( rBuffer, t );
+ break;
+
+ case svIndex:
+ CreateStringFromIndex( rBuffer, t );
+ break;
+ case svExternal:
+ {
+ // mapped or translated name of AddIns
+ String aAddIn( t->GetExternal() );
+ bool bMapped = mxSymbols->isPODF(); // ODF 1.1 directly uses programmatical name
+ if (!bMapped && mxSymbols->hasExternals())
+ {
+ ExternalHashMap::const_iterator iLook = mxSymbols->getReverseExternalHashMap()->find( aAddIn);
+ if (iLook != mxSymbols->getReverseExternalHashMap()->end())
+ {
+ aAddIn = (*iLook).second;
+ bMapped = true;
+ }
+ }
+ if (!bMapped && !mxSymbols->isEnglish())
+ LoadExcelString( aAddIn );//If this token is external, use Excel String
+ rBuffer.append(aAddIn);
+ }
+ break;
+ case svByte:
+ case svJump:
+ case svFAP:
+ case svMissing:
+ case svSep:
+ break; // Opcodes
+ default:
+ DBG_ERROR("FormulaCompiler:: GetStringFromToken errUnknownVariable");
+ } // of switch
+ }
+ }
+ if( bSpaces )
+ rBuffer.append(sal_Unicode(' '));
+ if ( bAllowArrAdvance )
+ {
+ if( bNext )
+ t = pArr->Next();
+ return t;
+ }
+ return pTokenP;
+}
+
// -----------------------------------------------------------------------------
-FormulaToken* FormulaCompiler::CreateStringFromToken( String& rFormula, FormulaToken* pTokenP,sal_Bool bAllowArrAdvance )
+FormulaToken* FormulaCompiler::CreateStringFromToken( String& rFormula, FormulaToken* pTokenP, sal_Bool bAllowArrAdvance )
{
rtl::OUStringBuffer aBuffer;
FormulaToken* p = CreateStringFromToken( aBuffer, pTokenP, bAllowArrAdvance );
@@ -1499,7 +1744,7 @@ FormulaToken* FormulaCompiler::CreateStr
return p;
}
-FormulaToken* FormulaCompiler::CreateStringFromToken( rtl::OUStringBuffer& rBuffer, FormulaToken* pTokenP,sal_Bool bAllowArrAdvance )
+FormulaToken* FormulaCompiler::CreateStringFromToken( rtl::OUStringBuffer& rBuffer, FormulaToken* pTokenP, sal_Bool bAllowArrAdvance )
{
sal_Bool bNext = sal_True;
sal_Bool bSpaces = sal_False;
@@ -1591,7 +1836,7 @@ FormulaToken* FormulaCompiler::CreateStr
String aAddIn( t->GetExternal() );
bool bMapped = mxSymbols->isPODF(); // ODF 1.1 directly uses programmatical name
if (!bMapped && mxSymbols->hasExternals())
- {
+ {
ExternalHashMap::const_iterator iLook = mxSymbols->getReverseExternalHashMap()->find( aAddIn);
if (iLook != mxSymbols->getReverseExternalHashMap()->end())
{
@@ -1600,9 +1845,9 @@ FormulaToken* FormulaCompiler::CreateStr
}
}
if (!bMapped && !mxSymbols->isEnglish())
- LocalizeString( aAddIn );
- rBuffer.append(aAddIn);
- }
+ LocalizeString( aAddIn );
+ rBuffer.append(aAddIn);
+ }
break;
case svByte:
case svJump:
@@ -1835,6 +2080,11 @@ void FormulaCompiler::CreateStringFromEx
void FormulaCompiler::LocalizeString( String& /*rName*/ )
{
}
+
+void FormulaCompiler::LoadExcelString( String& /*rName*/ )
+{
+}
+
void FormulaCompiler::PushTokenArray( FormulaTokenArray* pa, sal_Bool bTemp )
{
if ( bAutoCorrect && !pStack )
Modified: openoffice/branches/ooxml/main/oox/inc/oox/export/drawingml.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/oox/inc/oox/export/drawingml.hxx?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/oox/inc/oox/export/drawingml.hxx (original)
+++ openoffice/branches/ooxml/main/oox/inc/oox/export/drawingml.hxx Fri Feb 28 04:44:42 2014
@@ -28,7 +28,9 @@
#include <com/sun/star/awt/FontDescriptor.hpp>
#include <com/sun/star/uno/XReference.hpp>
#include <tools/poly.hxx>
-#include <svx/escherex.hxx>
+//zhaosz_xml
+//#include <svx/escherex.hxx>
+#include <filter/msfilter/escherex.hxx>
class Graphic;
class String;
Modified: openoffice/branches/ooxml/main/oox/inc/oox/export/shapes.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/oox/inc/oox/export/shapes.hxx?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/oox/inc/oox/export/shapes.hxx (original)
+++ openoffice/branches/ooxml/main/oox/inc/oox/export/shapes.hxx Fri Feb 28 04:44:42 2014
@@ -69,9 +69,13 @@ private:
typedef std::hash_map< const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape>, sal_Int32, ShapeHash, ShapeCheck> ShapeHashMap;
ShapeHashMap maShapeMap;
-
+ ShapeHashMap* mpShapeMap;
public:
- ShapeExport( sal_Int32 nXmlNamespace, ::sax_fastparser::FSHelperPtr pFS, ::oox::core::XmlFilterBase* pFB = NULL, DocumentType eDocumentType = DOCUMENT_PPTX );
+ //ShapeExport( sal_Int32 nXmlNamespace, ::sax_fastparser::FSHelperPtr pFS, ::oox::core::XmlFilterBase* pFB = NULL, DocumentType eDocumentType = DOCUMENT_PPTX );
+
+ ShapeExport( sal_Int32 nXmlNamespace, ::sax_fastparser::FSHelperPtr pFS,
+ ShapeHashMap* pShapeMap = NULL, ::oox::core::XmlFilterBase* pFB = NULL,
+ DocumentType eDocumentType = DOCUMENT_PPTX );
virtual ~ShapeExport() {}
sal_Int32 GetXmlNamespace() const;
@@ -149,9 +153,12 @@ public:
virtual ShapeExport&
WriteUnknownShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape );
- sal_Int32 GetNewShapeID( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > rShape );
- sal_Int32 GetShapeID( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > rShape );
-};
+ //zhaosz_xml
+ sal_Int32 GetNewShapeID( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > rShape );
+ sal_Int32 GetNewShapeID( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > rShape, ::oox::core::XmlFilterBase* pFB );
+ sal_Int32 GetShapeID( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > rShape );
+ static sal_Int32 GetShapeID( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > rShape, ShapeHashMap* pShapeMap );
+ };
}}
Modified: openoffice/branches/ooxml/main/oox/inc/oox/export/utils.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/oox/inc/oox/export/utils.hxx?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/oox/inc/oox/export/utils.hxx (original)
+++ openoffice/branches/ooxml/main/oox/inc/oox/export/utils.hxx Fri Feb 28 04:44:42 2014
@@ -43,15 +43,15 @@
#endif
// ---------------------------------------------------------------------------------------------
-
-static inline sal_Int64 PPTtoEMU( INT32 nPPT )
+//zhaosz_xml, INT32 to sal_Int32
+static inline sal_Int64 PPTtoEMU( sal_Int32 nPPT )
{
return (sal_Int64)( (double)nPPT * 1587.5 );
}
// ---------------------------------------------------------------------------------------------
-static inline sal_Int64 MM100toEMU( INT32 nMM100 )
+static inline sal_Int64 MM100toEMU( sal_Int32 nMM100 )
{
return (sal_Int64)nMM100 * 360;
}
Modified: openoffice/branches/ooxml/main/oox/inc/oox/export/vmlexport.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/oox/inc/oox/export/vmlexport.hxx?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/oox/inc/oox/export/vmlexport.hxx (original)
+++ openoffice/branches/ooxml/main/oox/inc/oox/export/vmlexport.hxx Fri Feb 28 04:44:42 2014
@@ -23,7 +23,7 @@
#include <oox/dllapi.h>
#include <sax/fshelper.hxx>
-#include <svx/escherex.hxx>
+#include <filter/msfilter/escherex.hxx> //zhaosz_xml
namespace rtl {
class OString;
@@ -87,13 +87,13 @@ protected:
private:
- virtual void OpenContainer( UINT16 nEscherContainer, int nRecInstance = 0 );
+ virtual void OpenContainer( sal_Int16 nEscherContainer, int nRecInstance = 0 );
virtual void CloseContainer();
- virtual UINT32 EnterGroup( const String& rShapeName, const Rectangle* pBoundRect = 0 );
+ virtual sal_uInt32 EnterGroup( const String& rShapeName, const Rectangle* pBoundRect = 0 );
virtual void LeaveGroup();
- virtual void AddShape( UINT32 nShapeType, UINT32 nShapeFlags, UINT32 nShapeId = 0 );
+ virtual void AddShape( sal_Int32 nShapeType, sal_Int32 nShapeFlags, sal_Int32 nShapeId = 0 );
private:
/// Create an OString representing the id from a numerical id.
Modified: openoffice/branches/ooxml/main/oox/inc/oox/ppt/pptimport.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/oox/inc/oox/ppt/pptimport.hxx?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/oox/inc/oox/ppt/pptimport.hxx (original)
+++ openoffice/branches/ooxml/main/oox/inc/oox/ppt/pptimport.hxx Fri Feb 28 04:44:42 2014
@@ -19,8 +19,6 @@
*
*************************************************************/
-
-
#ifndef OOX_POWERPOINT_POWERPOINTIMPORT_HXX
#define OOX_POWERPOINT_POWERPOINTIMPORT_HXX
@@ -41,9 +39,13 @@ class PowerPointImport : public oox::cor
{
public:
- PowerPointImport( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxContext )
+ PowerPointImport( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxContext )
+ throw( ::com::sun::star::uno::RuntimeException );
+ virtual ~PowerPointImport();
+
+ virtual sal_Bool SAL_CALL filter(
+ const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rMediaDescSeq )
throw( ::com::sun::star::uno::RuntimeException );
- virtual ~PowerPointImport();
// from FilterBase
virtual bool importDocument() throw();
@@ -51,14 +53,14 @@ public:
virtual const ::oox::drawingml::Theme* getCurrentTheme() const;
virtual ::oox::vml::Drawing* getVmlDrawing();
- virtual const oox::drawingml::table::TableStyleListPtr getTableStyles();
+ virtual const oox::drawingml::table::TableStyleListPtr getTableStyles();
virtual ::oox::drawingml::chart::ChartConverter& getChartConverter();
- void setActualSlidePersist( SlidePersistPtr pActualSlidePersist ){ mpActualSlidePersist = pActualSlidePersist; };
- std::map< rtl::OUString, oox::drawingml::ThemePtr >& getThemes(){ return maThemes; };
- std::vector< SlidePersistPtr >& getDrawPages(){ return maDrawPages; };
- std::vector< SlidePersistPtr >& getMasterPages(){ return maMasterPages; };
- std::vector< SlidePersistPtr >& getNotesPages(){ return maNotesPages; };
+ void setActualSlidePersist( SlidePersistPtr pActualSlidePersist ){ mpActualSlidePersist = pActualSlidePersist; };
+ std::map< rtl::OUString, oox::drawingml::ThemePtr >& getThemes(){ return maThemes; };
+ std::vector< SlidePersistPtr >& getDrawPages(){ return maDrawPages; };
+ std::vector< SlidePersistPtr >& getMasterPages(){ return maMasterPages; };
+ std::vector< SlidePersistPtr >& getNotesPages(){ return maNotesPages; };
sal_Int32 getSchemeColor( sal_Int32 nToken ) const;
@@ -68,15 +70,15 @@ private:
virtual ::rtl::OUString implGetImplementationName() const;
private:
- rtl::OUString maTableStyleListPath;
- oox::drawingml::table::TableStyleListPtr mpTableStyleList;
+ rtl::OUString maTableStyleListPath;
+ oox::drawingml::table::TableStyleListPtr mpTableStyleList;
- SlidePersistPtr mpActualSlidePersist;
- std::map< rtl::OUString, oox::drawingml::ThemePtr > maThemes;
+ SlidePersistPtr mpActualSlidePersist;
+ std::map< rtl::OUString, oox::drawingml::ThemePtr > maThemes;
- std::vector< SlidePersistPtr > maDrawPages;
- std::vector< SlidePersistPtr > maMasterPages;
- std::vector< SlidePersistPtr > maNotesPages;
+ std::vector< SlidePersistPtr > maDrawPages;
+ std::vector< SlidePersistPtr > maMasterPages;
+ std::vector< SlidePersistPtr > maNotesPages;
::boost::shared_ptr< ::oox::drawingml::chart::ChartConverter > mxChartConv;
};
Modified: openoffice/branches/ooxml/main/oox/inc/oox/xls/excelfilter.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/oox/inc/oox/xls/excelfilter.hxx?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/oox/inc/oox/xls/excelfilter.hxx (original)
+++ openoffice/branches/ooxml/main/oox/inc/oox/xls/excelfilter.hxx Fri Feb 28 04:44:42 2014
@@ -61,7 +61,9 @@ public:
virtual bool importDocument() throw();
virtual bool exportDocument() throw();
-
+ virtual sal_Bool SAL_CALL filter(
+ const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rMediaDescSeq )
+ throw( ::com::sun::star::uno::RuntimeException );
virtual const ::oox::drawingml::Theme* getCurrentTheme() const;
virtual ::oox::vml::Drawing* getVmlDrawing();
virtual const ::oox::drawingml::table::TableStyleListPtr getTableStyles();
Modified: openoffice/branches/ooxml/main/oox/prj/build.lst
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/oox/prj/build.lst?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/oox/prj/build.lst (original)
+++ openoffice/branches/ooxml/main/oox/prj/build.lst Fri Feb 28 04:44:42 2014
@@ -1,4 +1,4 @@
-oox oox : vos cppu cppuhelper comphelper sal offapi sax basegfx xmlscript tools vcl BOOST:boost OPENSSL:openssl LIBXSLT:libxslt NULL
+oox oox : vos cppu cppuhelper comphelper sal offapi sax basegfx xmlscript tools vcl BOOST:boost OPENSSL:openssl LIBXSLT:libxslt svx NULL
oox oox usr1 - all oox_mkout NULL
oox oox\prj get - all oox_prj NULL
oox oox\source\token nmake - all oox_token NULL
@@ -15,4 +15,5 @@ oox oox\source\vml nmake - all oox_v
oox oox\source\xls nmake - all oox_xls oox_token NULL
oox oox\source\dump nmake - all oox_dump oox_token NULL
oox oox\source\shape nmake - all oox_shape oox_token NULL
-oox oox\util nmake - all oox_util oox_token oox_helper oox_core oox_ole oox_vml oox_drawingml oox_diagram oox_chart oox_table oox_ppt oox_xls oox_dump oox_shape oox_docprop NULL
+oox oox\source\export nmake - all oox_export oox_token NULL
+oox oox\util nmake - all oox_util oox_token oox_helper oox_core oox_ole oox_vml oox_drawingml oox_diagram oox_chart oox_table oox_ppt oox_xls oox_dump oox_export oox_shape oox_docprop NULL
Modified: openoffice/branches/ooxml/main/oox/prj/d.lst
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/oox/prj/d.lst?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/oox/prj/d.lst (original)
+++ openoffice/branches/ooxml/main/oox/prj/d.lst Fri Feb 28 04:44:42 2014
@@ -3,11 +3,13 @@ mkdir: %_DEST%\inc%_EXT%\oox\core
mkdir: %_DEST%\inc%_EXT%\oox\drawingml
mkdir: %_DEST%\inc%_EXT%\oox\drawingml\chart
mkdir: %_DEST%\inc%_EXT%\oox\drawingml\table
+mkdir: %_DEST%\inc%_EXT%\oox\export
mkdir: %_DEST%\inc%_EXT%\oox\helper
mkdir: %_DEST%\inc%_EXT%\oox\ole
mkdir: %_DEST%\inc%_EXT%\oox\token
mkdir: %_DEST%\inc%_EXT%\oox\vml
mkdir: %_DEST%\inc%_EXT%\oox\xls
+mkdir: %_DEST%\inc%_EXT%\oox\export
..\%__SRC%\misc\*.map %_DEST%\bin%_EXT%\*.map
..\%__SRC%\lib\ixo.lib %_DEST%\lib%_EXT%\ixo.lib
@@ -25,6 +27,7 @@ mkdir: %_DEST%\inc%_EXT%\oox\xls
..\source\token\tokens.txt %_DEST%\inc%_EXT%\oox\token\tokens.txt
..\inc\oox\dllapi.h %_DEST%\inc%_EXT%\oox\dllapi.h
+..\inc\oox\export\drawingml.hxx %_DEST%\inc%_EXT%\oox\export\drawingml.hxx
..\inc\oox\helper\binarystreambase.hxx %_DEST%\inc%_EXT%\oox\helper\binarystreambase.hxx
..\inc\oox\helper\helper.hxx %_DEST%\inc%_EXT%\oox\helper\helper.hxx
..\inc\oox\helper\refmap.hxx %_DEST%\inc%_EXT%\oox\helper\refmap.hxx
@@ -35,13 +38,15 @@ mkdir: %_DEST%\inc%_EXT%\oox\xls
..\inc\oox\core\filterdetect.hxx %_DEST%\inc%_EXT%\oox\core\filterdetect.hxx
..\inc\oox\core\relations.hxx %_DEST%\inc%_EXT%\oox\core\relations.hxx
..\inc\oox\core\xmlfilterbase.hxx %_DEST%\inc%_EXT%\oox\core\xmlfilterbase.hxx
+..\inc\oox\drawingml\*.hxx %_DEST%\inc%_EXT%\oox\drawingml\*.hxx
..\inc\oox\drawingml\chart\chartconverter.hxx %_DEST%\inc%_EXT%\oox\drawingml\chart\chartconverter.hxx
..\inc\oox\drawingml\table\tablestylelist.hxx %_DEST%\inc%_EXT%\oox\drawingml\table\tablestylelist.hxx
..\inc\oox\ole\vbaproject.hxx %_DEST%\inc%_EXT%\oox\ole\vbaproject.hxx
+..\inc\oox\ole\oleobjecthelper.hxx %_DEST%\inc%_EXT%\oox\ole\oleobjecthelper.hxx
..\inc\oox\vml\vmldrawing.hxx %_DEST%\inc%_EXT%\oox\vml\vmldrawing.hxx
..\inc\oox\vml\vmlshape.hxx %_DEST%\inc%_EXT%\oox\vml\vmlshape.hxx
..\inc\oox\xls\excelvbaproject.hxx %_DEST%\inc%_EXT%\oox\xls\excelvbaproject.hxx
-
+..\inc\oox\export\*.hxx %_DEST%\inc%_EXT%\oox\export\*.hxx
dos: sh -c "if test %OS% = MACOSX; then create-bundle %_DEST%\lib%_EXT%\*.dylib; fi"
..\xml\components.xml %_DEST%\xml%_EXT%\components.xml
Modified: openoffice/branches/ooxml/main/oox/source/export/drawingml.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/oox/source/export/drawingml.cxx?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/oox/source/export/drawingml.cxx (original)
+++ openoffice/branches/ooxml/main/oox/source/export/drawingml.cxx Fri Feb 28 04:44:42 2014
@@ -24,6 +24,8 @@
#include "oox/core/xmlfilterbase.hxx"
#include "oox/export/drawingml.hxx"
#include "oox/export/utils.hxx"
+//zhaosz_xml
+#include "oox/token/tokens.hxx"
#include <cstdio>
#include <com/sun/star/awt/CharSet.hpp>
@@ -35,6 +37,9 @@
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/beans/XPropertyState.hpp>
#include <com/sun/star/container/XEnumerationAccess.hpp>
+//zhaosz_xml
+#include <com/sun/star/container/XIndexAccess.hpp>
+
#include <com/sun/star/drawing/BitmapMode.hpp>
#include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp>
#include <com/sun/star/drawing/LineDash.hpp>
@@ -42,6 +47,12 @@
#include <com/sun/star/drawing/LineStyle.hpp>
#include <com/sun/star/drawing/TextHorizontalAdjust.hpp>
#include <com/sun/star/drawing/TextVerticalAdjust.hpp>
+
+//zhaosz_xml
+#include <com/sun/star/drawing/XShape.hpp>
+#include <com/sun/star/drawing/FillStyle.hpp>
+
+
#include <com/sun/star/i18n/ScriptType.hpp>
#include <com/sun/star/io/XOutputStream.hpp>
#include <com/sun/star/style/ParagraphAdjust.hpp>
@@ -58,13 +69,23 @@
#include <rtl/strbuf.hxx>
#include <sfx2/app.hxx>
#include <svl/languageoptions.hxx>
-#include <svx/escherex.hxx>
-#include <svx/svxenum.hxx>
+//zhaosz_xml
+//#include <svx/escherex.hxx>
+#include <filter/msfilter/escherex.hxx>
+#include <unotools/fontcvt.hxx>
+#include <unotools/fontdefs.hxx>
+#include <editeng/svxenum.hxx>
using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::drawing;
using namespace ::com::sun::star::i18n;
+//zhaosz_xml
+using namespace ::com::sun::star::beans;
+using namespace ::com::sun::star::style;
+using namespace ::com::sun::star::text;
+using namespace ::com::sun::star::drawing;
+
using ::com::sun::star::beans::PropertyState;
using ::com::sun::star::beans::PropertyValue;
using ::com::sun::star::beans::XPropertySet;
@@ -313,10 +334,10 @@ void DrawingML::WriteOutline( Reference<
sal_uInt32 nLineWidth = 0;
sal_uInt32 nColor = 0;
- sal_Bool bColorSet = FALSE;
+ sal_Bool bColorSet = sal_False; //zhaosz_xml
const char* cap = NULL;
drawing::LineDash aLineDash;
- sal_Bool bDashSet = FALSE;
+ sal_Bool bDashSet = sal_False;
GET( nLineWidth, LineWidth );
@@ -324,7 +345,7 @@ void DrawingML::WriteOutline( Reference<
case drawing::LineStyle_DASH:
if( GETA( LineDash ) ) {
aLineDash = *(drawing::LineDash*) mAny.getValue();
- bDashSet = TRUE;
+ bDashSet = sal_True;
if( aLineDash.Style == DashStyle_ROUND || aLineDash.Style == DashStyle_ROUNDRELATIVE )
cap = "rnd";
@@ -336,7 +357,7 @@ void DrawingML::WriteOutline( Reference<
default:
if ( GETA( LineColor ) ) {
nColor = *((sal_uInt32*) mAny.getValue()) & 0xffffff;
- bColorSet = TRUE;
+ bColorSet = sal_True;
}
break;
}
@@ -466,7 +487,9 @@ OUString DrawingML::WriteImage( const Gr
}
aData = aStream.GetData();
- nDataSize = aStream.GetSize();
+ //nDataSize = aStream.GetSize();
+ //zhaosz_xml
+ nDataSize = aStream.GetEndOfData();//just function replacing
break;
}
}
@@ -478,8 +501,27 @@ OUString DrawingML::WriteImage( const Gr
case DOCUMENT_PPTX: pComponent = "ppt"; break;
case DOCUMENT_XLSX: pComponent = "xl"; break;
}
-
- Reference< XOutputStream > xOutStream = mpFB->openOutputStream( OUStringBuffer()
+//zhaosz_xml
+ /*Reference< XOutputStream > xOutStream = mpFB->openOutputStream( OUStringBuffer()
+ .appendAscii( pComponent )
+ .appendAscii( "/media/image" )
+ .append( (sal_Int32) mnImageCounter )
+ .appendAscii( sExtension )
+ .makeStringAndClear(),
+ sMediaType );
+ */
+ /*
+
+ Reference< XOutputStream > XmlFilterBase::openFragmentStream( const OUString& rStreamName, const OUString& rMediaType )
+ {
+ Reference< XOutputStream > xOutputStream = openOutputStream( rStreamName );
+ PropertySet aPropSet( xOutputStream );
+ aPropSet.setProperty( PROP_MediaType, rMediaType );
+ return xOutputStream;
+ }
+
+ */
+ Reference< XOutputStream > xOutStream = mpFB->openFragmentStream( OUStringBuffer()
.appendAscii( pComponent )
.appendAscii( "/media/image" )
.append( (sal_Int32) mnImageCounter )
@@ -791,7 +833,7 @@ const char* DrawingML::GetFieldType( ::c
if( rXTextField.is() ) {
rXPropSet.set( rXTextField, UNO_QUERY );
if( rXPropSet.is() ) {
- String aFieldKind( rXTextField->getPresentation( TRUE ) );
+ String aFieldKind( rXTextField->getPresentation( sal_True ) );
DBG(printf ("field kind: %s\n", ST(aFieldKind) ));
if( aFieldKind == S( "Page" ) ) {
return "slidenum";
@@ -1092,7 +1134,7 @@ void DrawingML::WriteParagraph( Referenc
mpFS->startElementNS( XML_a, XML_p, FSEND );
- sal_Bool bPropertiesWritten = FALSE;
+ sal_Bool bPropertiesWritten = sal_False;
while( enumeration->hasMoreElements() ) {
Reference< XTextRange > run;
Any any ( enumeration->nextElement() );
@@ -1100,7 +1142,7 @@ void DrawingML::WriteParagraph( Referenc
if (any >>= run) {
if( !bPropertiesWritten && run->getString().getLength() ) {
WriteParagraphProperties( rParagraph );
- bPropertiesWritten = TRUE;
+ bPropertiesWritten = sal_True;
}
WriteRun( run );
}
@@ -1152,11 +1194,11 @@ void DrawingML::WriteText( Reference< XS
if( eHorizontalAlignment == TextHorizontalAdjust_CENTER )
bHorizontalCenter = true;
- sal_Bool bHasWrap = FALSE;
- sal_Bool bWrap = FALSE;
+ sal_Bool bHasWrap = sal_False;
+ sal_Bool bWrap = sal_False;
if( GETA( TextWordWrap ) ) {
mAny >>= bWrap;
- bHasWrap = TRUE;
+ bHasWrap = sal_True;
//DBG(printf("wrap: %d\n", bWrap));
}
@@ -1241,11 +1283,11 @@ void DrawingML::WritePolyPolygon( const
mpFS->startElementNS( XML_a, XML_pathLst, FSEND );
- for( USHORT i = 0; i < rPolyPolygon.Count(); i ++ ) {
+ for( sal_uInt16 i = 0; i < rPolyPolygon.Count(); i ++ ) {
const Polygon& rPoly = rPolyPolygon[ i ];
Rectangle aRect( rPoly.GetBoundRect() );
- sal_Bool bBezier = FALSE;
+ sal_Bool bBezier = sal_False;
mpFS->startElementNS( XML_a, XML_path,
XML_w, I64S( aRect.GetWidth() ),
@@ -1264,13 +1306,13 @@ void DrawingML::WritePolyPolygon( const
mpFS->endElementNS( XML_a, XML_moveTo );
}
- for( USHORT j = 1; j < rPoly.GetSize(); j ++ )
+ for( sal_uInt16 j = 1; j < rPoly.GetSize(); j ++ )
{
enum PolyFlags flags = rPoly.GetFlags(j);
if( flags == POLY_CONTROL && !bBezier )
{
mpFS->startElementNS( XML_a, XML_cubicBezTo, FSEND );
- bBezier = TRUE;
+ bBezier = sal_True;
}
else if( flags == POLY_NORMAL && !bBezier )
mpFS->startElementNS( XML_a, XML_lnTo, FSEND );
@@ -1283,7 +1325,7 @@ void DrawingML::WritePolyPolygon( const
if( ( flags == POLY_NORMAL || flags == POLY_SYMMTR ) && bBezier )
{
mpFS->endElementNS( XML_a, XML_cubicBezTo );
- bBezier = FALSE;
+ bBezier = sal_False;
}
else if( flags == POLY_NORMAL && !bBezier )
mpFS->endElementNS( XML_a, XML_lnTo );
@@ -1323,11 +1365,11 @@ void DrawingML::WriteConnectorConnection
{
mpFS->singleElementNS( XML_a, XML_stCxn,
XML_id, I32S( nStartID ),
- XML_idx, I64S( rConnectorEntry.GetConnectorRule( TRUE ) ),
+ XML_idx, I64S( rConnectorEntry.GetConnectorRule( sal_True ) ),
FSEND );
mpFS->singleElementNS( XML_a, XML_endCxn,
XML_id, I32S( nEndID ),
- XML_idx, I64S( rConnectorEntry.GetConnectorRule( FALSE ) ),
+ XML_idx, I64S( rConnectorEntry.GetConnectorRule( sal_False ) ),
FSEND );
}
Modified: openoffice/branches/ooxml/main/oox/source/export/makefile.mk
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/oox/source/export/makefile.mk?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/oox/source/export/makefile.mk (original)
+++ openoffice/branches/ooxml/main/oox/source/export/makefile.mk Fri Feb 28 04:44:42 2014
@@ -36,8 +36,8 @@ ENABLE_EXCEPTIONS=TRUE
SLOFILES = \
$(SLO)$/drawingml.obj \
$(SLO)$/shapes.obj \
- $(SLO)$/vmlexport.obj \
- $(SLO)$/vmlexport-shape-types.obj
+ $(SLO)$/vmlexport.obj
+# $(SLO)$/vmlexport-shape-types.obj
# --- Targets -------------------------------------------------------
Modified: openoffice/branches/ooxml/main/oox/source/export/shapes.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/oox/source/export/shapes.cxx?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/oox/source/export/shapes.cxx (original)
+++ openoffice/branches/ooxml/main/oox/source/export/shapes.cxx Fri Feb 28 04:44:42 2014
@@ -19,8 +19,6 @@
*
*************************************************************/
-
-
#include "oox/core/xmlfilterbase.hxx"
#include "oox/export/shapes.hxx"
#include "oox/export/utils.hxx"
@@ -61,10 +59,13 @@
#include <rtl/strbuf.hxx>
#include <sfx2/app.hxx>
#include <svl/languageoptions.hxx>
-#include <svx/escherex.hxx>
+#include <filter/msfilter/escherex.hxx>
+#include <editeng/svxenum.hxx>
#include <svx/svdoashp.hxx>
-#include <svx/svxenum.hxx>
#include <svx/unoapi.hxx>
+#include "oox/token/tokens.hxx"
+
+#include <hash_map>
using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
@@ -89,6 +90,8 @@ using ::rtl::OStringBuffer;
using ::rtl::OUString;
using ::rtl::OUStringBuffer;
using ::sax_fastparser::FSHelperPtr;
+using ::oox::core::XmlFilterBase;
+using ::std::hash_map;
DBG(extern void dump_pset(Reference< XPropertySet > rXPropSet));
@@ -306,8 +309,24 @@ static const CustomShapeTypeTranslationT
{ "mso-spt201", "hostControl" },
{ "mso-spt202", "rect" }
};
+//zhaosz_xml
+struct ShapeHash
+{
+ size_t operator()( const char* s ) const
+ {
+ return rtl_str_hashCode(s);
+ }
+};
-typedef std::hash_map< const char*, const char*, CStringHash, CStringEqual> CustomShapeTypeTranslationHashMap;
+struct ShapeCheck
+{
+ bool operator()( const char* s1, const char* s2 ) const
+ {
+ return strcmp( s1, s2 ) == 0;
+ }
+};
+
+typedef hash_map< const char*, const char*, rtl::CStringHash, rtl::CStringEqual> CustomShapeTypeTranslationHashMap;
static CustomShapeTypeTranslationHashMap* pCustomShapeTypeTranslationHashMap = NULL;
static const char* lcl_GetPresetGeometry( const char* sShapeType )
@@ -344,14 +363,16 @@ namespace oox { namespace drawingml {
if ( GETA(propName) ) \
mAny >>= variable;
-ShapeExport::ShapeExport( sal_Int32 nXmlNamespace, FSHelperPtr pFS, ::oox::core::XmlFilterBase* pFB, DocumentType eDocumentType )
+ShapeExport::ShapeExport( sal_Int32 nXmlNamespace, FSHelperPtr pFS,
+ ShapeHashMap* pShapeMap, XmlFilterBase* pFB, DocumentType eDocumentType )
: DrawingML( pFS, pFB, eDocumentType )
- , mnXmlNamespace( nXmlNamespace )
, mnShapeIdMax( 1 )
, mnPictureIdMax( 1 )
+ , mnXmlNamespace( nXmlNamespace )
, maFraction( 1, 576 )
, maMapModeSrc( MAP_100TH_MM )
, maMapModeDest( MAP_INCH, Point(), maFraction, maFraction )
+ , mpShapeMap( pShapeMap ? pShapeMap : &maShapeMap )
{
}
@@ -430,12 +451,12 @@ ShapeExport& ShapeExport::WriteBezierSha
ShapeExport& ShapeExport::WriteClosedBezierShape( Reference< XShape > xShape )
{
- return WriteBezierShape( xShape, TRUE );
+ return WriteBezierShape( xShape, sal_True );
}
ShapeExport& ShapeExport::WriteOpenBezierShape( Reference< XShape > xShape )
{
- return WriteBezierShape( xShape, FALSE );
+ return WriteBezierShape( xShape, sal_False );
}
ShapeExport& ShapeExport::WriteCustomShape( Reference< XShape > xShape )
@@ -445,7 +466,7 @@ ShapeExport& ShapeExport::WriteCustomSha
Reference< XPropertySet > rXPropSet( xShape, UNO_QUERY );
SdrObjCustomShape* pShape = (SdrObjCustomShape*) GetSdrObjectFromXShape( xShape );
sal_Bool bIsDefaultObject = EscherPropertyContainer::IsDefaultObject( pShape );
- sal_Bool bPredefinedHandlesUsed = TRUE;
+ sal_Bool bPredefinedHandlesUsed = sal_True;
OUString sShapeType;
sal_uInt32 nMirrorFlags = 0;
MSO_SPT eShapeType = EscherPropertyContainer::GetCustomShapeType( xShape, nMirrorFlags, sShapeType );
@@ -468,7 +489,7 @@ ShapeExport& ShapeExport::WriteCustomSha
nAdjustmentValuesIndex = i;
else if( rProp.Name.equalsAscii( "Handles" )) {
if( !bIsDefaultObject )
- bPredefinedHandlesUsed = FALSE;
+ bPredefinedHandlesUsed = sal_False;
// TODO: update nAdjustmentsWhichNeedsToBeConverted here
}
}
@@ -702,13 +723,13 @@ ShapeExport& ShapeExport::WriteConnector
Rectangle aRect( Point( aStartPoint.X, aStartPoint.Y ), Point( aEndPoint.X, aEndPoint.Y ) );
if( aRect.getWidth() < 0 ) {
- bFlipH = TRUE;
+ bFlipH = sal_True;
aRect.setX( aEndPoint.X );
aRect.setWidth( aStartPoint.X - aEndPoint.X );
}
if( aRect.getHeight() < 0 ) {
- bFlipV = TRUE;
+ bFlipV = sal_True;
aRect.setY( aEndPoint.Y );
aRect.setHeight( aStartPoint.Y - aEndPoint.Y );
}
@@ -861,7 +882,7 @@ ShapeExport& ShapeExport::WriteRectangle
}
typedef ShapeExport& (ShapeExport::*ShapeConverter)( Reference< XShape > );
-typedef std::hash_map< const char*, ShapeConverter, CStringHash, CStringEqual> NameToConvertMapType;
+typedef std::hash_map< const char*, ShapeConverter, ShapeHash, ShapeCheck> NameToConvertMapType;
static const NameToConvertMapType& lcl_GetConverters()
{
Modified: openoffice/branches/ooxml/main/oox/source/export/vmlexport.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/oox/source/export/vmlexport.cxx?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/oox/source/export/vmlexport.cxx (original)
+++ openoffice/branches/ooxml/main/oox/source/export/vmlexport.cxx Fri Feb 28 04:44:42 2014
@@ -19,11 +19,10 @@
*
*************************************************************/
-
-
#include <oox/export/vmlexport.hxx>
-#include <tokens.hxx>
+//#include <tokens.hxx>
+#include "oox/token/tokens.hxx"
#include <rtl/strbuf.hxx>
#include <rtl/ustring.hxx>
@@ -60,7 +59,9 @@ public:
};
VMLExport::VMLExport( ::sax_fastparser::FSHelperPtr pSerializer )
- : EscherEx( *( new SvNullStream ), 0 ),
+ //: EscherEx( *( new SvNullStream ), 0 ),
+ //zhaosz_xml
+ : EscherEx( EscherExGlobalRef(new EscherExGlobal(0)), *( new SvNullStream ) ),
m_pSerializer( pSerializer ),
m_pShapeAttrList( NULL ),
m_nShapeType( ESCHER_ShpInst_Nil ),
@@ -78,7 +79,7 @@ VMLExport::~VMLExport()
delete[] m_pShapeTypeWritten, m_pShapeTypeWritten = NULL;
}
-void VMLExport::OpenContainer( UINT16 nEscherContainer, int nRecInstance )
+void VMLExport::OpenContainer( sal_Int16 nEscherContainer, int nRecInstance )
{
EscherEx::OpenContainer( nEscherContainer, nRecInstance );
@@ -122,9 +123,9 @@ void VMLExport::CloseContainer()
EscherEx::CloseContainer();
}
-UINT32 VMLExport::EnterGroup( const String& rShapeName, const Rectangle* pRect )
+sal_uInt32 VMLExport::EnterGroup( const String& rShapeName, const Rectangle* pRect )
{
- UINT32 nShapeId = GetShapeID();
+ sal_Int32 nShapeId = GenerateShapeId();//zhaosz_xml,just function replacing
OStringBuffer aStyle( 200 );
FastAttributeList *pAttrList = m_pSerializer->createAttrList();
@@ -167,7 +168,7 @@ void VMLExport::LeaveGroup()
m_pSerializer->endElementNS( XML_v, XML_group );
}
-void VMLExport::AddShape( UINT32 nShapeType, UINT32 nShapeFlags, UINT32 nShapeId )
+void VMLExport::AddShape( sal_Int32 nShapeType, sal_Int32 nShapeFlags, sal_Int32 nShapeId )
{
m_nShapeType = nShapeType;
m_nShapeFlags = nShapeFlags;
@@ -771,6 +772,7 @@ sal_Int32 VMLExport::StartShape()
// some of the shapes have their own name ;-)
sal_Int32 nShapeElement = -1;
bool bReferToShapeType = false;
+/* clarence_guo temporarily comment for enable build
switch ( m_nShapeType )
{
case ESCHER_ShpInst_NotPrimitive: nShapeElement = XML_shape; break;
@@ -819,7 +821,7 @@ sal_Int32 VMLExport::StartShape()
// start of the shape
m_pSerializer->startElementNS( XML_v, nShapeElement, XFastAttributeListRef( m_pShapeAttrList ) );
}
-
+*/
return nShapeElement;
}
Modified: openoffice/branches/ooxml/main/oox/source/ppt/pptimport.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/oox/source/ppt/pptimport.cxx?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/oox/source/ppt/pptimport.cxx (original)
+++ openoffice/branches/ooxml/main/oox/source/ppt/pptimport.cxx Fri Feb 28 04:44:42 2014
@@ -19,8 +19,6 @@
*
*************************************************************/
-
-
#include "oox/ppt/pptimport.hxx"
#include "oox/drawingml/chart/chartconverter.hxx"
#include "oox/dump/pptxdumper.hxx"
@@ -29,6 +27,7 @@
#include "oox/ole/vbaproject.hxx"
using ::rtl::OUString;
+using ::com::sun::star::lang::XComponent;
using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::xml::sax;
@@ -64,6 +63,32 @@ PowerPointImport::~PowerPointImport()
{
}
+sal_Bool SAL_CALL PowerPointImport::filter( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rDescriptor ) throw( ::com::sun::star::uno::RuntimeException )
+{
+ if ( XmlFilterBase::filter( rDescriptor ) )
+ return true;
+
+ if ( isExportFilter() )
+ {
+ Reference< XExporter > xExporter( getServiceFactory()->createInstance( CREATE_OUSTRING( "com.sun.star.comp.Impress.OOXMLExporter" ) ), UNO_QUERY );
+
+ if ( xExporter.is() )
+ {
+ Reference< XComponent > xDocument( getModel(), UNO_QUERY );
+ Reference< XFilter > xFilter( xExporter, UNO_QUERY );
+
+ if ( xFilter.is() )
+ {
+ xExporter->setSourceDocument( xDocument );
+ if ( xFilter->filter( rDescriptor ) )
+ return true;
+ }
+ }
+ }
+
+ return false;
+}
+
bool PowerPointImport::importDocument() throw()
{
/* to activate the PPTX dumper, define the environment variable
@@ -75,8 +100,6 @@ bool PowerPointImport::importDocument()
FragmentHandlerRef xPresentationFragmentHandler( new PresentationFragmentHandler( *this, aFragmentPath ) );
maTableStyleListPath = xPresentationFragmentHandler->getFragmentPathFromFirstType( CREATE_OFFICEDOC_RELATION_TYPE( "tableStyles" ) );
return importFragment( xPresentationFragmentHandler );
-
-
}
bool PowerPointImport::exportDocument() throw()
Modified: openoffice/branches/ooxml/main/oox/source/xls/excelfilter.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/oox/source/xls/excelfilter.cxx?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/oox/source/xls/excelfilter.cxx (original)
+++ openoffice/branches/ooxml/main/oox/source/xls/excelfilter.cxx Fri Feb 28 04:44:42 2014
@@ -19,8 +19,6 @@
*
*************************************************************/
-
-
#include "oox/xls/excelfilter.hxx"
#include <com/sun/star/sheet/XSpreadsheetDocument.hpp>
@@ -47,6 +45,8 @@ using namespace ::com::sun::star::xml::s
using namespace ::oox::core;
using ::rtl::OUString;
+using ::com::sun::star::uno::UNO_QUERY;
+using ::com::sun::star::lang::XComponent;
using ::oox::drawingml::table::TableStyleListPtr;
// ============================================================================
@@ -109,6 +109,33 @@ ExcelFilter::~ExcelFilter()
{
}
+sal_Bool SAL_CALL ExcelFilter::filter( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rDescriptor ) throw( ::com::sun::star::uno::RuntimeException )
+{
+ if ( XmlFilterBase::filter( rDescriptor ) )
+ return true;
+
+ if ( isExportFilter() )
+ {
+ const Reference< XMultiServiceFactory > xFactory = getServiceFactory();
+ Reference< XExporter > xExporter( xFactory->createInstance( CREATE_OUSTRING( "com.sun.star.comp.Calc.OOXMLExporter" ) ), UNO_QUERY );
+
+ if ( xExporter.is() )
+ {
+ Reference< XFilter > xFilter( xExporter, UNO_QUERY );
+
+ if ( xFilter.is() )
+ {
+ Reference< XComponent > xDocument( getModel(), UNO_QUERY );
+ xExporter->setSourceDocument( xDocument );
+ if ( xFilter->filter( rDescriptor ) )
+ return true;
+ }
+ }
+ }
+
+ return false;
+}
+
bool ExcelFilter::importDocument() throw()
{
/* To activate the XLSX/XLSB dumper, insert the full path to the file
Modified: openoffice/branches/ooxml/main/oox/source/xls/stylesbuffer.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/oox/source/xls/stylesbuffer.cxx?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/oox/source/xls/stylesbuffer.cxx (original)
+++ openoffice/branches/ooxml/main/oox/source/xls/stylesbuffer.cxx Fri Feb 28 04:44:42 2014
@@ -19,8 +19,6 @@
*
*************************************************************/
-
-
#include "oox/xls/stylesbuffer.hxx"
#include <com/sun/star/awt/FontDescriptor.hpp>
@@ -2765,7 +2763,7 @@ OUString lclGetBuiltinStyleName( sal_Int
else
aStyleName.append( nBuiltinId );
if( (nBuiltinId == OOX_STYLE_ROWLEVEL) || (nBuiltinId == OOX_STYLE_COLLEVEL) )
- aStyleName.append( nLevel );
+ aStyleName.append( nLevel + 1 );
return aStyleName.makeStringAndClear();
}
Modified: openoffice/branches/ooxml/main/oox/util/makefile.mk
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/oox/util/makefile.mk?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/oox/util/makefile.mk (original)
+++ openoffice/branches/ooxml/main/oox/util/makefile.mk Fri Feb 28 04:44:42 2014
@@ -49,7 +49,8 @@ LIB1FILES= \
$(SLB)$/table.lib\
$(SLB)$/shape.lib\
$(SLB)$/dump.lib\
- $(SLB)$/docprop.lib
+ $(SLB)$/docprop.lib\
+ $(SLB)$/export.lib
# --- Shared-Library -----------------------------------------------
@@ -62,9 +63,17 @@ SHL1STDLIBS= \
$(CPPUHELPERLIB)\
$(COMPHELPERLIB)\
$(RTLLIB) \
+ $(TOOLSLIB) \
$(SALLIB) \
$(BASEGFXLIB) \
+ $(VCLLIB) \
$(SAXLIB) \
+ $(MSFILTERLIB) \
+ $(SVTOOLLIB) \
+ $(SVXLIB) \
+ $(SVXCORELIB) \
+ $(UNOTOOLSLIB) \
+ $(SVLLIB) \
$(XMLSCRIPTLIB)
# link openssl, copied this bit from ucb/source/ucp/webdav/makefile.mk
@@ -95,6 +104,6 @@ ALLTAR : $(MISC)/oox.component
$(MISC)/oox.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
oox.component
- $(XSLTPROC) --nonet --stringparam uri \
+ $(XSLTPROC) --nonet --stringparam uri \
'$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
$(SOLARENV)/bin/createcomponent.xslt oox.component
Modified: openoffice/branches/ooxml/main/postprocess/packcomponents/makefile.mk
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/postprocess/packcomponents/makefile.mk?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/postprocess/packcomponents/makefile.mk (original)
+++ openoffice/branches/ooxml/main/postprocess/packcomponents/makefile.mk Fri Feb 28 04:44:42 2014
@@ -19,8 +19,6 @@
#
#**************************************************************
-
-
PRJ = ..
PRJNAME = postprocess
TARGET = packcomponents
@@ -153,12 +151,14 @@ my_components = \
sb \
sc \
scd \
+ scfilt \
scn \
scriptframe \
sd \
sdbc2 \
sdbt \
sdd \
+ sdfilt \
simplecanvas \
slideshow \
sm \
Modified: openoffice/branches/ooxml/main/sc/inc/compiler.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/sc/inc/compiler.hxx?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/sc/inc/compiler.hxx (original)
+++ openoffice/branches/ooxml/main/sc/inc/compiler.hxx Fri Feb 28 04:44:42 2014
@@ -320,6 +320,7 @@ private:
bool mbCloseBrackets; // whether to close open brackets automatically, default TRUE
bool mbExtendedErrorDetection;
bool mbRewind; // whether symbol is to be rewound to some step during lexical analysis
+ LanguageType mnLang;
sal_Bool NextNewToken(bool bInArray = false);
@@ -351,6 +352,7 @@ public:
ScCompiler( ScDocument* pDocument, const ScAddress&,ScTokenArray& rArr);
public:
+ void SetUILang(LanguageType nLang) {mnLang = nLang;}
static void DeInit(); /// all
// for ScAddress::Format()
@@ -530,6 +532,7 @@ private:
virtual void CreateStringFromMatrix( rtl::OUStringBuffer& rBuffer, formula::FormulaToken* _pTokenP);
virtual void CreateStringFromIndex(rtl::OUStringBuffer& rBuffer,formula::FormulaToken* _pTokenP);
virtual void LocalizeString( String& rName ); // modify rName - input: exact name
+ virtual void LoadExcelString(String& rName);
virtual sal_Bool IsImportingXML() const;
/// Access the CharTable flags
Modified: openoffice/branches/ooxml/main/sc/inc/drwlayer.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/sc/inc/drwlayer.hxx?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/sc/inc/drwlayer.hxx (original)
+++ openoffice/branches/ooxml/main/sc/inc/drwlayer.hxx Fri Feb 28 04:44:42 2014
@@ -208,6 +208,7 @@ public:
// Verankerung setzen und ermitteln
static void SetAnchor( SdrObject*, ScAnchorType );
static ScAnchorType GetAnchor( const SdrObject* );
+ static ScAnchorType GetAnchorType( const SdrObject& );
// Positionen fuer Detektivlinien
static ScDrawObjData* GetObjData( SdrObject* pObj, sal_Bool bCreate=sal_False );
Modified: openoffice/branches/ooxml/main/sc/prj/d.lst
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/sc/prj/d.lst?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/sc/prj/d.lst (original)
+++ openoffice/branches/ooxml/main/sc/prj/d.lst Fri Feb 28 04:44:42 2014
@@ -34,4 +34,5 @@ mkdir: %_DEST%\xml%_EXT%\uiconfig\module
..\%__SRC%\bin\*-layout.zip %_DEST%\pck%_EXT%\*.*
..\%__SRC%\misc\sc.component %_DEST%\xml%_EXT%\sc.component
..\%__SRC%\misc\scd.component %_DEST%\xml%_EXT%\scd.component
+..\%__SRC%\misc\scfilt.component %_DEST%\xml%_EXT%\scfilt.component
..\%__SRC%\misc\vbaobj.component %_DEST%\xml%_EXT%\vbaobj.component
Modified: openoffice/branches/ooxml/main/sc/source/core/data/drwlayer.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/sc/source/core/data/drwlayer.cxx?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/sc/source/core/data/drwlayer.cxx (original)
+++ openoffice/branches/ooxml/main/sc/source/core/data/drwlayer.cxx Fri Feb 28 04:44:42 2014
@@ -1892,6 +1892,13 @@ ScAnchorType ScDrawLayer::GetAnchor( con
return ( aAnchor.Y() != 0 ) ? SCA_PAGE : SCA_CELL;
}
+ScAnchorType ScDrawLayer::GetAnchorType( const SdrObject &rObj )
+{
+ //If this object has a cell anchor associated with it
+ //then its cell-anchored, otherwise its page-anchored
+ return ScDrawLayer::GetObjData(const_cast<SdrObject*>(&rObj)) ? SCA_CELL : SCA_PAGE;
+}
+
ScDrawObjData* ScDrawLayer::GetObjData( SdrObject* pObj, sal_Bool bCreate ) // static
{
sal_uInt16 nCount = pObj ? pObj->GetUserDataCount() : 0;
Modified: openoffice/branches/ooxml/main/sc/source/core/tool/compiler.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/sc/source/core/tool/compiler.cxx?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/sc/source/core/tool/compiler.cxx (original)
+++ openoffice/branches/ooxml/main/sc/source/core/tool/compiler.cxx Fri Feb 28 04:44:42 2014
@@ -1792,13 +1792,14 @@ ScCompiler::ScCompiler( ScDocument* pDoc
pDoc( pDocument ),
aPos( rPos ),
pCharClass( ScGlobal::pCharClass ),
- mnPredetectedReference(0),
- mnRangeOpPosInSymbol(-1),
+ mnPredetectedReference( 0 ),
+ mnRangeOpPosInSymbol( -1 ),
pConv( pConvOOO_A1 ),
meEncodeUrlMode( ENCODE_BY_GRAMMAR ),
mbCloseBrackets( true ),
mbExtendedErrorDetection( false ),
- mbRewind( false )
+ mbRewind( false ),
+ mnLang( LANGUAGE_SYSTEM )
{
nMaxTab = pDoc ? pDoc->GetTableCount() - 1 : 0;
}
@@ -1814,7 +1815,8 @@ ScCompiler::ScCompiler( ScDocument* pDoc
meEncodeUrlMode( ENCODE_BY_GRAMMAR ),
mbCloseBrackets( true ),
mbExtendedErrorDetection( false ),
- mbRewind( false )
+ mbRewind( false ),
+ mnLang( LANGUAGE_SYSTEM )
{
nMaxTab = pDoc ? pDoc->GetTableCount() - 1 : 0;
}
@@ -5183,6 +5185,12 @@ void ScCompiler::LocalizeString( String&
{
ScGlobal::GetAddInCollection()->LocalizeString( rName );
}
+
+void ScCompiler::LoadExcelString(String& rName)
+{
+ ScGlobal::GetAddInCollection()->GetExcelName( rName, mnLang, rName );
+}
+
// -----------------------------------------------------------------------------
sal_Bool ScCompiler::IsImportingXML() const
{
Modified: openoffice/branches/ooxml/main/sc/source/filter/excel/excdoc.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ooxml/main/sc/source/filter/excel/excdoc.cxx?rev=1572819&r1=1572818&r2=1572819&view=diff
==============================================================================
--- openoffice/branches/ooxml/main/sc/source/filter/excel/excdoc.cxx (original)
+++ openoffice/branches/ooxml/main/sc/source/filter/excel/excdoc.cxx Fri Feb 28 04:44:42 2014
@@ -19,12 +19,9 @@
*
*************************************************************/
-
-
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sc.hxx"
-
//------------------------------------------------------------------------
#include "scitems.hxx"
@@ -80,6 +77,11 @@
#include <math.h>
+#include <com/sun/star/document/XDocumentProperties.hpp>
+#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
+
+#include <com/sun/star/document/XDocumentProperties.hpp>
+#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
using namespace ::oox;
using ::rtl::OString;
@@ -403,8 +405,9 @@ void ExcTable::FillAsHeader( ExcBoundshe
Add( new XclExpRecalcId );
- // MSODRAWINGGROUP per-document data
- aRecList.AppendRecord( GetObjectManager().CreateDrawingGroup() );
+ // MSODRAWINGGROUP per-document data
+ if( GetOutput() == EXC_OUTPUT_BINARY )
+ aRecList.AppendRecord( GetObjectManager().CreateDrawingGroup() );
// Shared string table: SST, EXTSST
aRecList.AppendRecord( CreateRecord( EXC_ID_SST ) );
@@ -427,7 +430,7 @@ void ExcTable::FillAsTable( SCTAB nCodeN
DBG_ASSERT( nExcTab <= static_cast<sal_uInt16>(MAXTAB), "-ExcTable::Table(): nExcTab - no ordinary table!" );
// create a new OBJ list for this sheet (may be used by notes, autofilter, data validation)
- if( eBiff == EXC_BIFF8 )
+ if( eBiff == EXC_BIFF8 && ( GetOutput() == EXC_OUTPUT_BINARY || GetOutput() == EXC_OUTPUT_XML_2007 ) )
GetObjectManager().StartSheet();
// cell table: DEFROWHEIGHT, DEFCOLWIDTH, COLINFO, DIMENSIONS, ROW, cell records
@@ -439,7 +442,6 @@ void ExcTable::FillAsTable( SCTAB nCodeN
return;
}
-
// WSBOOL needs data from page settings, create it here, add it later
ScfRef< XclExpPageSettings > xPageSett( new XclExpPageSettings( GetRoot() ) );
bool bFitToPages = xPageSett->GetPageData().mbFitToPages;
@@ -630,6 +632,9 @@ void ExcTable::FillAsXmlTable( SCTAB nCo
}
}
+ if (GetOutput() == EXC_OUTPUT_XML_2007 )//call mxObjList->EndSheet();
+ aRecList.AppendRecord( GetObjectManager().ProcessDrawing( GetSdrPage( mnScTab ) ) );
+
// EOF
Add( new ExcEof );
}
@@ -737,15 +742,15 @@ void ExcDocument::ReadDoc( void )
xTab->FillAsEmptyTable( nCodeNameIdx );
}
- if ( GetBiff() == EXC_BIFF8 )
- {
- // complete temporary Escher stream
+ if ( GetOutput() == EXC_OUTPUT_BINARY && GetBiff() == EXC_BIFF8 )
+ {
+ // complete temporary Escher stream
GetObjectManager().EndDocument();
- // change tracking
+ // change tracking
if ( GetDoc().GetChangeTrack() )
pExpChangeTrack = new XclExpChangeTrack( GetRoot() );
- }
+ }
}
@@ -780,48 +785,45 @@ void ExcDocument::Write( SvStream& rSvSt
pExpChangeTrack->Write();
}
-void ExcDocument::WriteXml( SvStream& rStrm )
+void ExcDocument::WriteXml( XclExpXmlStream& rStrm )
{
+ SfxObjectShell* pDocShell = GetDocShell();
+
+ using namespace ::com::sun::star;
+ uno::Reference<document::XDocumentPropertiesSupplier> xDPS( pDocShell->GetModel(), uno::UNO_QUERY_THROW );
+ uno::Reference<document::XDocumentProperties> xDocProps = xDPS->getDocumentProperties();
+
+ rStrm.exportDocumentProperties( xDocProps );
+
+ sax_fastparser::FSHelperPtr& rWorkbook = rStrm.GetCurrentStream();
+ rWorkbook->startElement( XML_workbook,
+ XML_xmlns, "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
+ FSNS(XML_xmlns, XML_r), "http://schemas.openxmlformats.org/officeDocument/2006/relationships",
+ FSEND );
+ rWorkbook->singleElement( XML_fileVersion,
+ XML_appName, "Calc",
+ // OOXTODO: XML_codeName
+ // OOXTODO: XML_lastEdited
+ // OOXTODO: XML_lowestEdited
+ // OOXTODO: XML_rupBuild
+ FSEND );
+
if( !maTableList.IsEmpty() )
{
InitializeSave();
- XclExpXmlStream aStrm( ::comphelper::getProcessComponentContext(), rStrm, GetRoot() );
-
- sax_fastparser::FSHelperPtr& rWorkbook = aStrm.GetCurrentStream();
- rWorkbook->startElement( XML_workbook,
- XML_xmlns, "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
- FSNS(XML_xmlns, XML_r), "http://schemas.openxmlformats.org/officeDocument/2006/relationships",
- FSEND );
- rWorkbook->singleElement( XML_fileVersion,
- XML_appName, "Calc",
- // OOXTODO: XML_codeName
- // OOXTODO: XML_lastEdited
- // OOXTODO: XML_lowestEdited
- // OOXTODO: XML_rupBuild
- FSEND );
-
- aHeader.WriteXml( aStrm );
+ aHeader.WriteXml( rStrm );
for( size_t nTab = 0, nTabCount = maTableList.GetSize(); nTab < nTabCount; ++nTab )
{
- // set current stream position in BOUNDSHEET record
-#if 0
- ExcBoundsheetRef xBoundsheet = maBoundsheetList.GetRecord( nTab );
- if( xBoundsheet.get() )
- xBoundsheet->SetStreamPos( aXclStrm.GetSvStreamPos() );
-#endif
// write the table
- maTableList.GetRecord( nTab )->WriteXml( aStrm );
+ maTableList.GetRecord( nTab )->WriteXml( rStrm );
}
-
- rWorkbook->endElement( XML_workbook );
- rWorkbook.reset();
- aStrm.commitStorage();
}
-#if 0
- if( pExpChangeTrack )
- pExpChangeTrack->WriteXml();
-#endif
+
+ rWorkbook->endElement( XML_workbook );
+ rWorkbook.reset();
+
+ rStrm.commitStorage();
}