26 #include <document.hxx>
32 #include <tokenarray.hxx>
40 SAL_WARN_IF( pString ==
nullptr,
"sc.filter",
"PutFormString(): pString == NULL" );
105 const double pFacts[ 8 ] = {
119 fVal = pFacts[ ( nVal >> 1 ) & 0x0007 ];
120 fVal *=
static_cast<sal_Int16
>( nVal >> 4 );
123 fVal =
static_cast<sal_Int16
>( nVal >> 1 );
132 fValue = nValue >> 6;
133 temp = nValue & 0x0f;
136 if (nValue & 0x00000010)
137 fValue /= pow(
double(10), temp);
139 fValue *= pow(
double(10), temp);
142 if (nValue & 0x00000020)
164 OUString aFormString;
169 bool bDefault =
false;
173 nH = ( nFormat & 0xF0 ) / 16;
188 SvNumFormatType::SCIENTIFIC,
eLanguage );
246 eType = SvNumFormatType::DATE;
251 eType = SvNumFormatType::DATE;
258 eType = SvNumFormatType::DATE;
265 eType = SvNumFormatType::TEXT;
270 eType = SvNumFormatType::NUMBER;
271 aFormString =
"\"\"";
275 eType = SvNumFormatType::TIME;
280 eType = SvNumFormatType::TIME;
285 eType = SvNumFormatType::DATE;
290 eType = SvNumFormatType::DATE;
295 eType = SvNumFormatType::TIME;
300 eType = SvNumFormatType::TIME;
393 [&rRef](
const std::unique_ptr<LotusRange>& pRange) {
return rRef == *pRange; });
395 return (*pIter)->nId;
403 auto pLRTmp = pLR.get();
413 if( pLRTmp->IsSingle() )
440 Entry aInsert( rOrgName, rCRD );
469 std::vector<Entry>::const_iterator itr = std::find_if(
maEntries.begin(),
maEntries.end(),
470 [&aRef](
const Entry& rEntry) {
return aRef == rEntry.aStrHashEntry; });
473 rIndex = itr->nRelInd;
487 [&aRef](
const Entry& rEntry) {
return aRef == rEntry.aStrHashEntry; });
492 rIndex = itr->nAbsInd;
502 if( itr->bSingleRef )
506 pRef = &itr->aScComplexRefDataRel.Ref2;
510 pScTokenArray->AddDoubleReference( itr->aScComplexRefDataRel );
rtl_TextEncoding eCharset
formula::FormulaToken * AddDoubleReference(const ScComplexRefData &rRef)
std::unique_ptr< SvxHorJustifyItem > xAttrRepeat
SCCOL SanitizeCol(SCCOL nCol) const
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.
std::vector< std::unique_ptr< LotusRange > > maRanges
std::unique_ptr< FormCache > xValueFormCache
void Copy(const LotusRange &)
ScAddress toAbs(const ScSheetLimits &rLimits, const ScAddress &rPos) const
void SetRelTab(SCTAB nVal)
LR_ID GetIndex(SCCOL nCol, SCROW nRow)
ScComplexRefData aComplRef
formula::FormulaToken * AddSingleReference(const ScSingleRefData &rRef)
ScSingleRefToken with ocPush.
void Add(const ScDocument &rDoc, const OUString &rName, const ScComplexRefData &rCRD)
void SetAbsRow(SCROW nVal)
void SetRowRel(bool bVal)
SC_DLLPUBLIC void ApplyAttr(SCCOL nCol, SCROW nRow, SCTAB nTab, const SfxPoolItem &rAttr)
void SetProtection(bool bProtect)
void Append(const ScDocument *pDoc, std::unique_ptr< LotusRange > pLR)
const BorderLinePrimitive2D *pCandidateB assert(pCandidateA)
void SetTabRel(bool bVal)
std::unique_ptr< SvxHorJustifyItem > xAttrRight
std::unique_ptr< SvxHorJustifyItem > xAttrCenter
bool FindAbs(const OUString &rRef, sal_uInt16 &rIndex)
std::unique_ptr< SvxHorJustifyItem > xAttrLeft
SC_DLLPUBLIC bool SetString(SCCOL nCol, SCROW nRow, SCTAB nTab, const OUString &rString, const ScSetStringParam *pParam=nullptr)
SC_DLLPUBLIC SvNumberFormatter * GetFormatTable() const
void SetFlag3D(bool bVal)
void SetAbsCol(SCCOL nVal)
constexpr TypedWhichId< SfxUInt32Item > ATTR_VALUE_FORMAT(146)
static SC_DLLPUBLIC LanguageType eLnge
LotusRange(SCCOL nCol, SCROW nRow)
SCROW SanitizeRow(SCROW nRow) const
SCTAB SanitizeTab(SCTAB nTab)
#define SAL_WARN_IF(condition, area, stream)
std::unique_ptr< SvxHorJustifyItem > xAttrStandard
bool FindRel(const OUString &rRef, sal_uInt16 &rIndex)
RangeNameBufferWK3(const ScDocument &rDoc)
std::vector< Entry > maEntries
Complex reference (a range) into the sheet.
void SetColRel(bool bVal)
std::unique_ptr< ScTokenArray > pScTokenArray