ooo-build r15179 - in trunk: . patches/dev300
- From: kyoshida svn gnome org
- To: svn-commits-list gnome org
- Subject: ooo-build r15179 - in trunk: . patches/dev300
- Date: Tue, 27 Jan 2009 21:17:46 +0000 (UTC)
Author: kyoshida
Date: Tue Jan 27 21:17:46 2009
New Revision: 15179
URL: http://svn.gnome.org/viewvc/ooo-build?rev=15179&view=rev
Log:
2009-01-27 Kohei Yoshida <kyoshida novell com>
* patches/dev300/calc-multiline-formula-ref-m39.diff:
* patches/dev300/calc-multiline-formula-ref.diff:
* patches/dev300/apply: adjusted for dev300-m40.
Added:
trunk/patches/dev300/calc-multiline-formula-ref-m39.diff (props changed)
- copied unchanged from r15169, /trunk/patches/dev300/calc-multiline-formula-ref.diff
Modified:
trunk/ChangeLog
trunk/patches/dev300/apply
trunk/patches/dev300/calc-multiline-formula-ref.diff
Modified: trunk/patches/dev300/apply
==============================================================================
--- trunk/patches/dev300/apply (original)
+++ trunk/patches/dev300/apply Tue Jan 27 21:17:46 2009
@@ -1039,9 +1039,15 @@
# modify the autofill behavior to bring it a little closer to Excel's.
calc-autofill-increment-fix.diff, i#5550, kohei
+[ CalcFixes <= dev300-m39 ]
+# preserve line breaks when referencing it in formula.
+calc-multiline-formula-ref-m39.diff, i#35913, kohei
+
+[ CalcFixes > dev300-m39 ]
# preserve line breaks when referencing it in formula.
calc-multiline-formula-ref.diff, i#35913, kohei
+[ CalcFixes ]
# fixed chart wizard failure when the formula syntax is set to Excel A1/R1C1.
chart-wizard-xls-address-convention-fix.diff, n#411450, i#94696, kohei
Modified: trunk/patches/dev300/calc-multiline-formula-ref.diff
==============================================================================
--- trunk/patches/dev300/calc-multiline-formula-ref.diff (original)
+++ trunk/patches/dev300/calc-multiline-formula-ref.diff Tue Jan 27 21:17:46 2009
@@ -1,8 +1,8 @@
diff --git sc/inc/cell.hxx sc/inc/cell.hxx
-index 387f564..0328c25 100644
+index eaf6f7b..494d9d8 100644
--- sc/inc/cell.hxx
+++ sc/inc/cell.hxx
-@@ -594,6 +594,9 @@ public:
+@@ -460,6 +460,9 @@ public:
inline BOOL IsHyperLinkCell() const { return pCode && pCode->IsHyperLink(); }
EditTextObject* CreateURLObject() ;
void GetURLResult( String& rURL, String& rCellText );
@@ -13,7 +13,7 @@
// Iterator fuer Referenzen in einer Formelzelle
diff --git sc/inc/editutil.hxx sc/inc/editutil.hxx
-index 8072f26..0838d6a 100644
+index 4cb209f..79ef1ad 100644
--- sc/inc/editutil.hxx
+++ sc/inc/editutil.hxx
@@ -63,8 +63,13 @@ class ScEditUtil
@@ -31,7 +31,7 @@
ScEditUtil( ScDocument* pDocument, SCCOL nX, SCROW nY, SCTAB nZ,
const Point& rScrPosPixel,
diff --git sc/inc/formularesult.hxx sc/inc/formularesult.hxx
-index 727476c..b91159f 100644
+index 8c70f43..ea364dc 100644
--- sc/inc/formularesult.hxx
+++ sc/inc/formularesult.hxx
@@ -38,6 +38,11 @@
@@ -73,7 +73,7 @@
{
@@ -99,7 +107,8 @@ public:
/** Same comments as for SetToken() apply! */
- explicit ScFormulaResult( const ScToken* p )
+ explicit ScFormulaResult( const formula::FormulaToken* p )
: mnError(0), mbToken(false),
- mbEmpty(false), mbEmptyDisplayedAsString(false)
+ mbEmpty(false), mbEmptyDisplayedAsString(false),
@@ -89,7 +89,7 @@
+ one paragraph */
+ inline bool IsMultiline();
+
- /** Get error code if set or GetCellResultType() is svError or svUnknown,
+ /** Get error code if set or GetCellResultType() is formula::svError or svUnknown,
else 0. */
inline USHORT GetResultError() const;
@@ -211,6 +224,7 @@ inline void ScFormulaResult::ResetToDefaults()
@@ -100,20 +100,20 @@
}
-@@ -232,10 +246,12 @@ inline void ScFormulaResult::ResolveToken( const ScToken * p )
+@@ -232,10 +246,12 @@ inline void ScFormulaResult::ResolveToken( const formula::FormulaToken * p )
mbToken = false;
// set in case mnError is 0 now, which shouldn't happen but ...
mfValue = 0.0;
+ meMultiline = MULTILINE_FALSE;
break;
- case svEmptyCell:
+ case formula::svEmptyCell:
mbEmpty = true;
mbEmptyDisplayedAsString = static_cast<const ScEmptyCellToken*>(p)->IsDisplayedAsString();
+ meMultiline = MULTILINE_FALSE;
p->DecRef();
mbToken = false;
break;
-@@ -243,6 +259,7 @@ inline void ScFormulaResult::ResolveToken( const ScToken * p )
+@@ -243,6 +259,7 @@ inline void ScFormulaResult::ResolveToken( const formula::FormulaToken * p )
mfValue = p->GetDouble();
p->DecRef();
mbToken = false;
@@ -138,7 +138,7 @@
}
@@ -404,6 +423,19 @@ inline bool ScFormulaResult::IsValue() const
- return sv == svDouble || sv == svError || sv == svEmptyCell;
+ return sv == formula::svDouble || sv == formula::svError || sv == formula::svEmptyCell;
}
+inline bool ScFormulaResult::IsMultiline()
@@ -166,10 +166,10 @@
}
diff --git sc/source/core/data/cell.cxx sc/source/core/data/cell.cxx
-index 9b4f91a..c1a7317 100644
+index 9d1d58c..f284865 100644
--- sc/source/core/data/cell.cxx
+++ sc/source/core/data/cell.cxx
-@@ -1821,6 +1821,13 @@ void ScFormulaCell::GetURLResult( String& rURL, String& rCellText )
+@@ -1796,6 +1796,13 @@ void ScFormulaCell::GetURLResult( String& rURL, String& rCellText )
}
}
@@ -184,10 +184,10 @@
{
String aCellText;
diff --git sc/source/core/data/cell2.cxx sc/source/core/data/cell2.cxx
-index b0423a4..d68124b 100644
+index b744d84..af14bfc 100644
--- sc/source/core/data/cell2.cxx
+++ sc/source/core/data/cell2.cxx
-@@ -134,7 +134,7 @@ void ScEditCell::GetString( String& rString ) const
+@@ -136,7 +136,7 @@ void ScEditCell::GetString( String& rString ) const
// auch Text von URL-Feldern, Doc-Engine ist eine ScFieldEditEngine
EditEngine& rEngine = pDoc->GetEditEngine();
rEngine.SetText( *pData );
@@ -197,7 +197,7 @@
if ( rString.Len() < MAXSTRLEN )
((ScEditCell*)this)->pString = new String( rString ); //! non-const
diff --git sc/source/core/data/column.cxx sc/source/core/data/column.cxx
-index f4555dc..ea70bbe 100644
+index 31a43d4..2c95181 100644
--- sc/source/core/data/column.cxx
+++ sc/source/core/data/column.cxx
@@ -2246,8 +2246,10 @@ BOOL ScColumn::HasEditCells(SCROW nStartRow, SCROW nEndRow, SCROW& rFirst) const
@@ -233,10 +233,10 @@
if (!bEditEngine) // direkte Ausgabe
{
diff --git sc/source/core/data/column3.cxx sc/source/core/data/column3.cxx
-index 1f5f531..76ddd16 100644
+index 68007bf..1009cb8 100644
--- sc/source/core/data/column3.cxx
+++ sc/source/core/data/column3.cxx
-@@ -898,8 +898,17 @@ ScBaseCell* ScColumn::CloneCell(SCSIZE nIndex, USHORT nFlags,
+@@ -888,8 +888,17 @@ ScBaseCell* ScColumn::CloneCell(SCSIZE nIndex, USHORT nFlags,
String aString;
pForm->GetString(aString);
if ( aString.Len() )
@@ -293,10 +293,10 @@
Rectangle ScEditUtil::GetEditArea( const ScPatternAttr* pPattern, BOOL bForceToTop )
diff --git sc/source/filter/dif/difimp.cxx sc/source/filter/dif/difimp.cxx
-index ece5a74..293fd3f 100644
+index 99651ea..9e4a65c 100644
--- sc/source/filter/dif/difimp.cxx
+++ sc/source/filter/dif/difimp.cxx
-@@ -337,7 +337,7 @@ TOPIC DifParser::GetNextTopic( void )
+@@ -338,7 +338,7 @@ TOPIC DifParser::GetNextTopic( void )
while( eS != S_END )
{
@@ -305,7 +305,7 @@
{
eS = S_END;
eRet = T_END;
-@@ -405,10 +405,10 @@ TOPIC DifParser::GetNextTopic( void )
+@@ -406,10 +406,10 @@ TOPIC DifParser::GetNextTopic( void )
break;
case S_UNKNOWN:
// 2 Zeilen ueberlesen
@@ -318,7 +318,7 @@
eS = S_END;
break;
default:
-@@ -420,7 +420,7 @@ TOPIC DifParser::GetNextTopic( void )
+@@ -421,7 +421,7 @@ TOPIC DifParser::GetNextTopic( void )
}
@@ -327,7 +327,7 @@
{
// Special handling for DIF import: Escaped (duplicated) quotes are resolved.
// Single quote characters are left in place because older versions didn't
-@@ -436,25 +436,107 @@ void lcl_DeEscapeQuotesDif( String& rString )
+@@ -437,25 +437,107 @@ void lcl_DeEscapeQuotesDif( String& rString )
}
}
@@ -442,7 +442,7 @@
if( IsBOT( aLine.GetBuffer() ) )
eRet = D_BOT;
else if( IsEOD( aLine.GetBuffer() ) )
-@@ -462,37 +544,16 @@ DATASET DifParser::GetNextDataset( void )
+@@ -463,37 +545,16 @@ DATASET DifParser::GetNextDataset( void )
}
break;
case '0': // Numeric Data
@@ -486,7 +486,7 @@
aTmp.AppendAscii( " (" );
aTmp += aData;
aTmp += sal_Unicode(')');
-@@ -504,18 +565,62 @@ DATASET DifParser::GetNextDataset( void )
+@@ -505,18 +566,62 @@ DATASET DifParser::GetNextDataset( void )
case '1': // String Data
if( Is1_0( aLine.GetBuffer() ) )
{
@@ -557,10 +557,10 @@
if( rIn.IsEof() )
eRet = D_EOD;
diff --git sc/source/filter/excel/xestyle.cxx sc/source/filter/excel/xestyle.cxx
-index 1a86eb1..115f1e8 100644
+index 575d453..d93eec3 100644
--- sc/source/filter/excel/xestyle.cxx
+++ sc/source/filter/excel/xestyle.cxx
-@@ -1963,9 +1963,9 @@ sal_uInt32 XclExpXFBuffer::InsertWithFont( const ScPatternAttr* pPattern, sal_In
+@@ -2319,9 +2319,9 @@ sal_uInt32 XclExpXFBuffer::InsertWithFont( const ScPatternAttr* pPattern, sal_In
return InsertCellXF( pPattern, nScript, NUMBERFORMAT_ENTRY_NOT_FOUND, nForceXclFont, bForceLineBreak );
}
@@ -573,10 +573,10 @@
sal_uInt32 XclExpXFBuffer::InsertStyle( const SfxStyleSheetBase* pStyleSheet )
diff --git sc/source/filter/excel/xetable.cxx sc/source/filter/excel/xetable.cxx
-index 91f4736..9323d86 100644
+index 006b819..2554280 100644
--- sc/source/filter/excel/xetable.cxx
+++ sc/source/filter/excel/xetable.cxx
-@@ -760,13 +760,15 @@ XclExpFormulaCell::XclExpFormulaCell(
+@@ -839,13 +839,15 @@ XclExpFormulaCell::XclExpFormulaCell(
// #i41420# find script type according to result type (always latin for numeric results)
sal_Int16 nScript = ApiScriptType::LATIN;
@@ -594,10 +594,10 @@
// *** Convert the formula token array *** --------------------------------
diff --git sc/source/filter/html/htmlexp.cxx sc/source/filter/html/htmlexp.cxx
-index eef4768..4c03e12 100644
+index 20fbd39..75f1515 100644
--- sc/source/filter/html/htmlexp.cxx
+++ sc/source/filter/html/htmlexp.cxx
-@@ -1152,9 +1152,31 @@ void ScHTMLExport::WriteCell( SCCOL nCol, SCROW nRow, SCTAB nTab )
+@@ -1154,9 +1154,31 @@ void ScHTMLExport::WriteCell( SCCOL nCol, SCROW nRow, SCTAB nTab )
if ( !bFieldText )
{
if ( !aStrOut.Len() )
@@ -630,7 +630,7 @@
}
if ( pGraphEntry )
WriteGraphEntry( pGraphEntry );
-@@ -1192,7 +1214,7 @@ BOOL ScHTMLExport::WriteFieldText( const ScEditCell* pCell )
+@@ -1194,7 +1216,7 @@ BOOL ScHTMLExport::WriteFieldText( const ScEditCell* pCell )
for ( USHORT nPar=0; nPar < nParas; nPar++ )
{
if ( nPar > 0 )
@@ -656,10 +656,10 @@
static inline BOOL IsEOD( const sal_Unicode* pRef );
static inline BOOL Is1_0( const sal_Unicode* pRef );
diff --git sc/source/filter/inc/xestyle.hxx sc/source/filter/inc/xestyle.hxx
-index 7625c16..8a17a74 100644
+index 55cbc25..8485bb1 100644
--- sc/source/filter/inc/xestyle.hxx
+++ sc/source/filter/inc/xestyle.hxx
-@@ -618,10 +618,13 @@ public:
+@@ -643,10 +643,13 @@ public:
@param nXFFlags Additional flags allowing to control the creation of an XF.
@param nForceScNumFmt The number format to be exported, e.g. formula
result type. This format will always overwrite the cell's number format.
@@ -675,7 +675,7 @@
@return A unique XF record ID. */
sal_uInt32 InsertStyle( const SfxStyleSheetBase* pStyleSheet );
diff --git sc/source/filter/qpro/qpro.cxx sc/source/filter/qpro/qpro.cxx
-index 0773f4b..deceae2 100644
+index 3d5ea26..9bac593 100644
--- sc/source/filter/qpro/qpro.cxx
+++ sc/source/filter/qpro/qpro.cxx
@@ -71,7 +71,7 @@ FltError ScQProReader::readSheet( SCTAB nTab, ScDocument* pDoc, ScQProStyle *pSt
@@ -688,7 +688,7 @@
break;
diff --git sc/source/filter/xml/XMLExportIterator.cxx sc/source/filter/xml/XMLExportIterator.cxx
-index 768c926..29a2e2c 100644
+index 8ba7cad..8a7e52b 100644
--- sc/source/filter/xml/XMLExportIterator.cxx
+++ sc/source/filter/xml/XMLExportIterator.cxx
@@ -568,6 +568,7 @@ ScMyCell::ScMyCell() :
@@ -700,7 +700,7 @@
bHasShape( sal_False ),
bIsMergedBase( sal_False ),
diff --git sc/source/filter/xml/XMLExportIterator.hxx sc/source/filter/xml/XMLExportIterator.hxx
-index a55f746..9d1834c 100644
+index abe9185..0b0d51c 100644
--- sc/source/filter/xml/XMLExportIterator.hxx
+++ sc/source/filter/xml/XMLExportIterator.hxx
@@ -48,6 +48,7 @@ class ScHorizontalCellIterator;
@@ -711,7 +711,7 @@
//==============================================================================
-@@ -313,6 +314,8 @@ struct ScMyCell
+@@ -312,6 +313,8 @@ struct ScMyCell
sal_Int32 nNumberFormat;
com::sun::star::table::CellContentType nType;
@@ -721,10 +721,10 @@
sal_Bool bHasShape;
diff --git sc/source/filter/xml/xmlexprt.cxx sc/source/filter/xml/xmlexprt.cxx
-index 61ac047..29b4fa1 100644
+index b5e508a..5c7a39a 100644
--- sc/source/filter/xml/xmlexprt.cxx
+++ sc/source/filter/xml/xmlexprt.cxx
-@@ -2489,7 +2489,8 @@ void ScXMLExport::WriteCell (ScMyCell& aCell)
+@@ -2474,7 +2474,8 @@ void ScXMLExport::WriteCell (ScMyCell& aCell)
if (!bIsEmpty)
{
@@ -734,7 +734,7 @@
{
bEditCell = sal_True;
uno::Reference<text::XText> xText(xCurrentTableCellRange->getCellByPosition(aCell.aCellAddress.Column, aCell.aCellAddress.Row), uno::UNO_QUERY);
-@@ -2962,12 +2963,15 @@ sal_Bool ScXMLExport::IsCellTypeEqual (const ScMyCell& aCell1, const ScMyCell& a
+@@ -2940,12 +2941,15 @@ sal_Bool ScXMLExport::IsCellTypeEqual (const ScMyCell& aCell1, const ScMyCell& a
return (aCell1.nType == aCell2.nType);
}
@@ -751,7 +751,7 @@
if (pBaseCell)
return (pBaseCell->GetCellType() == CELLTYPE_EDIT);
return sal_False;
-@@ -2987,12 +2991,36 @@ sal_Bool ScXMLExport::IsEditCell(ScMyCell& rCell) const
+@@ -2965,12 +2969,36 @@ sal_Bool ScXMLExport::IsEditCell(ScMyCell& rCell) const
return rCell.bIsEditCell;
else
{
@@ -790,7 +790,7 @@
//UNUSED2008-05 const uno::Reference<table::XCell>& /* xCell2 */)
//UNUSED2008-05 {
diff --git sc/source/filter/xml/xmlexprt.hxx sc/source/filter/xml/xmlexprt.hxx
-index 3ca7d38..a15a3ab 100644
+index 172af18..7d55e81 100644
--- sc/source/filter/xml/xmlexprt.hxx
+++ sc/source/filter/xml/xmlexprt.hxx
@@ -62,6 +62,7 @@ class XMLNumberFormatAttributesExportHelper;
@@ -801,7 +801,7 @@
typedef std::vector< com::sun::star::uno::Reference < com::sun::star::drawing::XShapes > > ScMyXShapesVec;
-@@ -194,9 +195,10 @@ class ScXMLExport : public SvXMLExport
+@@ -188,9 +189,10 @@ class ScXMLExport : public SvXMLExport
void SetRepeatAttribute (const sal_Int32 nEqualCellCount);
sal_Bool IsCellTypeEqual (const ScMyCell& aCell1, const ScMyCell& aCell2) const;
@@ -830,10 +830,10 @@
pDestDoc->PutCell( nCol,nRow,nDestTab, pNew );
diff --git sc/source/ui/docshell/docsh.cxx sc/source/ui/docshell/docsh.cxx
-index e37455b..bd1a653 100644
+index d01cca3..688271d 100644
--- sc/source/ui/docshell/docsh.cxx
+++ sc/source/ui/docshell/docsh.cxx
-@@ -1172,6 +1172,7 @@ BOOL __EXPORT ScDocShell::ConvertFrom( SfxMedium& rMedium )
+@@ -1097,6 +1097,7 @@ BOOL __EXPORT ScDocShell::ConvertFrom( SfxMedium& rMedium )
}
bSetColWidths = TRUE;
bSetSimpleTextColWidths = TRUE;
@@ -841,7 +841,7 @@
}
else if (aFltName.EqualsAscii(pFilterSylk))
{
-@@ -1199,6 +1200,7 @@ BOOL __EXPORT ScDocShell::ConvertFrom( SfxMedium& rMedium )
+@@ -1124,6 +1125,7 @@ BOOL __EXPORT ScDocShell::ConvertFrom( SfxMedium& rMedium )
SetError(eError);
bSetColWidths = TRUE;
bSetSimpleTextColWidths = TRUE;
@@ -850,7 +850,7 @@
else if (aFltName.EqualsAscii(pFilterQPro6))
{
diff --git sc/source/ui/docshell/impex.cxx sc/source/ui/docshell/impex.cxx
-index 5ecaa46..344dcae 100644
+index 6c7b171..4cccca0 100644
--- sc/source/ui/docshell/impex.cxx
+++ sc/source/ui/docshell/impex.cxx
@@ -93,6 +93,12 @@ class StarBASIC;
@@ -923,7 +923,7 @@
rString.Insert( cStr, 0 );
rString.Append( cStr );
-@@ -1303,10 +1333,12 @@ BOOL ScImportExport::Doc2Text( SvStream& rStrm )
+@@ -1309,10 +1339,12 @@ BOOL ScImportExport::Doc2Text( SvStream& rStrm )
else
{
pDoc->GetString( nCol, nRow, aRange.aStart.Tab(), aCell );
@@ -940,7 +940,7 @@
}
}
break;
-@@ -1322,7 +1354,9 @@ BOOL ScImportExport::Doc2Text( SvStream& rStrm )
+@@ -1328,7 +1360,9 @@ BOOL ScImportExport::Doc2Text( SvStream& rStrm )
default:
{
pDoc->GetString( nCol, nRow, aRange.aStart.Tab(), aCell );
@@ -951,7 +951,7 @@
lcl_WriteString( rStrm, aCell, cStr );
else
lcl_WriteSimpleString( rStrm, aCell );
-@@ -1424,8 +1458,8 @@ BOOL ScImportExport::Sylk2Doc( SvStream& rStrm )
+@@ -1430,8 +1464,8 @@ BOOL ScImportExport::Sylk2Doc( SvStream& rStrm )
if( *p == '"' )
{
bText = TRUE;
@@ -962,7 +962,7 @@
}
else
bText = FALSE;
-@@ -1435,7 +1469,9 @@ BOOL ScImportExport::Sylk2Doc( SvStream& rStrm )
+@@ -1441,7 +1475,9 @@ BOOL ScImportExport::Sylk2Doc( SvStream& rStrm )
if ( !(*q == ';' && *(q+1) == 'I') )
{ // don't ignore value
if( bText )
@@ -973,7 +973,7 @@
else
{
double fVal = rtl_math_uStringToDouble( p,
-@@ -1467,7 +1503,9 @@ BOOL ScImportExport::Sylk2Doc( SvStream& rStrm )
+@@ -1473,7 +1509,9 @@ BOOL ScImportExport::Sylk2Doc( SvStream& rStrm )
break;
aText = '=';
if( *p == '"' )
@@ -984,7 +984,7 @@
else
{
const sal_Unicode* q = p;
-@@ -1660,14 +1698,19 @@ BOOL ScImportExport::Doc2Sylk( SvStream& rStrm )
+@@ -1667,14 +1705,19 @@ BOOL ScImportExport::Doc2Sylk( SvStream& rStrm )
case CELLTYPE_EDIT:
hasstring:
pDoc->GetString( nCol, nRow, aRange.aStart.Tab(), aCellStr );
@@ -1006,10 +1006,10 @@
checkformula:
if( bForm )
diff --git sc/source/ui/view/output2.cxx sc/source/ui/view/output2.cxx
-index 56c2900..ddeb4d3 100644
+index cb1aff9..63ecbcd 100644
--- sc/source/ui/view/output2.cxx
+++ sc/source/ui/view/output2.cxx
-@@ -1353,11 +1353,13 @@ void ScOutputData::DrawStrings( BOOL bPixelToLogic )
+@@ -1358,11 +1358,13 @@ void ScOutputData::DrawStrings( BOOL bPixelToLogic )
}
if (bDoCell && !bNeedEdit)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]