Kaydet (Commit) fac5f2af authored tarafından Eike Rathke's avatar Eike Rathke

NameToken with Sheet instead of boolean Global

... to transport an actual sheet number for other-sheet-local names
within names when importing OOXML.

Change-Id: I00f2ffe07271c1c2a8ce9e10514e10872396f566
üst ea3ce0b3
...@@ -20,7 +20,7 @@ struct NameToken ...@@ -20,7 +20,7 @@ struct NameToken
{ {
long Index; long Index;
boolean Global; long Sheet;
}; };
......
...@@ -1219,14 +1219,11 @@ bool ScTokenArray::AddFormulaToken( ...@@ -1219,14 +1219,11 @@ bool ScTokenArray::AddFormulaToken(
rToken.Data >>= aTokenData; rToken.Data >>= aTokenData;
if ( eOpCode == ocName ) if ( eOpCode == ocName )
{ {
/* TODO: new token type with sheet number */ SAL_WARN_IF( aTokenData.Sheet < -1 || std::numeric_limits<sal_Int16>::max() < aTokenData.Sheet,
if (aTokenData.Global) "sc.core",
AddRangeName(aTokenData.Index, -1); "ScTokenArray::AddFormulaToken - NameToken.Sheet out of limits: " << aTokenData.Sheet);
else sal_Int16 nSheet = static_cast<sal_Int16>(aTokenData.Sheet);
bError = true; AddRangeName(aTokenData.Index, nSheet);
/* FIXME: resolve the non-global case to the
* current position's sheet as it implicitly was
* before, currently this is broken. */
} }
else if (eOpCode == ocDBArea) else if (eOpCode == ocDBArea)
AddDBRange(aTokenData.Index); AddDBRange(aTokenData.Index);
......
...@@ -422,8 +422,7 @@ bool ScTokenConversion::ConvertToTokenSequence( const ScDocument& rDoc, ...@@ -422,8 +422,7 @@ bool ScTokenConversion::ConvertToTokenSequence( const ScDocument& rDoc,
{ {
sheet::NameToken aNameToken; sheet::NameToken aNameToken;
aNameToken.Index = static_cast<sal_Int32>( rToken.GetIndex() ); aNameToken.Index = static_cast<sal_Int32>( rToken.GetIndex() );
/* FIXME: we need a new token with sheet number */ aNameToken.Sheet = rToken.GetSheet();
aNameToken.Global = (rToken.GetSheet() < 0);
rAPI.Data <<= aNameToken; rAPI.Data <<= aNameToken;
} }
break; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment