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
{
long Index;
boolean Global;
long Sheet;
};
......
......@@ -1219,14 +1219,11 @@ bool ScTokenArray::AddFormulaToken(
rToken.Data >>= aTokenData;
if ( eOpCode == ocName )
{
/* TODO: new token type with sheet number */
if (aTokenData.Global)
AddRangeName(aTokenData.Index, -1);
else
bError = true;
/* FIXME: resolve the non-global case to the
* current position's sheet as it implicitly was
* before, currently this is broken. */
SAL_WARN_IF( aTokenData.Sheet < -1 || std::numeric_limits<sal_Int16>::max() < aTokenData.Sheet,
"sc.core",
"ScTokenArray::AddFormulaToken - NameToken.Sheet out of limits: " << aTokenData.Sheet);
sal_Int16 nSheet = static_cast<sal_Int16>(aTokenData.Sheet);
AddRangeName(aTokenData.Index, nSheet);
}
else if (eOpCode == ocDBArea)
AddDBRange(aTokenData.Index);
......
......@@ -422,8 +422,7 @@ bool ScTokenConversion::ConvertToTokenSequence( const ScDocument& rDoc,
{
sheet::NameToken aNameToken;
aNameToken.Index = static_cast<sal_Int32>( rToken.GetIndex() );
/* FIXME: we need a new token with sheet number */
aNameToken.Global = (rToken.GetSheet() < 0);
aNameToken.Sheet = rToken.GetSheet();
rAPI.Data <<= aNameToken;
}
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