[Libreoffice-commits] .: 2 commits - chart2/source sc/inc sc/source svl/inc svl/source
Markus Mohrhard
mmohrhard at kemper.freedesktop.org
Mon Mar 5 13:16:46 PST 2012
chart2/source/view/axes/VCartesianAxis.cxx | 70 ++++++-----------
chart2/source/view/axes/VCartesianAxis.hxx | 4
sc/inc/cell.hxx | 18 +---
sc/inc/compiler.hxx | 1
sc/source/core/data/cell.cxx | 55 +++++--------
sc/source/core/data/cell2.cxx | 32 +++----
sc/source/core/data/table6.cxx | 47 ++++++-----
sc/source/core/tool/cellform.cxx | 38 ++++-----
sc/source/core/tool/compiler.cxx | 8 +
sc/source/core/tool/interpr1.cxx | 2
sc/source/filter/xml/XMLChangeTrackingExportHelper.cxx | 2
sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx | 10 --
sc/source/ui/docshell/impex.cxx | 4
sc/source/ui/unoobj/cellsuno.cxx | 2
sc/source/ui/view/output2.cxx | 6 -
sc/source/ui/view/viewfun4.cxx | 4
svl/inc/svl/zforlist.hxx | 11 ++
svl/source/numbers/zforlist.cxx | 43 ++++++++++
18 files changed, 197 insertions(+), 160 deletions(-)
New commits:
commit a1410ef073d2117cb2a3c9d9a4e9ecff7d911344
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Mon Mar 5 22:05:51 2012 +0100
move some auto_ptr to boost::scoped_ptr
diff --git a/chart2/source/view/axes/VCartesianAxis.cxx b/chart2/source/view/axes/VCartesianAxis.cxx
index 8291efb..264450d 100644
--- a/chart2/source/view/axes/VCartesianAxis.cxx
+++ b/chart2/source/view/axes/VCartesianAxis.cxx
@@ -51,7 +51,7 @@
#include <svx/unoshtxt.hxx>
#include <algorithm>
-#include <memory>
+#include <boost/scoped_ptr.hpp>
//.............................................................................
namespace chart
@@ -553,17 +553,14 @@ void VCartesianAxis::createAllTickInfos( ::std::vector< ::std::vector< TickInfo
VAxisBase::createAllTickInfos(rAllTickInfos);
}
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
-::std::auto_ptr< TickIter > VCartesianAxis::createLabelTickIterator( sal_Int32 nTextLevel )
+TickIter* VCartesianAxis::createLabelTickIterator( sal_Int32 nTextLevel )
{
if( nTextLevel>=0 && nTextLevel < static_cast< sal_Int32 >(m_aAllTickInfos.size()) )
- return ::std::auto_ptr< TickIter >( new PureTickIter( m_aAllTickInfos[nTextLevel] ) );
- return ::std::auto_ptr< TickIter >();
+ new PureTickIter( m_aAllTickInfos[nTextLevel] );
+ return NULL;
}
-SAL_WNODEPRECATED_DECLARATIONS_POP
-SAL_WNODEPRECATED_DECLARATIONS_PUSH
-::std::auto_ptr< TickIter > VCartesianAxis::createMaximumLabelTickIterator( sal_Int32 nTextLevel )
+TickIter* VCartesianAxis::createMaximumLabelTickIterator( sal_Int32 nTextLevel )
{
if( isComplexCategoryAxis() || isDateAxis() )
{
@@ -576,13 +573,12 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH
if( !m_aAllTickInfos.empty() )
{
sal_Int32 nLongestLabelIndex = m_bUseTextLabels ? this->getIndexOfLongestLabel( m_aTextLabels ) : 0;
- return ::std::auto_ptr< TickIter >( new MaxLabelTickIter( m_aAllTickInfos[0], nLongestLabelIndex ) );
+ new MaxLabelTickIter( m_aAllTickInfos[0], nLongestLabelIndex );
}
}
}
- return ::std::auto_ptr< TickIter >();
+ return NULL;
}
-SAL_WNODEPRECATED_DECLARATIONS_POP
sal_Int32 VCartesianAxis::getTextLevelCount() const
{
@@ -1332,16 +1328,14 @@ void VCartesianAxis::doStaggeringOfLabels( const AxisLabelProperties& rAxisLabel
B2DVector aCummulatedLabelsDistance(0,0);
for( sal_Int32 nTextLevel=0; nTextLevel<nTextLevelCount; nTextLevel++ )
{
- SAL_WNODEPRECATED_DECLARATIONS_PUSH
- ::std::auto_ptr< TickIter > apTickIter = createLabelTickIterator( nTextLevel );
- SAL_WNODEPRECATED_DECLARATIONS_POP
- if(apTickIter.get())
- {
- double fRotationAngleDegree = m_aAxisLabelProperties.fRotationAngleDegree;
- aCummulatedLabelsDistance += lcl_getLabelsDistance( *apTickIter.get()
- , pTickFactory2D->getDistanceAxisTickToText( m_aAxisProperties )
- , fRotationAngleDegree );
- }
+ boost::scoped_ptr< TickIter > apTickIter(createLabelTickIterator( nTextLevel ));
+ if(apTickIter)
+ {
+ double fRotationAngleDegree = m_aAxisLabelProperties.fRotationAngleDegree;
+ aCummulatedLabelsDistance += lcl_getLabelsDistance( *apTickIter.get()
+ , pTickFactory2D->getDistanceAxisTickToText( m_aAxisProperties )
+ , fRotationAngleDegree );
+ }
}
}
else if( rAxisLabelProperties.getIsStaggered() )
@@ -1367,9 +1361,7 @@ void VCartesianAxis::createLabels()
//create labels
if( m_aAxisProperties.m_bDisplayLabels )
{
- SAL_WNODEPRECATED_DECLARATIONS_PUSH
- std::auto_ptr< TickFactory_2D > apTickFactory2D( this->createTickFactory2D() );
- SAL_WNODEPRECATED_DECLARATIONS_POP
+ boost::scoped_ptr< TickFactory_2D > apTickFactory2D( this->createTickFactory2D() );
TickFactory_2D* pTickFactory2D = apTickFactory2D.get();
if( !pTickFactory2D )
return;
@@ -1388,10 +1380,8 @@ void VCartesianAxis::createLabels()
sal_Int32 nScreenDistanceBetweenTicks = -1;
for( sal_Int32 nTextLevel=0; nTextLevel<nTextLevelCount; nTextLevel++ )
{
- SAL_WNODEPRECATED_DECLARATIONS_PUSH
- ::std::auto_ptr< TickIter > apTickIter = createLabelTickIterator( nTextLevel );
- SAL_WNODEPRECATED_DECLARATIONS_POP
- if(apTickIter.get())
+ boost::scoped_ptr< TickIter > apTickIter(createLabelTickIterator( nTextLevel ));
+ if(apTickIter)
{
if(nTextLevel==0)
{
@@ -1428,9 +1418,7 @@ void VCartesianAxis::createMaximumLabels()
//create labels
if( m_aAxisProperties.m_bDisplayLabels )
{
- SAL_WNODEPRECATED_DECLARATIONS_PUSH
- std::auto_ptr< TickFactory_2D > apTickFactory2D( this->createTickFactory2D() );
- SAL_WNODEPRECATED_DECLARATIONS_POP
+ boost::scoped_ptr< TickFactory_2D > apTickFactory2D( this->createTickFactory2D() );
TickFactory_2D* pTickFactory2D = apTickFactory2D.get();
if( !pTickFactory2D )
return;
@@ -1450,10 +1438,8 @@ void VCartesianAxis::createMaximumLabels()
sal_Int32 nTextLevelCount = getTextLevelCount();
for( sal_Int32 nTextLevel=0; nTextLevel<nTextLevelCount; nTextLevel++ )
{
- SAL_WNODEPRECATED_DECLARATIONS_PUSH
- ::std::auto_ptr< TickIter > apTickIter = createMaximumLabelTickIterator( nTextLevel );
- SAL_WNODEPRECATED_DECLARATIONS_POP
- if(apTickIter.get())
+ boost::scoped_ptr< TickIter > apTickIter(createMaximumLabelTickIterator( nTextLevel ));
+ if(apTickIter)
{
while( !createTextShapes( m_xTextTarget, *apTickIter.get(), aAxisLabelProperties, pTickFactory2D, -1 ) )
{
@@ -1470,9 +1456,7 @@ void VCartesianAxis::updatePositions()
//update positions of labels
if( m_aAxisProperties.m_bDisplayLabels )
{
- SAL_WNODEPRECATED_DECLARATIONS_PUSH
- std::auto_ptr< TickFactory_2D > apTickFactory2D( this->createTickFactory2D() );
- SAL_WNODEPRECATED_DECLARATIONS_POP
+ boost::scoped_ptr< TickFactory_2D > apTickFactory2D( this->createTickFactory2D() );
TickFactory_2D* pTickFactory2D = apTickFactory2D.get();
if( !pTickFactory2D )
return;
@@ -1567,9 +1551,7 @@ void VCartesianAxis::createShapes()
if( !prepareShapeCreation() )
return;
- SAL_WNODEPRECATED_DECLARATIONS_PUSH
- std::auto_ptr< TickFactory_2D > apTickFactory2D( this->createTickFactory2D() );
- SAL_WNODEPRECATED_DECLARATIONS_POP
+ boost::scoped_ptr< TickFactory_2D > apTickFactory2D( this->createTickFactory2D() );
TickFactory_2D* pTickFactory2D = apTickFactory2D.get();
if( !pTickFactory2D )
return;
@@ -1593,10 +1575,8 @@ void VCartesianAxis::createShapes()
sal_Int32 nTextLevelCount = getTextLevelCount();
for( sal_Int32 nTextLevel=0; nTextLevel<nTextLevelCount; nTextLevel++ )
{
- SAL_WNODEPRECATED_DECLARATIONS_PUSH
- ::std::auto_ptr< TickIter > apTickIter = createLabelTickIterator( nTextLevel );
- SAL_WNODEPRECATED_DECLARATIONS_POP
- if( apTickIter.get() )
+ boost::scoped_ptr< TickIter > apTickIter(createLabelTickIterator( nTextLevel ));
+ if( apTickIter )
{
double fRotationAngleDegree = m_aAxisLabelProperties.fRotationAngleDegree;
B2DVector aLabelsDistance( lcl_getLabelsDistance( *apTickIter.get(), pTickFactory2D->getDistanceAxisTickToText( m_aAxisProperties, false ), fRotationAngleDegree ) );
diff --git a/chart2/source/view/axes/VCartesianAxis.hxx b/chart2/source/view/axes/VCartesianAxis.hxx
index 68c93bb..55ba354 100644
--- a/chart2/source/view/axes/VCartesianAxis.hxx
+++ b/chart2/source/view/axes/VCartesianAxis.hxx
@@ -66,8 +66,8 @@ public:
virtual void createAllTickInfos( ::std::vector< ::std::vector< TickInfo > >& rAllTickInfos );
void createAllTickInfosFromComplexCategories( ::std::vector< ::std::vector< TickInfo > >& rAllTickInfos, bool bShiftedPosition );
- ::std::auto_ptr< TickIter > createLabelTickIterator( sal_Int32 nTextLevel );
- ::std::auto_ptr< TickIter > createMaximumLabelTickIterator( sal_Int32 nTextLevel );
+ TickIter* createLabelTickIterator( sal_Int32 nTextLevel );
+ TickIter* createMaximumLabelTickIterator( sal_Int32 nTextLevel );
sal_Int32 getTextLevelCount() const;
//-------------------------------------------------------------------------
commit 3f78f26aa8db1d3ae56d9e509e0a8e5b4518821b
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Mon Mar 5 21:31:06 2012 +0100
String to OUString in cell.[ch]xx and follow up
diff --git a/sc/inc/cell.hxx b/sc/inc/cell.hxx
index ebae2b4..08fbdfa 100644
--- a/sc/inc/cell.hxx
+++ b/sc/inc/cell.hxx
@@ -129,7 +129,7 @@ public:
void DeleteBroadcaster();
// String- oder EditCell
- static ScBaseCell* CreateTextCell( const String& rString, ScDocument* );
+ static ScBaseCell* CreateTextCell( const rtl::OUString& rString, ScDocument* );
// nOnlyNames may be one or more of SC_LISTENING_NAMES_*
void StartListeningTo( ScDocument* pDoc );
@@ -144,7 +144,7 @@ public:
bool HasEmptyData() const;
bool HasValueData() const;
bool HasStringData() const;
- String GetStringData() const; // only real strings
+ rtl::OUString GetStringData() const; // only real strings
static bool CellEqual( const ScBaseCell* pCell1, const ScBaseCell* pCell2 );
@@ -246,7 +246,7 @@ public:
const SfxItemPool* pFromPool /* = NULL */ );
ScEditCell( const ScEditCell& rCell, ScDocument& rDoc );
// for line breaks
- ScEditCell( const String& rString, ScDocument* );
+ ScEditCell( const rtl::OUString& rString, ScDocument* );
void SetData( const EditTextObject* pObject,
const SfxItemPool* pFromPool /* = NULL */ );
@@ -363,14 +363,12 @@ public:
also includes formula::FormulaGrammar::CONV_UNSPECIFIED, therefor uses the address
convention associated with rPos::nTab by default. */
ScFormulaCell( ScDocument* pDoc, const ScAddress& rPos,
- const String& rFormula,
+ const rtl::OUString& rFormula,
const formula::FormulaGrammar::Grammar = formula::FormulaGrammar::GRAM_DEFAULT,
sal_uInt8 cMatInd = MM_NONE );
ScFormulaCell( const ScFormulaCell& rCell, ScDocument& rDoc, const ScAddress& rPos, int nCloneFlags = SC_CLONECELL_DEFAULT );
- void GetFormula( String& rFormula,
- const formula::FormulaGrammar::Grammar = formula::FormulaGrammar::GRAM_DEFAULT ) const;
void GetFormula( rtl::OUString& rFormula,
const formula::FormulaGrammar::Grammar = formula::FormulaGrammar::GRAM_DEFAULT ) const;
void GetFormula( rtl::OUStringBuffer& rBuffer,
@@ -387,7 +385,7 @@ public:
void ResetDirty() { bDirty = false; }
bool NeedsListening() const { return bNeedListening; }
void SetNeedsListening( bool bVar ) { bNeedListening = bVar; }
- void Compile(const String& rFormula,
+ void Compile(const rtl::OUString& rFormula,
bool bNoListening = false,
const formula::FormulaGrammar::Grammar = formula::FormulaGrammar::GRAM_DEFAULT );
void CompileTokenArray( bool bNoListening = false );
@@ -427,7 +425,7 @@ public:
void UpdateInsertTabAbs(SCTAB nTable);
bool UpdateDeleteTab(SCTAB nTable, bool bIsMove = false, SCTAB nSheets = 1);
void UpdateMoveTab(SCTAB nOldPos, SCTAB nNewPos, SCTAB nTabNo);
- void UpdateRenameTab(SCTAB nTable, const String& rName);
+ void UpdateRenameTab(SCTAB nTable, const rtl::OUString& rName);
bool TestTabRefAbs(SCTAB nTable);
void UpdateCompile( bool bForceIfNameInUse = false );
void FindRangeNamesInUse(std::set<sal_uInt16>& rIndexes) const;
@@ -498,13 +496,13 @@ public:
If for whatever reason you have to use both, SetHybridDouble() and
SetHybridString() or SetHybridFormula(), use SetHybridDouble() first
for performance reasons.*/
- void SetHybridFormula( const String& r,
+ void SetHybridFormula( const rtl::OUString& r,
const formula::FormulaGrammar::Grammar eGrammar )
{ aResult.SetHybridFormula( r); eTempGrammar = eGrammar; }
void SetErrCode( sal_uInt16 n );
inline bool IsHyperLinkCell() const { return pCode && pCode->IsHyperLink(); }
EditTextObject* CreateURLObject() ;
- void GetURLResult( String& rURL, String& rCellText );
+ void GetURLResult( rtl::OUString& rURL, rtl::OUString& rCellText );
/** Determines whether or not the result string contains more than one paragraph */
bool IsMultilineResult();
diff --git a/sc/inc/compiler.hxx b/sc/inc/compiler.hxx
index 371192c..84496b6 100644
--- a/sc/inc/compiler.hxx
+++ b/sc/inc/compiler.hxx
@@ -423,6 +423,7 @@ public:
}
void CreateStringFromXMLTokenArray( String& rFormula, String& rFormulaNmsp );
+ void CreateStringFromXMLTokenArray( rtl::OUString& rFormula, rtl::OUString& rFormulaNmsp );
void SetExtendedErrorDetection( ExtendedErrorDetection eVal ) { meExtendedErrorDetection = eVal; }
diff --git a/sc/source/core/data/cell.cxx b/sc/source/core/data/cell.cxx
index 5924cf8..6d5baaf 100644
--- a/sc/source/core/data/cell.cxx
+++ b/sc/source/core/data/cell.cxx
@@ -288,9 +288,9 @@ void ScBaseCell::DeleteBroadcaster()
DELETEZ( mpBroadcaster );
}
-ScBaseCell* ScBaseCell::CreateTextCell( const String& rString, ScDocument* pDoc )
+ScBaseCell* ScBaseCell::CreateTextCell( const rtl::OUString& rString, ScDocument* pDoc )
{
- if ( rString.Search('\n') != STRING_NOTFOUND || rString.Search(CHAR_CR) != STRING_NOTFOUND )
+ if ( rString.indexOf('\n') != -1 || rString.indexOf(CHAR_CR) != -1 )
return new ScEditCell( rString, pDoc );
else
return new ScStringCell( rString );
@@ -523,9 +523,9 @@ bool ScBaseCell::HasStringData() const
}
}
-String ScBaseCell::GetStringData() const
+rtl::OUString ScBaseCell::GetStringData() const
{
- String aStr;
+ rtl::OUString aStr;
switch ( eCellType )
{
case CELLTYPE_STRING:
@@ -573,12 +573,12 @@ bool ScBaseCell::CellEqual( const ScBaseCell* pCell1, const ScBaseCell* pCell2 )
((const ScValueCell*)pCell2)->GetValue() );
case CELLTYPE_STRING: // String oder Edit
{
- String aText1;
+ rtl::OUString aText1;
if ( pCell1->GetCellType() == CELLTYPE_STRING )
aText1 = ((const ScStringCell*)pCell1)->GetString();
else
aText1 = ((const ScEditCell*)pCell1)->GetString();
- String aText2;
+ rtl::OUString aText2;
if ( pCell2->GetCellType() == CELLTYPE_STRING )
aText2 = ((const ScStringCell*)pCell2)->GetString();
else
@@ -682,7 +682,7 @@ ScStringCell::~ScStringCell()
//
ScFormulaCell::ScFormulaCell( ScDocument* pDoc, const ScAddress& rPos,
- const String& rFormula,
+ const rtl::OUString& rFormula,
const FormulaGrammar::Grammar eGrammar,
sal_uInt8 cMatInd ) :
ScBaseCell( CELLTYPE_FORMULA ),
@@ -956,13 +956,6 @@ void ScFormulaCell::GetFormula( rtl::OUStringBuffer& rBuffer,
}
}
-void ScFormulaCell::GetFormula( String& rFormula, const FormulaGrammar::Grammar eGrammar ) const
-{
- rtl::OUStringBuffer rBuffer( rFormula );
- GetFormula( rBuffer, eGrammar );
- rFormula = rBuffer.makeStringAndClear();
-}
-
void ScFormulaCell::GetFormula( rtl::OUString& rFormula, const FormulaGrammar::Grammar eGrammar ) const
{
rtl::OUStringBuffer rBuffer( rFormula );
@@ -985,7 +978,7 @@ void ScFormulaCell::GetResultDimensions( SCSIZE& rCols, SCSIZE& rRows )
}
}
-void ScFormulaCell::Compile( const String& rFormula, bool bNoListening,
+void ScFormulaCell::Compile( const rtl::OUString& rFormula, bool bNoListening,
const FormulaGrammar::Grammar eGrammar )
{
if ( pDocument->IsClipOrUndo() )
@@ -1004,12 +997,12 @@ void ScFormulaCell::Compile( const String& rFormula, bool bNoListening,
delete pCodeOld;
if( !pCode->GetCodeError() )
{
- if ( !pCode->GetLen() && aResult.GetHybridFormula().Len() && rFormula == aResult.GetHybridFormula() )
+ if ( !pCode->GetLen() && aResult.GetHybridFormula().Len() && rFormula == rtl::OUString(aResult.GetHybridFormula()) )
{ // nicht rekursiv CompileTokenArray/Compile/CompileTokenArray
- if ( rFormula.GetChar(0) == '=' )
- pCode->AddBad( rFormula.GetBuffer() + 1 );
+ if ( rFormula[0] == '=' )
+ pCode->AddBad( rFormula.copy(1) );
else
- pCode->AddBad( rFormula.GetBuffer() );
+ pCode->AddBad( rFormula );
}
bCompile = true;
CompileTokenArray( bNoListening );
@@ -1076,9 +1069,9 @@ void ScFormulaCell::CompileXML( ScProgress& rProgress )
ScCompiler aComp( pDocument, aPos, *pCode);
aComp.SetGrammar(eTempGrammar);
- String aFormula, aFormulaNmsp;
+ rtl::OUString aFormula, aFormulaNmsp;
aComp.CreateStringFromXMLTokenArray( aFormula, aFormulaNmsp );
- pDocument->DecXMLImportedFormulaCount( aFormula.Len() );
+ pDocument->DecXMLImportedFormulaCount( aFormula.getLength() );
rProgress.SetStateCountDownOnPercent( pDocument->GetXMLImportedFormulaCount() );
// pCode darf fuer Abfragen noch nicht geloescht, muss aber leer sein
if ( pCode )
@@ -1090,10 +1083,10 @@ void ScFormulaCell::CompileXML( ScProgress& rProgress )
{
if ( !pCode->GetLen() )
{
- if ( aFormula.GetChar(0) == '=' )
- pCode->AddBad( aFormula.GetBuffer() + 1 );
+ if ( aFormula[0] == '=' )
+ pCode->AddBad( aFormula.copy( 1 ) );
else
- pCode->AddBad( aFormula.GetBuffer() );
+ pCode->AddBad( aFormula );
}
bSubTotal = aComp.CompileTokenArray();
if( !pCode->GetCodeError() )
@@ -1466,8 +1459,8 @@ void ScFormulaCell::InterpretTail( ScInterpretTailParameter eTailParam )
// documents we might need another solution. Or just confirm correctness.
OSL_FAIL( "ScFormulaCell::Interpret: no UPN, no error, no token, but string -> Try compiling it." );
// Force Compilation
- String aFormula = aResult.GetHybridFormula();
- aResult.SetHybridFormula( String() );
+ rtl::OUString aFormula = aResult.GetHybridFormula();
+ aResult.SetHybridFormula( rtl::OUString() );
Compile( aFormula );
InterpretTail( eTailParam );
return;
@@ -1915,9 +1908,9 @@ void ScFormulaCell::AddRecalcMode( ScRecalcMode nBits )
}
// Dynamically create the URLField on a mouse-over action on a hyperlink() cell.
-void ScFormulaCell::GetURLResult( String& rURL, String& rCellText )
+void ScFormulaCell::GetURLResult( rtl::OUString& rURL, rtl::OUString& rCellText )
{
- String aCellString;
+ rtl::OUString aCellString;
Color* pColor;
@@ -1952,7 +1945,7 @@ void ScFormulaCell::GetURLResult( String& rURL, String& rCellText )
pFormatter->GetOutputString( nMatVal.fVal, nURLFormat, rURL, &pColor );
}
- if(!rURL.Len())
+ if(rURL.isEmpty())
{
if(IsValue())
pFormatter->GetOutputString( GetValue(), nURLFormat, rURL, &pColor );
@@ -1979,8 +1972,8 @@ void ScFormulaCell::MaybeInterpret()
EditTextObject* ScFormulaCell::CreateURLObject()
{
- String aCellText;
- String aURL;
+ rtl::OUString aCellText;
+ rtl::OUString aURL;
GetURLResult( aURL, aCellText );
SvxURLField aUrlField( aURL, aCellText, SVXURLFORMAT_APPDEFAULT);
diff --git a/sc/source/core/data/cell2.cxx b/sc/source/core/data/cell2.cxx
index 5938e15..de24d11 100644
--- a/sc/source/core/data/cell2.cxx
+++ b/sc/source/core/data/cell2.cxx
@@ -81,13 +81,13 @@ ScEditCell::ScEditCell( const ScEditCell& rCell, ScDocument& rDoc ) :
SetTextObject( rCell.pData, rCell.pDoc->GetEditPool() );
}
-ScEditCell::ScEditCell( const String& rString, ScDocument* pDocP ) :
+ScEditCell::ScEditCell( const rtl::OUString& rString, ScDocument* pDocP ) :
ScBaseCell( CELLTYPE_EDIT ),
pString( NULL ),
pDoc( pDocP )
{
- OSL_ENSURE( rString.Search('\n') != STRING_NOTFOUND ||
- rString.Search(CHAR_CR) != STRING_NOTFOUND,
+ OSL_ENSURE( rString.indexOf('\n') != -1 ||
+ rString.indexOf(CHAR_CR) != -1,
"EditCell mit einfachem Text !?!?" );
EditEngine& rEngine = pDoc->GetEditEngine();
@@ -654,7 +654,7 @@ sal_uInt16 ScFormulaCell::GetMatrixEdge( ScAddress& rOrgPos )
else
{
#if OSL_DEBUG_LEVEL > 0
- String aTmp;
+ rtl::OUString aTmp;
rtl::OStringBuffer aMsg(RTL_CONSTASCII_STRINGPARAM(
"broken Matrix, no MatFormula at origin, Pos: "));
aPos.Format( aTmp, SCA_VALID_COL | SCA_VALID_ROW, pDocument );
@@ -1614,14 +1614,14 @@ void ScFormulaCell::CompileDBFormula( bool bCreateFormulaString )
}
if ( bRecompile )
{
- String aFormula;
+ rtl::OUString aFormula;
GetFormula( aFormula, formula::FormulaGrammar::GRAM_NATIVE);
- if ( GetMatrixFlag() != MM_NONE && aFormula.Len() )
+ if ( GetMatrixFlag() != MM_NONE && !aFormula.isEmpty() )
{
- if ( aFormula.GetChar( aFormula.Len()-1 ) == '}' )
- aFormula.Erase( aFormula.Len()-1 , 1 );
- if ( aFormula.GetChar(0) == '{' )
- aFormula.Erase( 0, 1 );
+ if ( aFormula[ aFormula.getLength()-1 ] == '}' )
+ aFormula = aFormula.copy( aFormula.getLength()-1 , 1 );
+ if ( aFormula[0] == '{' )
+ aFormula = aFormula.copy( 1 );
}
EndListeningTo( pDocument );
pDocument->RemoveFromFormulaTree( this );
@@ -1661,14 +1661,14 @@ void ScFormulaCell::CompileNameFormula( bool bCreateFormulaString )
}
if ( bRecompile )
{
- String aFormula;
+ rtl::OUString aFormula;
GetFormula( aFormula, formula::FormulaGrammar::GRAM_NATIVE);
- if ( GetMatrixFlag() != MM_NONE && aFormula.Len() )
+ if ( GetMatrixFlag() != MM_NONE && !aFormula.isEmpty() )
{
- if ( aFormula.GetChar( aFormula.Len()-1 ) == '}' )
- aFormula.Erase( aFormula.Len()-1 , 1 );
- if ( aFormula.GetChar(0) == '{' )
- aFormula.Erase( 0, 1 );
+ if ( aFormula[ aFormula.getLength()-1 ] == '}' )
+ aFormula = aFormula.copy( 0, aFormula.getLength()-1 );
+ if ( aFormula[0] == '{' )
+ aFormula = aFormula.copy( 1 );
}
EndListeningTo( pDocument );
pDocument->RemoveFromFormulaTree( this );
diff --git a/sc/source/core/data/table6.cxx b/sc/source/core/data/table6.cxx
index 3ef92e1..45bf02e 100644
--- a/sc/source/core/data/table6.cxx
+++ b/sc/source/core/data/table6.cxx
@@ -49,7 +49,9 @@
using ::com::sun::star::util::SearchOptions;
-bool lcl_GetTextWithBreaks( const ScEditCell& rCell, ScDocument* pDoc, String& rVal )
+namespace {
+
+bool lcl_GetTextWithBreaks( const ScEditCell& rCell, ScDocument* pDoc, rtl::OUString& rVal )
{
// true = more than 1 paragraph
@@ -61,6 +63,8 @@ bool lcl_GetTextWithBreaks( const ScEditCell& rCell, ScDocument* pDoc, String& r
return ( rEngine.GetParagraphCount() > 1 );
}
+}
+
bool ScTable::SearchCell(const SvxSearchItem& rSearchItem, SCCOL nCol, SCROW nRow,
const ScMarkData& rMark, rtl::OUString& rUndoStr, ScDocument* pUndoDoc)
{
@@ -68,7 +72,7 @@ bool ScTable::SearchCell(const SvxSearchItem& rSearchItem, SCCOL nCol, SCROW nRo
bool bDoSearch = true;
bool bDoBack = rSearchItem.GetBackward();
- String aString;
+ rtl::OUString aString;
ScBaseCell* pCell;
if (rSearchItem.GetSelection())
bDoSearch = rMark.IsCellMarked(nCol, nRow);
@@ -87,9 +91,7 @@ bool ScTable::SearchCell(const SvxSearchItem& rSearchItem, SCCOL nCol, SCROW nRo
*(const ScEditCell*)pCell, pDocument, aString );
else
{
- rtl::OUString aOUString = aString;
- aCol[nCol].GetInputString( nRow, aOUString );
- aString = aOUString;
+ aCol[nCol].GetInputString( nRow, aString );
}
}
break;
@@ -99,9 +101,7 @@ bool ScTable::SearchCell(const SvxSearchItem& rSearchItem, SCCOL nCol, SCROW nRo
*(const ScEditCell*)pCell, pDocument, aString );
else
{
- rtl::OUString aOUString = aString;
- aCol[nCol].GetInputString( nRow, aOUString );
- aString = aOUString;
+ aCol[nCol].GetInputString( nRow, aString );
}
break;
case SVX_SEARCHIN_NOTE:
@@ -110,7 +110,7 @@ bool ScTable::SearchCell(const SvxSearchItem& rSearchItem, SCCOL nCol, SCROW nRo
break;
}
xub_StrLen nStart = 0;
- xub_StrLen nEnd = aString.Len();
+ xub_StrLen nEnd = aString.getLength();
::com::sun::star::util::SearchResult aSearchResult;
if (pSearchText)
{
@@ -129,7 +129,7 @@ bool ScTable::SearchCell(const SvxSearchItem& rSearchItem, SCCOL nCol, SCROW nRo
}
if (bFound && rSearchItem.GetWordOnly())
- bFound = (nStart == 0 && nEnd == aString.Len() - 1);
+ bFound = (nStart == 0 && nEnd == aString.getLength() - 1);
}
else
{
@@ -168,15 +168,18 @@ bool ScTable::SearchCell(const SvxSearchItem& rSearchItem, SCCOL nCol, SCROW nRo
String sReplStr = rSearchItem.GetReplaceString();
if (rSearchItem.GetRegExp())
{
- String sFndStr = aString.Copy(nStart, nEnd-nStart+1);
pSearchText->ReplaceBackReferences( sReplStr, aString, aSearchResult );
- aString.Erase(nStart, nEnd-nStart+1);
- aString.Insert(sReplStr, nStart);
+ rtl::OUStringBuffer aStrBuffer(aString);
+ aStrBuffer.remove(nStart, nEnd-nStart+1);
+ aStrBuffer.insert(nStart, sReplStr);
+ aString = aStrBuffer.makeStringAndClear();
}
else
{
- aString.Erase(nStart, nEnd - nStart + 1);
- aString.Insert(rSearchItem.GetReplaceString(), nStart);
+ rtl::OUStringBuffer aStrBuffer(aString);
+ aStrBuffer.remove(nStart, nEnd-nStart+1);
+ aStrBuffer.insert(nStart, rSearchItem.GetReplaceString());
+ aString = aStrBuffer.makeStringAndClear();
}
// Indizes anpassen
@@ -188,7 +191,7 @@ bool ScTable::SearchCell(const SvxSearchItem& rSearchItem, SCCOL nCol, SCROW nRo
else
{
nStart = sal::static_int_cast<xub_StrLen>( nStart + sReplStr.Len() );
- nEnd = aString.Len();
+ nEnd = aString.getLength();
}
// weitersuchen ?
@@ -215,12 +218,12 @@ bool ScTable::SearchCell(const SvxSearchItem& rSearchItem, SCCOL nCol, SCROW nRo
if ( cMatrixFlag != MM_NONE )
{ // Matrix nicht zerreissen
- if ( aString.Len() > 2 )
+ if ( aString.getLength() > 2 )
{ // {} raus, erst hier damit auch "{=" durch "{=..." ersetzt werden kann
- if ( aString.GetChar( aString.Len()-1 ) == '}' )
- aString.Erase( aString.Len()-1, 1 );
- if ( aString.GetChar(0) == '{' )
- aString.Erase( 0, 1 );
+ if ( aString[ aString.getLength()-1 ] == '}' )
+ aString = aString.copy( 0, aString.getLength()-1 );
+ if ( aString[0] == '{' )
+ aString = aString.copy( 1 );
}
ScAddress aAdr( nCol, nRow, nTab );
ScFormulaCell* pFCell = new ScFormulaCell( pDocument, aAdr,
@@ -231,7 +234,7 @@ bool ScTable::SearchCell(const SvxSearchItem& rSearchItem, SCCOL nCol, SCROW nRo
pFCell->SetMatColsRows( nMatCols, nMatRows );
aCol[nCol].Insert( nRow, pFCell );
}
- else if ( bMultiLine && aString.Search('\n') != STRING_NOTFOUND )
+ else if ( bMultiLine && aString.indexOf('\n') != -1 )
PutCell( nCol, nRow, new ScEditCell( aString, pDocument ) );
else
aCol[nCol].SetString(nRow, nTab, aString, pDocument->GetAddressConvention());
diff --git a/sc/source/core/tool/cellform.cxx b/sc/source/core/tool/cellform.cxx
index 066b5c1..f33a48c 100644
--- a/sc/source/core/tool/cellform.cxx
+++ b/sc/source/core/tool/cellform.cxx
@@ -58,27 +58,26 @@ void ScCellFormat::GetString( ScBaseCell* pCell, sal_uLong nFormat, rtl::OUStrin
return;
}
- String aString = rString;
CellType eType = pCell->GetCellType();
switch(eType)
{
case CELLTYPE_STRING:
{
- String aCellString = ((ScStringCell*)pCell)->GetString();
- rFormatter.GetOutputString( aCellString, nFormat, aString, ppColor );
+ rtl::OUString aCellString = ((ScStringCell*)pCell)->GetString();
+ rFormatter.GetOutputString( aCellString, nFormat, rString, ppColor );
}
break;
case CELLTYPE_EDIT:
{
- String aCellString = ((ScEditCell*)pCell)->GetString();
- rFormatter.GetOutputString( aCellString, nFormat, aString, ppColor );
+ rtl::OUString aCellString = ((ScEditCell*)pCell)->GetString();
+ rFormatter.GetOutputString( aCellString, nFormat, rString, ppColor );
}
break;
case CELLTYPE_VALUE:
{
double nValue = ((ScValueCell*)pCell)->GetValue();
if ( !bNullVals && nValue == 0.0 )
- aString.Erase();
+ rString = rtl::OUString();
else
{
if( eForceTextFmt == ftCheck )
@@ -88,12 +87,12 @@ void ScCellFormat::GetString( ScBaseCell* pCell, sal_uLong nFormat, rtl::OUStrin
}
if( eForceTextFmt == ftForce )
{
- String aTemp;
+ rtl::OUString aTemp;
rFormatter.GetOutputString( nValue, 0, aTemp, ppColor );
- rFormatter.GetOutputString( aTemp, nFormat, aString, ppColor );
+ rFormatter.GetOutputString( aTemp, nFormat, rString, ppColor );
}
else
- rFormatter.GetOutputString( nValue, nFormat, aString, ppColor );
+ rFormatter.GetOutputString( nValue, nFormat, rString, ppColor );
}
}
break;
@@ -101,7 +100,9 @@ void ScCellFormat::GetString( ScBaseCell* pCell, sal_uLong nFormat, rtl::OUStrin
{
ScFormulaCell* pFCell = (ScFormulaCell*)pCell;
if ( bFormula )
- pFCell->GetFormula( aString );
+ {
+ pFCell->GetFormula( rString );
+ }
else
{
// A macro started from the interpreter, which has
@@ -114,7 +115,7 @@ void ScCellFormat::GetString( ScBaseCell* pCell, sal_uLong nFormat, rtl::OUStrin
(!pFCell->GetDocument()->GetMacroInterpretLevel()
|| pFCell->IsRunning()) )
{
- aString.AssignAscii( RTL_CONSTASCII_STRINGPARAM("...") );
+ rString = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("..."));
}
else
{
@@ -126,31 +127,30 @@ void ScCellFormat::GetString( ScBaseCell* pCell, sal_uLong nFormat, rtl::OUStrin
nFormat );
if (nErrCode != 0)
- aString = ScGlobal::GetErrorString(nErrCode);
+ rString = ScGlobal::GetErrorString(nErrCode);
else if ( pFCell->IsEmptyDisplayedAsString() )
- aString.Erase();
+ rString = rtl::OUString();
else if ( pFCell->IsValue() )
{
double fValue = pFCell->GetValue();
if ( !bNullVals && fValue == 0.0 )
- aString.Erase();
+ rString = rtl::OUString();
else
- rFormatter.GetOutputString( fValue, nFormat, aString, ppColor );
+ rFormatter.GetOutputString( fValue, nFormat, rString, ppColor );
}
else
{
- String aCellString = pFCell->GetString();
- rFormatter.GetOutputString( aCellString, nFormat, aString, ppColor );
+ rtl::OUString aCellString = pFCell->GetString();
+ rFormatter.GetOutputString( aCellString, nFormat, rString, ppColor );
}
}
}
}
break;
default:
- aString.Erase();
+ rString = rtl::OUString();
break;
}
- rString = aString;
}
void ScCellFormat::GetInputString( ScBaseCell* pCell, sal_uLong nFormat, rtl::OUString& rString,
diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index 454fab9..9b2fa2e 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -3730,6 +3730,14 @@ void ScCompiler::CreateStringFromXMLTokenArray( String& rFormula, String& rFormu
}
}
+void ScCompiler::CreateStringFromXMLTokenArray( rtl::OUString& rFormula, rtl::OUString& rFormulaNmsp )
+{
+ String sFormula, aFormulaNmsp;
+ CreateStringFromXMLTokenArray(sFormula, aFormulaNmsp);
+ rFormula = sFormula;
+ rFormulaNmsp = aFormulaNmsp;
+}
+
ScTokenArray* ScCompiler::CompileString( const String& rFormula )
{
OSL_ENSURE( meGrammar != FormulaGrammar::GRAM_EXTERNAL, "ScCompiler::CompileString - unexpected grammar GRAM_EXTERNAL" );
diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index e1eb8bd..fb8e429 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -2569,7 +2569,7 @@ void ScInterpreter::ScIsFormula()
void ScInterpreter::ScFormula()
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScFormula" );
- String aFormula;
+ rtl::OUString aFormula;
switch ( GetStackType() )
{
case svDoubleRef :
diff --git a/sc/source/filter/xml/XMLChangeTrackingExportHelper.cxx b/sc/source/filter/xml/XMLChangeTrackingExportHelper.cxx
index 45f7e91..53c0593 100644
--- a/sc/source/filter/xml/XMLChangeTrackingExportHelper.cxx
+++ b/sc/source/filter/xml/XMLChangeTrackingExportHelper.cxx
@@ -346,7 +346,7 @@ void ScChangeTrackingExportHelper::WriteFormulaCell(const ScBaseCell* pCell, con
rExport.AddAttribute(XML_NAMESPACE_TABLE, XML_CELL_ADDRESS, sAddress);
const formula::FormulaGrammar::Grammar eGrammar = pDoc->GetStorageGrammar();
sal_uInt16 nNamespacePrefix = (eGrammar == formula::FormulaGrammar::GRAM_ODFF ? XML_NAMESPACE_OF : XML_NAMESPACE_OOOC);
- String sFormula;
+ rtl::OUString sFormula;
pFormulaCell->GetFormula(sFormula, eGrammar);
rtl::OUString sOUFormula(sFormula);
sal_uInt8 nMatrixFlag(pFormulaCell->GetMatrixFlag());
diff --git a/sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx b/sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx
index ccb7367..7364c39 100644
--- a/sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx
+++ b/sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx
@@ -752,28 +752,26 @@ void ScXMLChangeTrackingImportHelper::SetNewCell(ScMyContentAction* pAction)
else
{
sal_uInt8 nMatrixFlag = static_cast<ScFormulaCell*>(pCell)->GetMatrixFlag();
- String sFormula;
+ rtl::OUString sFormula;
// With GRAM_ODFF reference detection is faster on compilation.
/* FIXME: new cell should be created with a clone
* of the token array instead. Any reason why this
* wasn't done? */
static_cast<ScFormulaCell*>(pCell)->GetFormula(sFormula,formula::FormulaGrammar::GRAM_ODFF);
- rtl::OUString sOUFormula(sFormula);
// #i87826# [Collaboration] Rejected move destroys formulas
// FIXME: adjust ScFormulaCell::GetFormula(), so that the right formula string
// is returned and no further string handling is necessary
- rtl::OUString sOUFormula2;
+ rtl::OUString sFormula2;
if ( nMatrixFlag != MM_NONE )
{
- sOUFormula2 = sOUFormula.copy( 2, sOUFormula.getLength() - 3 );
+ sFormula2 = sFormula.copy( 2, sFormula.getLength() - 3 );
}
else
{
- sOUFormula2 = sOUFormula.copy( 1, sOUFormula.getLength() - 1 );
+ sFormula2 = sFormula.copy( 1, sFormula.getLength() - 1 );
}
- String sFormula2(sOUFormula2);
pNewCell = new ScFormulaCell(pDoc, aAddress, sFormula2,formula::FormulaGrammar::GRAM_ODFF, nMatrixFlag);
if (pNewCell)
{
diff --git a/sc/source/ui/docshell/impex.cxx b/sc/source/ui/docshell/impex.cxx
index 6dc095b..7bb959e 100644
--- a/sc/source/ui/docshell/impex.cxx
+++ b/sc/source/ui/docshell/impex.cxx
@@ -1870,7 +1870,9 @@ sal_Bool ScImportExport::Doc2Sylk( SvStream& rStrm )
aCellStr.Erase();
break;
default:
- pFCell->GetFormula( aCellStr,formula::FormulaGrammar::GRAM_PODF_A1);
+ rtl::OUString aOUCellStr;
+ pFCell->GetFormula( aOUCellStr,formula::FormulaGrammar::GRAM_PODF_A1);
+ aCellStr = aOUCellStr;
/* FIXME: do we want GRAM_ODFF_A1 instead? At
* the end it probably should be
* GRAM_ODFF_R1C1, since R1C1 is what Excel
diff --git a/sc/source/ui/unoobj/cellsuno.cxx b/sc/source/ui/unoobj/cellsuno.cxx
index 39926f4..c82e56a 100644
--- a/sc/source/ui/unoobj/cellsuno.cxx
+++ b/sc/source/ui/unoobj/cellsuno.cxx
@@ -5127,7 +5127,7 @@ rtl::OUString SAL_CALL ScCellRangeObj::getArrayFormula() throw(uno::RuntimeExcep
// also wenn Anfang und Ende des Blocks zur selben Matrix gehoeren.
// Sonst Leerstring.
- String aFormula;
+ rtl::OUString aFormula;
ScDocShell* pDocSh = GetDocShell();
if (pDocSh)
{
diff --git a/sc/source/ui/view/output2.cxx b/sc/source/ui/view/output2.cxx
index 8122c94..ab9783e 100644
--- a/sc/source/ui/view/output2.cxx
+++ b/sc/source/ui/view/output2.cxx
@@ -785,8 +785,8 @@ void lcl_DoHyperlinkResult( OutputDevice* pDev, const Rectangle& rRect, ScBaseCe
{
vcl::PDFExtOutDevData* pPDFData = PTR_CAST( vcl::PDFExtOutDevData, pDev->GetExtOutDevData() );
- String aCellText;
- String aURL;
+ rtl::OUString aCellText;
+ rtl::OUString aURL;
if ( pCell && pCell->GetCellType() == CELLTYPE_FORMULA )
{
ScFormulaCell* pFCell = static_cast<ScFormulaCell*>(pCell);
@@ -794,7 +794,7 @@ void lcl_DoHyperlinkResult( OutputDevice* pDev, const Rectangle& rRect, ScBaseCe
pFCell->GetURLResult( aURL, aCellText );
}
- if ( aURL.Len() && pPDFData )
+ if ( !aURL.isEmpty() && pPDFData )
{
vcl::PDFExtOutDevBookmarkEntry aBookmark;
aBookmark.nLinkId = pPDFData->CreateLink( rRect );
diff --git a/sc/source/ui/view/viewfun4.cxx b/sc/source/ui/view/viewfun4.cxx
index 86c4496..94672a7 100644
--- a/sc/source/ui/view/viewfun4.cxx
+++ b/sc/source/ui/view/viewfun4.cxx
@@ -255,9 +255,9 @@ void ScViewFunc::DoRefConversion( sal_Bool bRecord )
{
if (pCell->GetCellType() == CELLTYPE_FORMULA)
{
- String aOld;
+ rtl::OUString aOld;
((ScFormulaCell*)pCell)->GetFormula(aOld);
- xub_StrLen nLen = aOld.Len();
+ xub_StrLen nLen = aOld.getLength();
ScRefFinder aFinder( aOld, aIter.GetPos(), pDoc, pDoc->GetAddressConvention() );
aFinder.ToggleRel( 0, nLen );
if (aFinder.GetFound())
diff --git a/svl/inc/svl/zforlist.hxx b/svl/inc/svl/zforlist.hxx
index 69645e1..30d1929 100644
--- a/svl/inc/svl/zforlist.hxx
+++ b/svl/inc/svl/zforlist.hxx
@@ -481,12 +481,23 @@ public:
void GetOutputString( const double& fOutNumber, sal_uInt32 nFIndex,
String& sOutString, Color** ppColor );
+ /// Format a number according to a format index, return string and color
+ void GetOutputString( const double& fOutNumber, sal_uInt32 nFIndex,
+ rtl::OUString& sOutString, Color** ppColor );
+
/** Format a string according to a format index, return string and color.
Formats only if the format code is of type text or the 4th subcode
of a format code is specified, otherwise sOutString will be == "" */
void GetOutputString( String& sString, sal_uInt32 nFIndex,
String& sOutString, Color** ppColor );
+
+ /** Format a string according to a format index, return string and color.
+ Formats only if the format code is of type text or the 4th subcode
+ of a format code is specified, otherwise sOutString will be == "" */
+ void GetOutputString( rtl::OUString& sString, sal_uInt32 nFIndex,
+ rtl::OUString& sOutString, Color** ppColor );
+
/** Format a number according to the standard default format matching
the given format index */
void GetInputLineString( const double& fOutNumber,
diff --git a/svl/source/numbers/zforlist.cxx b/svl/source/numbers/zforlist.cxx
index c454843..475551e 100644
--- a/svl/source/numbers/zforlist.cxx
+++ b/svl/source/numbers/zforlist.cxx
@@ -1568,6 +1568,49 @@ void SvNumberFormatter::GetOutputString(String& sString,
}
}
+void SvNumberFormatter::GetOutputString(const double& fOutNumber,
+ sal_uInt32 nFIndex,
+ rtl::OUString& sOutString,
+ Color** ppColor)
+{
+ if (bNoZero && fOutNumber == 0.0)
+ {
+ sOutString = rtl::OUString();
+ return;
+ }
+ SvNumberformat* pFormat = GetFormatEntry( nFIndex );
+ if (!pFormat)
+ pFormat = GetFormatEntry(ZF_STANDARD);
+ ChangeIntl(pFormat->GetLanguage());
+ String aOutString;
+ pFormat->GetOutputString(fOutNumber, aOutString, ppColor);
+ sOutString = aOutString;
+}
+
+void SvNumberFormatter::GetOutputString(rtl::OUString& sString,
+ sal_uInt32 nFIndex,
+ rtl::OUString& sOutString,
+ Color** ppColor)
+{
+ SvNumberformat* pFormat = GetFormatEntry( nFIndex );
+ if (!pFormat)
+ pFormat = GetFormatEntry(ZF_STANDARD_TEXT);
+ if (!pFormat->IsTextFormat() && !pFormat->HasTextFormat())
+ {
+ *ppColor = NULL;
+ sOutString = sString;
+ }
+ else
+ {
+ ChangeIntl(pFormat->GetLanguage());
+ String aString = sString;
+ String aOutString = sOutString;
+ pFormat->GetOutputString(aString, aOutString, ppColor);
+ sString = aString;
+ sOutString = aOutString;
+ }
+}
+
bool SvNumberFormatter::GetPreviewString(const String& sFormatString,
double fPreviewNumber,
String& sOutString,
More information about the Libreoffice-commits
mailing list