[Libreoffice-commits] .: 9 commits - sc/source
Jan Holesovsky
kendy at kemper.freedesktop.org
Tue Nov 16 00:41:42 PST 2010
sc/source/core/data/documen4.cxx | 7 ++++++-
sc/source/core/data/dptablecache.cxx | 18 ++++++++++++++----
sc/source/filter/xcl97/xcl97rec.cxx | 2 +-
sc/source/ui/view/output2.cxx | 13 +++++++++++--
4 files changed, 32 insertions(+), 8 deletions(-)
New commits:
commit a5630fbea3e95775e717a437b8da23a7736de816
Merge: d56e3d0... 5a946db...
Author: Jan Holesovsky <kendy at suse.cz>
Date: Tue Nov 16 09:17:30 2010 +0100
Merge remote branch 'origin/libreoffice-3-3'
Conflicts:
sc/source/core/data/dptablecache.cxx
diff --cc sc/source/core/data/dptablecache.cxx
index b9cdbe8,bc97696..d4a3e1b
--- a/sc/source/core/data/dptablecache.cxx
+++ b/sc/source/core/data/dptablecache.cxx
@@@ -29,10 -29,9 +29,9 @@@
* for a copy of the LGPLv3 License.
*
************************************************************************/
- // MARKER(update_precomp.py): autogen include statement, do not remove
+// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sc.hxx"
-// INCLUDE ---------------------------------------------------------------
+
- // INCLUDE ---------------------------------------------------------------
#include "dptablecache.hxx"
#include "document.hxx"
#include "cell.hxx"
@@@ -51,6 -49,6 +50,7 @@@
#include <com/sun/star/sdbc/XRowSet.hpp>
#include <com/sun/star/sdbc/XResultSetMetaData.hpp>
#include <com/sun/star/sdbc/XResultSetMetaDataSupplier.hpp>
++
const double D_TIMEFACTOR = 86400.0;
using namespace ::com::sun::star;
@@@ -191,7 -202,11 +191,10 @@@ ScDPItemData::ScDPItemData( ScDocument
ScBaseCell* pCell = pDoc->GetCell( aPos );
if ( pCell && pCell->GetCellType() == CELLTYPE_FORMULA && ((ScFormulaCell*)pCell)->GetErrCode() )
+ {
- SetString ( aDocStr ); //[SODC_19347] add liyi
- //bErr = TRUE; //[SODC_19347] del liyi
+ SetString ( aDocStr );
+ mbFlag |= MK_ERR;
+ }
else if ( pDoc->HasValueData( nCol, nRow, nDocTab ) )
{
double fVal = pDoc->GetValue(ScAddress(nCol, nRow, nDocTab));
@@@ -612,173 -649,182 +615,180 @@@ ULONG ScDPTableDataCache::GetDimNumType
return GetNumType(mpTableDataValues[nDim][0]->nNumFormat);
}
-// -----------------------------------------------------------------------
-bool ScDPTableDataCache::ValidQuery( SCROW nRow, const ScQueryParam &rParam, BOOL *pSpecial)
+bool ScDPTableDataCache::ValidQuery( SCROW nRow, const ScQueryParam &rParam, bool *pSpecial)
{ //Copied and modified from ScTable::ValidQuery
- if (!rParam.GetEntry(0).bDoQuery)
- return TRUE;
- BOOL bMatchWholeCell = mpDoc->GetDocOptions().IsMatchWholeCell();
-
- //---------------------------------------------------------------
-
- const SCSIZE nFixedBools = 32;
- BOOL aBool[nFixedBools];
- BOOL aTest[nFixedBools];
- SCSIZE nEntryCount = rParam.GetEntryCount();
- BOOL* pPasst = ( nEntryCount <= nFixedBools ? &aBool[0] : new BOOL[nEntryCount] );
- BOOL* pTest = ( nEntryCount <= nFixedBools ? &aTest[0] : new BOOL[nEntryCount] );
-
- long nPos = -1;
- SCSIZE i = 0;
- CollatorWrapper* pCollator = (rParam.bCaseSens ? ScGlobal::GetCaseCollator() :
- ScGlobal::GetCollator() );
- ::utl::TransliterationWrapper* pTransliteration = (rParam.bCaseSens ?
- ScGlobal::GetCaseTransliteration() : ScGlobal::GetpTransliteration());
-
- while ( (i < nEntryCount) && rParam.GetEntry(i).bDoQuery )
+ if (!rParam.GetEntry(0).bDoQuery)
+ return true;
- bool bMatchWholeCell = mpDoc->GetDocOptions().IsMatchWholeCell();
++ bool bMatchWholeCell = mpDoc->GetDocOptions().IsMatchWholeCell();
+
+ //---------------------------------------------------------------
+
+ const SCSIZE nFixedBools = 32;
+ bool aBool[nFixedBools];
+ bool aTest[nFixedBools];
+ SCSIZE nEntryCount = rParam.GetEntryCount();
+ bool* pPasst = ( nEntryCount <= nFixedBools ? &aBool[0] : new bool[nEntryCount] );
+ bool* pTest = ( nEntryCount <= nFixedBools ? &aTest[0] : new bool[nEntryCount] );
+
+ long nPos = -1;
+ SCSIZE i = 0;
+ CollatorWrapper* pCollator = (rParam.bCaseSens ? ScGlobal::GetCaseCollator() :
+ ScGlobal::GetCollator() );
+ ::utl::TransliterationWrapper* pTransliteration = (rParam.bCaseSens ?
+ ScGlobal::GetCaseTransliteration() : ScGlobal::GetpTransliteration());
+
+ while ((i < nEntryCount) && rParam.GetEntry(i).bDoQuery)
+ {
+ ScQueryEntry& rEntry = rParam.GetEntry(i);
+ // we can only handle one single direct query
- SCROW nId = GetItemDataId( (SCCOL)rEntry.nField, nRow, false );
- const ScDPItemData* pCellData = GetItemDataById( (SCCOL)rEntry.nField, nId);
++ // #i115431# nField in QueryParam is the sheet column, not the field within the source range
++ SCCOL nQueryCol = (SCCOL)rEntry.nField;
++ if ( nQueryCol < rParam.nCol1 )
++ nQueryCol = rParam.nCol1;
++ if ( nQueryCol > rParam.nCol2 )
++ nQueryCol = rParam.nCol2;
++ SCCOL nSourceField = nQueryCol - rParam.nCol1;
++ SCROW nId = GetItemDataId( nSourceField, nRow, FALSE );
++ const ScDPItemData* pCellData = GetItemDataById( nSourceField, nId );
+
+ bool bOk = false;
+ bool bTestEqual = false;
+
+ if (pSpecial && pSpecial[i])
{
- ScQueryEntry& rEntry = rParam.GetEntry(i);
- // we can only handle one single direct query
- // #i115431# nField in QueryParam is the sheet column, not the field within the source range
- SCCOL nQueryCol = (SCCOL)rEntry.nField;
- if ( nQueryCol < rParam.nCol1 )
- nQueryCol = rParam.nCol1;
- if ( nQueryCol > rParam.nCol2 )
- nQueryCol = rParam.nCol2;
- SCCOL nSourceField = nQueryCol - rParam.nCol1;
- SCROW nId = GetItemDataId( nSourceField, nRow, FALSE );
- const ScDPItemData* pCellData = GetItemDataById( nSourceField, nId );
-
- BOOL bOk = FALSE;
- BOOL bTestEqual = FALSE;
-
- if ( pSpecial && pSpecial[i] )
+ if (rEntry.nVal == SC_EMPTYFIELDS)
+ bOk = ! pCellData->IsHasData();
+ else // if (rEntry.nVal == SC_NONEMPTYFIELDS)
+ bOk = pCellData->IsHasData();
+ }
+ else if (!rEntry.bQueryByString && pCellData->IsValue())
+ { // by Value
+ double nCellVal = pCellData->GetValue();
+
+ switch (rEntry.eOp)
{
- if (rEntry.nVal == SC_EMPTYFIELDS)
- bOk = ! pCellData->IsHasData();
- else // if (rEntry.nVal == SC_NONEMPTYFIELDS)
- bOk = pCellData->IsHasData();
+ case SC_EQUAL :
+ bOk = ::rtl::math::approxEqual( nCellVal, rEntry.nVal );
+ break;
+ case SC_LESS :
+ bOk = (nCellVal < rEntry.nVal) && !::rtl::math::approxEqual( nCellVal, rEntry.nVal );
+ break;
+ case SC_GREATER :
+ bOk = (nCellVal > rEntry.nVal) && !::rtl::math::approxEqual( nCellVal, rEntry.nVal );
+ break;
+ case SC_LESS_EQUAL :
+ bOk = (nCellVal < rEntry.nVal) || ::rtl::math::approxEqual( nCellVal, rEntry.nVal );
+ break;
+ case SC_GREATER_EQUAL :
+ bOk = (nCellVal > rEntry.nVal) || ::rtl::math::approxEqual( nCellVal, rEntry.nVal );
+ break;
+ case SC_NOT_EQUAL :
+ bOk = !::rtl::math::approxEqual( nCellVal, rEntry.nVal );
+ break;
+ default:
+ bOk= false;
+ break;
}
- else if ( !rEntry.bQueryByString && pCellData->IsValue() )
- { // by Value
- double nCellVal = pCellData->GetValue();
-
- switch (rEntry.eOp)
- {
- case SC_EQUAL :
- bOk = ::rtl::math::approxEqual( nCellVal, rEntry.nVal );
- break;
- case SC_LESS :
- bOk = (nCellVal < rEntry.nVal) && !::rtl::math::approxEqual( nCellVal, rEntry.nVal );
- break;
- case SC_GREATER :
- bOk = (nCellVal > rEntry.nVal) && !::rtl::math::approxEqual( nCellVal, rEntry.nVal );
- break;
- case SC_LESS_EQUAL :
- bOk = (nCellVal < rEntry.nVal) || ::rtl::math::approxEqual( nCellVal, rEntry.nVal );
- break;
- case SC_GREATER_EQUAL :
- bOk = (nCellVal > rEntry.nVal) || ::rtl::math::approxEqual( nCellVal, rEntry.nVal );
- break;
- case SC_NOT_EQUAL :
- bOk = !::rtl::math::approxEqual( nCellVal, rEntry.nVal );
- break;
- default:
- bOk= FALSE;
- break;
- }
- }
- else if ( (rEntry.eOp == SC_EQUAL || rEntry.eOp == SC_NOT_EQUAL)
- || (rEntry.bQueryByString
- && pCellData->HasStringData() )
+ }
+ else if ((rEntry.eOp == SC_EQUAL || rEntry.eOp == SC_NOT_EQUAL)
+ || (rEntry.bQueryByString
+ && pCellData->HasStringData() )
)
- { // by String
- String aCellStr = pCellData->GetString();
+ { // by String
+ String aCellStr = pCellData->GetString();
- BOOL bRealRegExp = (rParam.bRegExp && ((rEntry.eOp == SC_EQUAL)
- || (rEntry.eOp == SC_NOT_EQUAL)));
- BOOL bTestRegExp = FALSE;
- if ( bRealRegExp || bTestRegExp )
- {
- xub_StrLen nStart = 0;
- xub_StrLen nEnd = aCellStr.Len();
- BOOL bMatch = (BOOL) rEntry.GetSearchTextPtr( rParam.bCaseSens )
- ->SearchFrwrd( aCellStr, &nStart, &nEnd );
- // from 614 on, nEnd is behind the found text
- if ( bMatch && bMatchWholeCell
- && (nStart != 0 || nEnd != aCellStr.Len()) )
- bMatch = FALSE; // RegExp must match entire cell string
- if ( bRealRegExp )
- bOk = ((rEntry.eOp == SC_NOT_EQUAL) ? !bMatch : bMatch);
- else
- bTestEqual = bMatch;
- }
- if ( !bRealRegExp )
+ bool bRealRegExp = (rParam.bRegExp && ((rEntry.eOp == SC_EQUAL)
+ || (rEntry.eOp == SC_NOT_EQUAL)));
+ bool bTestRegExp = false;
+ if (bRealRegExp || bTestRegExp)
+ {
+ xub_StrLen nStart = 0;
+ xub_StrLen nEnd = aCellStr.Len();
+ bool bMatch = (bool) rEntry.GetSearchTextPtr( rParam.bCaseSens )
+ ->SearchFrwrd( aCellStr, &nStart, &nEnd );
+ // from 614 on, nEnd is behind the found text
+ if (bMatch && bMatchWholeCell
+ && (nStart != 0 || nEnd != aCellStr.Len()))
+ bMatch = false; // RegExp must match entire cell string
+ if (bRealRegExp)
+ bOk = ((rEntry.eOp == SC_NOT_EQUAL) ? !bMatch : bMatch);
+ else
+ bTestEqual = bMatch;
+ }
+ if (!bRealRegExp)
+ {
+ if (rEntry.eOp == SC_EQUAL || rEntry.eOp == SC_NOT_EQUAL)
{
- if ( rEntry.eOp == SC_EQUAL || rEntry.eOp == SC_NOT_EQUAL )
+ if (bMatchWholeCell)
{
- if ( bMatchWholeCell )
+ bOk = pTransliteration->isEqual( aCellStr, *rEntry.pStr );
+ //Added by zhaosz,for sodc_2702,20060808
+ String aStr = *rEntry.pStr;//"f*"
+ //modified by weihuaw,for SODC_16698
+ //use another way to find "*" in aStr
+ sal_Bool bHasStar = sal_False;
+ xub_StrLen nIndex;
+ if (( nIndex = aStr.Search('*') ) != STRING_NOTFOUND)
+ bHasStar = sal_True;
+ if (bHasStar && (nIndex>0))
{
- bOk = pTransliteration->isEqual( aCellStr, *rEntry.pStr );
- //Added by zhaosz,for sodc_2702,20060808
- String aStr = *rEntry.pStr;//"f*"
- //modified by weihuaw,for SODC_16698
- //use another way to find "*" in aStr
- sal_Bool bHasStar = sal_False;
- xub_StrLen nIndex;
- if( ( nIndex = aStr.Search('*') ) != STRING_NOTFOUND )
- bHasStar = sal_True;
- if(bHasStar && (nIndex>0))
+ for (i=0;(i<nIndex) && (i< aCellStr.Len()) ; i++)
{
- for(i=0;(i<nIndex) && (i< aCellStr.Len()) ; i++)
+ if (aCellStr.GetChar( (USHORT)i ) == aStr.GetChar((USHORT) i ))
{
- if(aCellStr.GetChar( (USHORT)i ) == aStr.GetChar((USHORT) i ))
- {
- bOk=1;
- }
- else
- {
- bOk=0;
- break;
- }
+ bOk=1;
+ }
+ else
+ {
+ bOk=0;
+ break;
}
}
- //end modified
- //Added end,20060808
- }
- else
- {
- ::com::sun::star::uno::Sequence< sal_Int32 > xOff;
- String aCell( pTransliteration->transliterate(
- aCellStr, ScGlobal::eLnge, 0, aCellStr.Len(),
- &xOff ) );
- String aQuer( pTransliteration->transliterate(
- *rEntry.pStr, ScGlobal::eLnge, 0, rEntry.pStr->Len(),
- &xOff ) );
- bOk = (aCell.Search( aQuer ) != STRING_NOTFOUND);
}
- if ( rEntry.eOp == SC_NOT_EQUAL )
- bOk = !bOk;
+ //end modified
+ //Added end,20060808
}
else
- { // use collator here because data was probably sorted
- sal_Int32 nCompare = pCollator->compareString(
- aCellStr, *rEntry.pStr );
- switch (rEntry.eOp)
- {
- case SC_LESS :
- bOk = (nCompare < 0);
- break;
- case SC_GREATER :
- bOk = (nCompare > 0);
- break;
- case SC_LESS_EQUAL :
- bOk = (nCompare <= 0);
- break;
- case SC_GREATER_EQUAL :
- bOk = (nCompare >= 0);
- break;
- case SC_NOT_EQUAL:
- DBG_ASSERT( false , "SC_NOT_EQUAL");
- break;
- case SC_TOPVAL:
- case SC_BOTVAL:
- case SC_TOPPERC:
- case SC_BOTPERC:
- default:
- break;
- }
+ {
+ ::com::sun::star::uno::Sequence< sal_Int32 > xOff;
+ String aCell( pTransliteration->transliterate(
+ aCellStr, ScGlobal::eLnge, 0, aCellStr.Len(),
+ &xOff ) );
+ String aQuer( pTransliteration->transliterate(
+ *rEntry.pStr, ScGlobal::eLnge, 0, rEntry.pStr->Len(),
+ &xOff ) );
+ bOk = (aCell.Search( aQuer ) != STRING_NOTFOUND);
+ }
+ if (rEntry.eOp == SC_NOT_EQUAL)
+ bOk = !bOk;
+ }
+ else
+ { // use collator here because data was probably sorted
+ sal_Int32 nCompare = pCollator->compareString(
+ aCellStr, *rEntry.pStr );
+ switch (rEntry.eOp)
+ {
+ case SC_LESS :
+ bOk = (nCompare < 0);
+ break;
+ case SC_GREATER :
+ bOk = (nCompare > 0);
+ break;
+ case SC_LESS_EQUAL :
+ bOk = (nCompare <= 0);
+ break;
+ case SC_GREATER_EQUAL :
+ bOk = (nCompare >= 0);
+ break;
+ case SC_NOT_EQUAL:
+ DBG_ASSERT( false , "SC_NOT_EQUAL");
+ break;
+ case SC_TOPVAL:
+ case SC_BOTVAL:
+ case SC_TOPPERC:
+ case SC_BOTPERC:
+ default:
+ break;
}
}
}
commit 5a946db883d73807253caafa44d197f7acfb48da
Merge: b4feaa9... b6ea51b...
Author: Jan Holesovsky <kendy at suse.cz>
Date: Tue Nov 16 09:00:38 2010 +0100
Merge commit 'ooo/OOO330_m15' into libreoffice-3-3
commit b4feaa937670e58b2a0a6209c0f76674af35dea4
Merge: 8f416ac... 4b11ada...
Author: Tor Lillqvist <tml at hemulen.(none)>
Date: Fri Nov 12 15:07:18 2010 +0200
Merge branch 'feature/pptx-export-ooxml11' into libreoffice-3-3
commit b6ea51bd625595ff923a1695b2137e476aaa0d52
Merge: c74ef57... e89b22d...
Author: obo <obo at openoffice.org>
Date: Fri Nov 12 07:50:26 2010 +0100
CWS-TOOLING: integrate CWS calc63
commit e89b22dab8ee99c494150d5ccd1f78ba0c8fe502
Author: Niklas Nebel <nn at openoffice.org>
Date: Thu Nov 11 13:13:58 2010 +0100
calc63: #i115512# RoundValueAsShown: don't round to -1 digits for unlimited precision
diff --git a/sc/source/core/data/documen4.cxx b/sc/source/core/data/documen4.cxx
index cbd55fd..d2cbca2 100644
--- a/sc/source/core/data/documen4.cxx
+++ b/sc/source/core/data/documen4.cxx
@@ -505,7 +505,7 @@ double ScDocument::RoundValueAsShown( double fVal, ULONG nFormat )
&& nType != NUMBERFORMAT_TIME && nType != NUMBERFORMAT_DATETIME )
{
short nPrecision;
- if ( nFormat )
+ if ((nFormat % SV_COUNTRY_LANGUAGE_OFFSET) != 0)
{
nPrecision = (short)GetFormatTable()->GetFormatPrecision( nFormat );
switch ( nType )
@@ -524,7 +524,12 @@ double ScDocument::RoundValueAsShown( double fVal, ULONG nFormat )
}
}
else
+ {
nPrecision = (short)GetDocOptions().GetStdPrecision();
+ // #i115512# no rounding for automatic decimals
+ if (nPrecision == static_cast<short>(SvNumberFormatter::UNLIMITED_PRECISION))
+ return fVal;
+ }
double fRound = ::rtl::math::round( fVal, nPrecision );
if ( ::rtl::math::approxEqual( fVal, fRound ) )
return fVal; // durch Rundung hoechstens Fehler
commit c74ef5767ef2f670aab7401bb331bf8a0ba83c17
Merge: 2d9884e... a92726b...
Author: obo <obo at openoffice.org>
Date: Tue Nov 9 12:20:56 2010 +0100
CWS-TOOLING: integrate CWS calc62
commit a92726be8f251b1cd4d8c0c9413308ee3011ef55
Author: Niklas Nebel <nn at openoffice.org>
Date: Mon Nov 8 17:59:01 2010 +0100
calc62: #i115431# if #VALUE! doesn't fit into the cell, always use hashes
diff --git a/sc/source/ui/view/output2.cxx b/sc/source/ui/view/output2.cxx
index e26056b..aff5a5a 100644
--- a/sc/source/ui/view/output2.cxx
+++ b/sc/source/ui/view/output2.cxx
@@ -529,9 +529,18 @@ void ScDrawStringsVars::SetTextToWidthOrHash( ScBaseCell* pCell, long nWidth )
// must be a value or formula cell.
return;
- if (eType == CELLTYPE_FORMULA && !static_cast<ScFormulaCell*>(pCell)->IsValue())
+ if (eType == CELLTYPE_FORMULA)
+ {
+ ScFormulaCell* pFCell = static_cast<ScFormulaCell*>(pCell);
+ if (pFCell->GetErrCode() != 0)
+ {
+ SetHashText(); // If the error string doesn't fit, always use "###"
+ return;
+ }
// If it's formula, the result must be a value.
- return;
+ if (!pFCell->IsValue())
+ return;
+ }
ULONG nFormat = GetValueFormat();
if ((nFormat % SV_COUNTRY_LANGUAGE_OFFSET) != 0)
commit e939353f9c1486f149a481b25a2c57103189c9bb
Author: Niklas Nebel <nn at openoffice.org>
Date: Mon Nov 8 16:24:12 2010 +0100
calc62: #i115431# treat DataPilot filter field numbers as relative to the sheet, set MK_ERR bit for errors
diff --git a/sc/source/core/data/dptablecache.cxx b/sc/source/core/data/dptablecache.cxx
old mode 100755
new mode 100644
index f350e86..4f445e8
--- a/sc/source/core/data/dptablecache.cxx
+++ b/sc/source/core/data/dptablecache.cxx
@@ -201,8 +201,11 @@ ScDPItemData::ScDPItemData( ScDocument* pDoc, SCROW nRow, USHORT nCol, USHORT nD
ScBaseCell* pCell = pDoc->GetCell( aPos );
if ( pCell && pCell->GetCellType() == CELLTYPE_FORMULA && ((ScFormulaCell*)pCell)->GetErrCode() )
+ {
SetString ( aDocStr ); //[SODC_19347] add liyi
//bErr = TRUE; //[SODC_19347] del liyi
+ mbFlag |= MK_ERR;
+ }
else if ( pDoc->HasValueData( nCol, nRow, nDocTab ) )
{
double fVal = pDoc->GetValue(ScAddress(nCol, nRow, nDocTab));
@@ -672,8 +675,15 @@ bool ScDPTableDataCache::ValidQuery( SCROW nRow, const ScQueryParam &rParam, BOO
{
ScQueryEntry& rEntry = rParam.GetEntry(i);
// we can only handle one single direct query
- SCROW nId = GetItemDataId( (SCCOL)rEntry.nField, nRow, FALSE );
- const ScDPItemData* pCellData = GetItemDataById( (SCCOL)rEntry.nField, nId);
+ // #i115431# nField in QueryParam is the sheet column, not the field within the source range
+ SCCOL nQueryCol = (SCCOL)rEntry.nField;
+ if ( nQueryCol < rParam.nCol1 )
+ nQueryCol = rParam.nCol1;
+ if ( nQueryCol > rParam.nCol2 )
+ nQueryCol = rParam.nCol2;
+ SCCOL nSourceField = nQueryCol - rParam.nCol1;
+ SCROW nId = GetItemDataId( nSourceField, nRow, FALSE );
+ const ScDPItemData* pCellData = GetItemDataById( nSourceField, nId );
BOOL bOk = FALSE;
BOOL bTestEqual = FALSE;
commit 4b11adaf8ae282636c1a7f400485dca90c7f8f3a
Author: Tor Lillqvist <tlillqvist at novell.com>
Date: Sun Nov 7 23:14:30 2010 +0200
Fix compilation error
diff --git a/sc/source/filter/xcl97/xcl97rec.cxx b/sc/source/filter/xcl97/xcl97rec.cxx
index 6564c7a..921e58a 100644
--- a/sc/source/filter/xcl97/xcl97rec.cxx
+++ b/sc/source/filter/xcl97/xcl97rec.cxx
@@ -1031,7 +1031,7 @@ void XclObjAny::SaveXml( XclExpXmlStream& rStrm )
sax_fastparser::FSHelperPtr pDrawing = rStrm.GetCurrentStream();
- ShapeExport aDML( XML_xdr, pDrawing, &rStrm, DrawingML::DOCUMENT_XLSX );
+ ShapeExport aDML( XML_xdr, pDrawing, NULL, &rStrm, DrawingML::DOCUMENT_XLSX );
pDrawing->startElement( FSNS( XML_xdr, XML_twoCellAnchor ), // OOXTODO: oneCellAnchor, absoluteAnchor
XML_editAs, GetEditAs( *this ),
More information about the Libreoffice-commits
mailing list