27#include <document.hxx>
33#include <tokenarray.hxx>
41 SAL_WARN_IF( pString ==
nullptr,
"sc.filter",
"PutFormString(): pString == NULL" );
106 const double pFacts[ 8 ] = {
120 fVal = pFacts[ ( nVal >> 1 ) & 0x0007 ];
121 fVal *=
static_cast<sal_Int16
>( nVal >> 4 );
124 fVal =
static_cast<sal_Int16
>( nVal >> 1 );
138 fValue /= pow(
double(10), temp);
140 fValue *= pow(
double(10), temp);
165 OUString aFormString;
170 bool bDefault =
false;
174 nH = ( nFormat & 0xF0 ) / 16;
189 SvNumFormatType::SCIENTIFIC,
eLanguage );
247 eType = SvNumFormatType::DATE;
252 eType = SvNumFormatType::DATE;
259 eType = SvNumFormatType::DATE;
266 eType = SvNumFormatType::TEXT;
271 eType = SvNumFormatType::NUMBER;
272 aFormString =
"\"\"";
276 eType = SvNumFormatType::TIME;
281 eType = SvNumFormatType::TIME;
286 eType = SvNumFormatType::DATE;
291 eType = SvNumFormatType::DATE;
296 eType = SvNumFormatType::TIME;
301 eType = SvNumFormatType::TIME;
394 [&rRef](
const std::unique_ptr<LotusRange>& pRange) { return rRef == *pRange; });
396 return (*pIter)->nId;
404 auto pLRTmp = pLR.get();
414 if( pLRTmp->IsSingle() )
441 Entry aInsert( rOrgName, rCRD );
470 std::vector<Entry>::const_iterator itr = std::find_if(
maEntries.begin(),
maEntries.end(),
471 [&aRef](
const Entry& rEntry) { return aRef == rEntry.aStrHashEntry; });
474 rIndex = itr->nRelInd;
488 [&aRef](
const Entry& rEntry) { return aRef == rEntry.aStrHashEntry; });
493 rIndex = itr->nAbsInd;
503 if( itr->bSingleRef )
507 pRef = &itr->aScComplexRefDataRel.Ref2;
511 pScTokenArray->AddDoubleReference( itr->aScComplexRefDataRel );
SCTAB SanitizeTab(SCTAB nTab)
ScComplexRefData aComplRef
void Append(const ScDocument *pDoc, std::unique_ptr< LotusRange > pLR)
LR_ID GetIndex(SCCOL nCol, SCROW nRow)
std::vector< std::unique_ptr< LotusRange > > maRanges
LotusRange(SCCOL nCol, SCROW nRow)
void Copy(const LotusRange &)
void Add(const ScDocument &rDoc, const OUString &rName, const ScComplexRefData &rCRD)
std::unique_ptr< ScTokenArray > pScTokenArray
std::vector< Entry > maEntries
bool FindAbs(std::u16string_view rRef, sal_uInt16 &rIndex)
bool FindRel(const OUString &rRef, sal_uInt16 &rIndex)
RangeNameBufferWK3(const ScDocument &rDoc)
SCROW SanitizeRow(SCROW nRow) const
SC_DLLPUBLIC bool SetString(SCCOL nCol, SCROW nRow, SCTAB nTab, const OUString &rString, const ScSetStringParam *pParam=nullptr)
SC_DLLPUBLIC void ApplyAttr(SCCOL nCol, SCROW nRow, SCTAB nTab, const SfxPoolItem &rAttr)
SCCOL SanitizeCol(SCCOL nCol) const
SC_DLLPUBLIC SvNumberFormatter * GetFormatTable() const
static SC_DLLPUBLIC LanguageType eLnge
void SetProtection(bool bProtect)
formula::FormulaToken * AddDoubleReference(const ScComplexRefData &rRef)
formula::FormulaToken * AddSingleReference(const ScSingleRefData &rRef)
ScSingleRefToken with ocPush.
#define SAL_WARN_IF(condition, area, stream)
constexpr TypedWhichId< SfxUInt32Item > ATTR_VALUE_FORMAT(146)
std::unique_ptr< SvxHorJustifyItem > xAttrLeft
std::unique_ptr< SvxHorJustifyItem > xAttrCenter
std::unique_ptr< FormCache > xValueFormCache
std::unique_ptr< SvxHorJustifyItem > xAttrStandard
std::unique_ptr< SvxHorJustifyItem > xAttrRepeat
std::unique_ptr< SvxHorJustifyItem > xAttrRight
rtl_TextEncoding eCharset
Complex reference (a range) into the sheet.
Store parameters used in the ScDocument::SetString() method.
void setTextInput()
Call this whenever you need to unconditionally set input as text, no matter what the input is.
Single reference (one address) into the sheet.
void SetAbsCol(SCCOL nVal)
void SetRowRel(bool bVal)
void SetTabRel(bool bVal)
void SetRelTab(SCTAB nVal)
ScAddress toAbs(const ScSheetLimits &rLimits, const ScAddress &rPos) const
void SetAbsRow(SCROW nVal)
void SetFlag3D(bool bVal)
void SetColRel(bool bVal)