update ooo310-m15
[ooovba.git] / applied_patches / 0468-oox-import-chart-externalref.diff
blobe249f55ef884d4b392db1aef212bd8a1f3b10ff0
1 diff --git oox/inc/oox/xls/formulaparser.hxx oox/inc/oox/xls/formulaparser.hxx
2 index fa3b86e..6bf27a2 100644
3 --- oox/inc/oox/xls/formulaparser.hxx
4 +++ oox/inc/oox/xls/formulaparser.hxx
5 @@ -86,6 +86,8 @@ public:
6 const ::rtl::OUString& rUrl,
7 double fValue ) const;
9 + ::rtl::OUString printFormulaTokens( ApiTokenSequence const& rTokens );
11 private:
12 ::std::auto_ptr< FormulaParserImpl > mxImpl;
14 diff --git oox/source/xls/excelchartconverter.cxx oox/source/xls/excelchartconverter.cxx
15 index cf9f986..a1ce829 100644
16 --- oox/source/xls/excelchartconverter.cxx
17 +++ oox/source/xls/excelchartconverter.cxx
18 @@ -93,10 +93,8 @@ Reference< XDataSequence > ExcelChartConverter::createDataSequence(
19 aContext.setBaseAddress( CellAddress( getCurrentSheetIndex(), 0, 0 ) );
20 rParser.importFormula( aContext, rDataSeq.maFormula );
22 - // create a range list from the token sequence
23 - ApiCellRangeList aRanges;
24 - rParser.extractCellRangeList( aRanges, aContext.getTokens() );
25 - aRangeRep = rParser.generateApiRangeListString( aRanges );
26 + // create a range representation string from the token sequence.
27 + aRangeRep = rParser.printFormulaTokens( aContext.getTokens() );
29 else if( !rDataSeq.maData.empty() )
31 diff --git oox/source/xls/formulaparser.cxx oox/source/xls/formulaparser.cxx
32 index 161802b..12d610b 100644
33 --- oox/source/xls/formulaparser.cxx
34 +++ oox/source/xls/formulaparser.cxx
35 @@ -73,6 +73,8 @@ class FormulaParserImpl : public OpCodeProvider
36 public:
37 explicit FormulaParserImpl( const OpCodeProvider& rOpCodeProv );
39 + virtual ::rtl::OUString printFormulaTokens( ApiTokenSequence const& rTokens );
41 /** Converts an XML formula string. */
42 virtual void importOoxFormula(
43 FormulaContext& rContext,
44 @@ -248,6 +250,12 @@ FormulaParserImpl::FormulaParserImpl( const OpCodeProvider& rOpCodeProv ) :
45 maClosingSpaces.reserve( 256 );
48 +OUString FormulaParserImpl::printFormulaTokens( ApiTokenSequence const& )
50 + // not implemented...
51 + return OUString();
54 void FormulaParserImpl::importOoxFormula( FormulaContext&, const OUString& )
56 OSL_ENSURE( false, "FormulaParserImpl::importOoxFormula - not implemented" );
57 @@ -1214,6 +1222,8 @@ public:
58 FormulaContext& rContext,
59 RecordInputStream& rStrm );
61 + virtual OUString printFormulaTokens( ApiTokenSequence const& rTokens );
63 private:
64 // import token contents and create API formula token ---------------------
66 @@ -1393,6 +1403,17 @@ void OoxFormulaParserImpl::importOobFormula( FormulaContext& rContext, RecordInp
67 rStrm.seek( nAddDataEndPos );
70 +OUString OoxFormulaParserImpl::printFormulaTokens( ApiTokenSequence const& rTokens )
72 + sal_Int16 saveFC;
73 + OUString const FormulaConvention = CREATE_OUSTRING( "FormulaConvention" );
74 + maParserProps.getProperty( saveFC, FormulaConvention );
75 + maParserProps.setProperty( FormulaConvention, ::com::sun::star::sheet::AddressConvention::OOO );
76 + OUString oooTokens = mxParser->printFormula( rTokens );
77 + maParserProps.setProperty( FormulaConvention, saveFC );
78 + return oooTokens;
81 // import token contents and create API formula token -------------------------
83 bool OoxFormulaParserImpl::importAttrToken( RecordInputStream& rStrm )
84 @@ -2785,6 +2806,11 @@ void FormulaParser::convertNumberToHyperlink( FormulaContext& rContext, const OU
88 +OUString FormulaParser::printFormulaTokens( ApiTokenSequence const& rTokens )
90 + return mxImpl->printFormulaTokens( rTokens );
93 // ============================================================================
95 } // namespace xls