27 #include <document.hxx>
48 #include <tokenarray.hxx>
88 #include <com/sun/star/util/NumberFormat.hpp>
90 #include <com/sun/star/sheet/ValidationType.hpp>
91 #include <com/sun/star/sheet/ValidationAlertStyle.hpp>
93 #include <rtl/ustrbuf.hxx>
94 #include <osl/diagnose.h>
105 maItemSet(rEditEngine.GetEmptyItemSet()) {}
115 const bool bTempIsCovered,
116 const sal_Int32 nTempRepeatedRows ) :
120 fValue(
std::numeric_limits<double>::quiet_NaN()),
147 std::optional<OUString> xStyleName;
148 std::optional<OUString> xCurrencySymbol;
149 if ( rAttrList.is() )
151 for (
auto &it : *rAttrList)
153 switch ( it.getToken() )
156 xStyleName = it.toString();
183 std::max( it.toInt32(),
static_cast<sal_Int32
>(1) ) ));
190 if(it.isString(
"error" ) )
234 OSL_ENSURE(!
maStringValue,
"here should be only one string value");
258 OSL_ENSURE(!
maFormula,
"here should be only one formula");
259 OUString aFormula, aFormulaNmsp;
266 xCurrencySymbol = it.toString();
276 if (
nCellType == util::NumberFormat::TEXT)
278 if(
nCellType == util::NumberFormat::DATETIME)
279 nCellType = util::NumberFormat::UNDEFINED;
306 return( rCellPos.
Col() >= 0 && rCellPos.
Row() >= 0 &&
315 sal_Int32 nEnd = nBegin + rSpan.getLength();
324 maFields.push_back(std::make_unique<Field>(std::move(pData)));
339 if (rStyleName.isEmpty())
348 sal_Int32 nEntryCount = xMapper->GetEntryCount();
362 const std::vector<XMLPropertyState>& rProps = pStyle->
GetProperties();
380 std::unique_ptr<SfxPoolItem> pPoolItem;
383 for (
const auto& rProp : rProps)
385 if (rProp.mnIndex == -1 || rProp.mnIndex >= nEntryCount)
388 const OUString& rName = xMapper->GetEntryAPIName(rProp.mnIndex);
393 if (nLastItemID != pEntry->
mnItemID && pPoolItem)
410 pPoolItem->PutValue(rProp.maValue, pEntry->
mnFlag);
420 pPoolItem->PutValue(rProp.maValue, pEntry->
mnFlag);
430 pPoolItem->PutValue(rProp.maValue, pEntry->
mnFlag);
440 pPoolItem->PutValue(rProp.maValue, pEntry->
mnFlag);
448 pPoolItem->PutValue(rProp.maValue, pEntry->
mnFlag);
456 pPoolItem->PutValue(rProp.maValue, pEntry->
mnFlag);
464 pPoolItem->PutValue(rProp.maValue, pEntry->
mnFlag);
472 pPoolItem->PutValue(rProp.maValue, pEntry->
mnFlag);
480 pPoolItem->PutValue(rProp.maValue, pEntry->
mnFlag);
488 pPoolItem->PutValue(rProp.maValue, pEntry->
mnFlag);
496 pPoolItem->PutValue(rProp.maValue, pEntry->
mnFlag);
504 pPoolItem->PutValue(rProp.maValue, pEntry->
mnFlag);
512 pPoolItem->PutValue(rProp.maValue, pEntry->
mnFlag);
520 pPoolItem->PutValue(rProp.maValue, pEntry->
mnFlag);
528 pPoolItem->PutValue(rProp.maValue, pEntry->
mnFlag);
536 pPoolItem->PutValue(rProp.maValue, pEntry->
mnFlag);
544 pPoolItem->PutValue(rProp.maValue, pEntry->
mnFlag);
554 pPoolItem->PutValue(rProp.maValue, pEntry->
mnFlag);
593 const OUString& rURL,
const OUString& rRep,
const OUString& rStyleName,
const OUString& rTargetFrame)
596 std::unique_ptr<SvxURLField> pURLField(
new SvxURLField(aAbsURL, rRep, SvxURLFormat::Repr));
597 pURLField->SetTargetFrame(rTargetFrame);
632 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
651 SAL_WARN(
"sc",
"ScXMLTableRowCellContext::createFastChildContext: subtables are not supported");
677 "ScXMLTableRowCellContext::CreateChildContext - multiple annotations in one cell");
685 if (!pContext && !bTextP)
699 pTableShapeImport->
SetCell(aCellPos);
715 SCCOL mergeToCol = rScAddress.
Col() + nCols;
716 SCROW mergeToRow = rScAddress.
Row() + nRows;
718 bool bInBounds = rScAddress.
Col() <= pDoc->
MaxCol() && rScAddress.
Row() <= pDoc->
MaxRow() &&
719 mergeToCol <= pDoc->
MaxCol() && mergeToRow <= pDoc->
MaxRow();
723 rScAddress.
Col(), rScAddress.
Row(), mergeToCol, mergeToRow );
736 case sheet::ValidationType_DATE: eMode =
SC_VALID_DATE;
break;
737 case sheet::ValidationType_TIME: eMode =
SC_VALID_TIME;
break;
739 case sheet::ValidationType_LIST: eMode =
SC_VALID_LIST;
break;
746 ScValidErrorStyle validAlertToValidError(
const sheet::ValidationAlertStyle eVAlertStyle )
749 switch( eVAlertStyle )
751 case sheet::ValidationAlertStyle_STOP: eVErrStyle =
SC_VALERR_STOP;
break;
753 case sheet::ValidationAlertStyle_MACRO: eVErrStyle =
SC_VALERR_MACRO;
break;
834 sal_Int32 nOldShapeCount = xShapes.is() ? xShapes->getCount() : 0;
837 "ScXMLTableRowCellContext::SetAnnotation - shape without drawing page" );
840 OSL_ENSURE(
mxAnnotationData->mxShapes.get() == xShapes.get(),
"ScXMLTableRowCellContext::SetAnnotation - different drawing pages" );
842 OSL_ENSURE( pObject,
"ScXMLTableRowCellContext::SetAnnotation - cannot get SdrObject from shape" );
848 if(
SdrCaptionObj* pCaption = dynamic_cast< SdrCaptionObj* >( pObject ) )
850 OSL_ENSURE( !pCaption->GetLogicRect().IsEmpty(),
"ScXMLTableRowCellContext::SetAnnotation - invalid caption rectangle" );
862 SfxItemSet aItemSet( pObject->GetMergedItemSet() );
864 if (
auto p = pObject->GetOutlinerParaObject())
868 aCaptionRect = pObject->GetLogicRect();
874 nOldShapeCount = xShapes->getCount();
883 std::move(aItemSet), *pOutlinerObj,
889 std::move(aItemSet), *pOutlinerObj,
890 aCaptionRect,
false );
912 const Color* pColor =
nullptr;
920 if( xShapes.is() && (nOldShapeCount < xShapes->getCount()) )
922 uno::Reference< drawing::XShape > xShape;
932 pSheetData->
AddNoteContentStyle( rContentStyle.mnFamily, rContentStyle.maName, rPos, rContentStyle.maSelection );
948 aDetFunc.InsertObject( rDetectiveObj.eObjType, rPosition, rDetectiveObj.aSourceRange, rDetectiveObj.bHasError );
949 if (xShapesIndex.is())
951 sal_Int32 nShapes = xShapesIndex->getCount();
952 uno::Reference < drawing::XShape > xShape;
983 bool bMayForceNumberformat =
true;
999 bMayForceNumberformat =
false;
1002 else if (std::isfinite(
fValue))
1015 if (bMayForceNumberformat)
1021 const SCCOL nCurrentCol, const ::std::optional< OUString >& pOUText )
1024 bool bDoIncrement =
true;
1034 OUString aCellString;
1039 else if ( nCurrentCol > 0 && pOUText && !pOUText->isEmpty() )
1040 aCellString = *pOUText;
1042 bDoIncrement =
false;
1045 bDoIncrement =
false;
1047 if(!aCellString.isEmpty())
1064 SAL_WARN(
"sc",
"matrix cell without matrix");
1075 bDoIncrement =
true;
1090 for (
const auto& rxField :
maFields)
1098 bDoIncrement =
true;
1100 else if ( nCurrentCol > 0 && pOUText && !pOUText->isEmpty() )
1103 bDoIncrement =
true;
1106 bDoIncrement =
false;
1137 if (!std::isfinite(
fValue))
1160 const ::std::optional< OUString >& pOUText,
ScAddress& rCurrentPos )
1183 rCurrentPos.
SetRow( rCellPos.
Row() + j );
1193 if( (rCurrentPos.
Col() == 0) && (j > 0) )
1198 if( cellExists(*pDoc, rCurrentPos) )
1200 if( !
bIsCovered || isEmptyOrNote(pDoc, rCurrentPos) )
1204 case util::NumberFormat::TEXT:
1209 case util::NumberFormat::NUMBER:
1211 case util::NumberFormat::CURRENCY:
1212 case util::NumberFormat::TIME:
1213 case util::NumberFormat::DATETIME:
1214 case util::NumberFormat::LOGICAL:
1221 OSL_FAIL(
"no cell type given");
1245 if ((
i == 0) && (rCellPos.
Col() == 0))
1271 switch (aCell.meType)
1289 const Color* pColor;
1300 ::std::optional< OUString > pOUText;
1303 if(
nCellType == util::NumberFormat::TEXT )
1306 pOUText = getOutputString(pDoc, rCellPos);
1324 ScRange aScRange( nStartCol, nStartRow, rCellPos.
Tab(), nEndCol, nEndRow, rCellPos.
Tab() );
1328 else if( cellExists(*pDoc, rCellPos) )
1344 if ( aText.isEmpty() )
1348 std::unique_ptr<ScTokenArray> pCode(
new ScTokenArray(*pDoc));
1353 if (nError != FormulaError::NONE)
1355 pCode->SetCodeError(nError);
1361 if (aText.startsWithIgnoreAsciiCase(
"Err:") && aText.getLength() <= 9 &&
1365 pCode->SetCodeError(nError);
1369 OUString aFormulaNmsp =
maFormula->second;
1371 aFormulaNmsp.clear();
1372 pCode->AssignXMLString( aText, aFormulaNmsp );
1385 if( cellExists(*pDoc, rCellPos) )
1399 rCellPos.
Col(), rCellPos.
Row(),
1421 else if (std::isfinite(
fValue))
1474 else if (aStr.startsWith(
"Err:"))
1476 else if (aStr.startsWith(
"#"))
exports com.sun.star.lib. util
Matrix data type that can store values of mixed types.
void HandleNoteStyles(const OUString &rStyleName, const OUString &rTextName, const ScAddress &rCellPos)
void SetAuthor(const OUString &rAuthor)
Sets a new author date for this note.
OUString GetText(LineEnd eEnd=LINEEND_LF) const
bool CellsAreRepeated() const
constexpr TypedWhichId< SvxFontItem > EE_CHAR_FONTINFO_CJK(EE_CHAR_START+17)
void AddCell(const ScAddress &rAddress)
OUString GetFirstParagraph() const
virtual ~ScXMLTableRowCellContext() override
void AddTextAndValueCell(const ScAddress &rScCellPos, const ::std::optional< OUString > &pOUText, ScAddress &rScCurrentPos)
XML_NUMBER_COLUMNS_SPANNED
constexpr TypedWhichId< SvxAutoKernItem > EE_CHAR_PAIRKERNING(EE_CHAR_START+11)
SharedString intern(const OUString &rStr)
SC_DLLPUBLIC svl::SharedStringPool & GetSharedStringPool()
constexpr TypedWhichId< SvxKerningItem > EE_CHAR_KERNING(EE_CHAR_START+12)
void SetDate(const OUString &rDate)
Sets a new creation date for this note.
void PutFormulaCell(const ScAddress &rScCurrentPos)
ScXMLTableRowCellContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, const bool bIsCovered, const sal_Int32 nRepeatedRows)
Provide mapping from ODF text formatting styles to EditEngine's, for rich-text cell content import...
ScEditEngineDefaulter * mpEditEngine
unformatted first paragraph, for better performance.
void SetAnnotation(const ScAddress &rPosition)
void SetOnTable(const bool bTempOnTable)
void PutValueCell(const ScAddress &rScCurrentPos)
ScDocument * GetDocument()
std::unique_ptr< sal_Int32[]> pData
XML_NUMBER_MATRIX_ROWS_SPANNED
SC_DLLPUBLIC const ScFormulaCell * GetFormulaCell(const ScAddress &rPos) const
void QuickInsertField(const SvxFieldItem &rFld, const ESelection &rSel)
const ::std::vector< XMLPropertyState > & GetProperties() const
void InsertFileLink(sfx2::SvBaseLink &, SvBaseLinkObjectType nFileType, std::u16string_view rFileNm, const OUString *pFilterNm=nullptr, const OUString *pRange=nullptr)
void PushParagraphSpan(const OUString &rSpan, const OUString &rStyleName)
SCCOL GetMaxColCount() const
static SdrObject * getSdrObjectFromXShape(const css::uno::Reference< css::uno::XInterface > &xInt)
SvXMLImport & GetImport()
constexpr OUStringLiteral PERCENT(u"Percent")
constexpr TypedWhichId< SvxPostureItem > EE_CHAR_ITALIC(EE_CHAR_START+7)
bool IsXMLToken(std::u16string_view rString, enum XMLTokenEnum eToken)
FastAttributeList & castToFastAttributeList(const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList)
std::optional< OUString > maContentValidationName
office:string-value attribute
const ScXMLEditAttributeMap & GetEditAttributeMap() const
constexpr TypedWhichId< SvxLanguageItem > EE_CHAR_LANGUAGE_CJK(EE_CHAR_START+15)
This is very similar to ScCellValue, except that it references the original value instead of copying ...
ScMyStylesImportHelper * GetStylesImportHelper()
rtl::Reference< XMLTextImportHelper > const & GetTextImport()
Accessor class to ScDocument.
void HasSpecialCaseFormulaText()
EmbeddedObjectRef * pObject
void BlockSheet(SCTAB nTab)
constexpr TypedWhichId< SvxFontHeightItem > EE_CHAR_FONTHEIGHT(EE_CHAR_START+2)
formula::FormulaGrammar::Grammar eGrammar
void setEditCell(const ScAddress &rPos, std::unique_ptr< EditTextObject > pEditText)
SC_DLLPUBLIC ScDocumentPool * GetPool()
void SetListType(sal_Int16 nListType)
css::sheet::ConditionOperator aOperator
void SetDetectiveObj(const ScAddress &rPosition)
bool SetNullDateOnUnitConverter()
constexpr TypedWhichId< SvxFieldItem > EE_FEATURE_FIELD(EE_FEATURE_NOTCONV+1)
void PushParagraphFieldDocTitle(const OUString &rStyleName)
void DoMerge(const ScAddress &rScCellPos, const SCCOL nCols, const SCROW nRows)
void AddColumn(bool bIsCovered)
void SetText(const OUString &rStr)
SC_DLLPUBLIC SCROW MaxRow() const
void SetSrcString(const OUString &rNew)
void SetAttributes(std::optional< OUString > pStyleName, std::optional< OUString > pCurrency, const sal_Int16 nCellType)
constexpr TypedWhichId< SvxFontItem > EE_CHAR_FONTINFO_CTL(EE_CHAR_START+18)
Additional class containing cell annotation data.
void AddTextStyle(const OUString &rName, const ScAddress &rCellPos, const ESelection &rSelection)
void SetInput(const OUString &rTitle, const OUString &rMsg)
static ScPostIt * CreateNoteFromCaption(ScDocument &rDoc, const ScAddress &rPos, SdrCaptionObj *pCaption)
Creates a cell note using the passed caption drawing object.
::boost::intrusive_ptr< ScMatrix > ScMatrixRef
ScFormulaCell * mpFormula
FormulaError GetFormulaErrorConstant(const OUString &rStr) const
constexpr TypedWhichId< SvxContourItem > EE_CHAR_OUTLINE(EE_CHAR_START+8)
constexpr TypedWhichId< SvxWeightItem > EE_CHAR_WEIGHT(EE_CHAR_START+4)
static ScPostIt * CreateNoteFromObjectData(ScDocument &rDoc, const ScAddress &rPos, SfxItemSet &&oItemSet, const OutlinerParaObject &rOutlinerObj, const tools::Rectangle &rCaptionRect, bool bShown)
Creates a cell note based on the passed caption object data.
bool GetValidation(const OUString &sName, ScMyImportValidation &aValidation)
constexpr TypedWhichId< SfxUInt32Item > ATTR_VALIDDATA(153)
constexpr TypedWhichId< SvxShadowedItem > EE_CHAR_SHADOW(EE_CHAR_START+9)
This class exists only to provide GetScImport() to its derived classes.
XML_NUMBER_COLUMNS_REPEATED
SC_DLLPUBLIC SCCOL MaxCol() const
SC_DLLPUBLIC SvNumberFormatter * GetFormatTable() const
SC_DLLPUBLIC CellType GetCellType(SCCOL nCol, SCROW nRow, SCTAB nTab) const
std::optional< FormulaWithNamespace > maFormula
void SetTextCurrentDefaults(const EditTextObject &rTextObject)
SetText and apply defaults already set.
bool mbPossibleEmptyDisplay
void AddNoteContentStyle(XmlStyleFamily nFamily, const OUString &rName, const ScAddress &rCellPos, const ESelection &rSelection)
void PushParagraphField(std::unique_ptr< SvxFieldData > pData, const OUString &rStyleName)
constexpr TypedWhichId< SvxCharScaleWidthItem > EE_CHAR_FONTWIDTH(EE_CHAR_START+3)
constexpr TypedWhichId< SvxCharReliefItem > EE_CHAR_RELIEF(EE_CHAR_START+26)
ScSheetLimits & GetSheetLimits() const
void convertDateTime(OUStringBuffer &rBuffer, const double &fDateTime, bool const bAddTimeIf0AM=false)
std::pair< OUString, OUString > FormulaWithNamespace
SC_DLLPUBLIC void ApplyPattern(SCCOL nCol, SCROW nRow, SCTAB nTab, const ScPatternAttr &rAttr)
std::unique_ptr< EditTextObject > CreateTextObject()
css::sheet::ValidationType aValidationType
SfxItemSet & GetItemSet()
void SetCell(const ScAddress &rAddress)
constexpr TypedWhichId< SvxWeightItem > EE_CHAR_WEIGHT_CJK(EE_CHAR_START+21)
XML_CONTENT_VALIDATION_NAME
#define LANGUAGE_DONTKNOW
std::unique_ptr< ScMyImpDetectiveObjVec > pDetectiveObjVec
SC_DLLPUBLIC void ApplyPatternAreaTab(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, const ScPatternAttr &rAttr)
void PutTextCell(const ScAddress &rScCurrentPos, const SCCOL nCurrentCol, const ::std::optional< OUString > &pOUText)
static void convertDuration(OUStringBuffer &rBuffer, const double fTime)
constexpr TypedWhichId< SvxPostureItem > EE_CHAR_ITALIC_CTL(EE_CHAR_START+24)
void SetIgnoreBlank(bool bSet)
formula::FormulaGrammar::Grammar GetStorageGrammar() const
ScXMLImport & GetScImport()
static sal_Int16 GetCellType(const char *rStrValue, const sal_Int32 nStrLength)
void IncXMLImportedFormulaCount(sal_uInt64 nVal)
constexpr sal_uInt16 EE_CHAR_END(EE_CHAR_START+32)
OUStringBuffer maParagraph
SC_DLLPUBLIC void DoMerge(SCTAB nTab, SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, bool bDeleteCaptions=true)
bool IsPartOfMatrix(const ScAddress &rScAddress) const
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
void AddMatrixRange(const SCCOL nStartColumn, const SCROW nStartRow, const SCCOL nEndColumn, const SCROW nEndRow, const OUString &rFormula, const OUString &rFormulaNmsp, const formula::FormulaGrammar::Grammar)
void ExtractFormulaNamespaceGrammar(OUString &rFormula, OUString &rFormulaNmsp,::formula::FormulaGrammar::Grammar &reGrammar, const OUString &rAttrValue, bool bRestrictToExternalNmsp=false) const
Extracts the formula string, the formula grammar namespace URL, and a grammar enum value from the pas...
sal_Int32 GetParagraphCount() const
void AddNonFormulaCell(const ScAddress &rScCellPos)
std::optional< OUString > maStringValue
table:formula attribute
OUString sBaseCellAddress
formula::FormulaGrammar::Grammar eGrammar2
const ScAddress & GetCurrentCellPos() const
constexpr TypedWhichId< SvxLanguageItem > EE_CHAR_LANGUAGE_CTL(EE_CHAR_START+16)
SC_DLLPUBLIC sal_uLong AddValidationEntry(const ScValidationData &rNew)
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
void setFormulaCell(const ScAddress &rPos, const OUString &rFormula, formula::FormulaGrammar::Grammar eGrammar, const double *pResult=nullptr)
constexpr TypedWhichId< SvxCrossedOutItem > EE_CHAR_STRIKEOUT(EE_CHAR_START+6)
void PushFormat(sal_Int32 nBegin, sal_Int32 nEnd, const OUString &rStyleName)
void SetContentValidation(const ScRange &rScRange)
void SetCellRangeSource(const ScAddress &rPosition)
OUString GetAbsoluteReference(const OUString &rValue) const
constexpr TypedWhichId< SvxFontHeightItem > EE_CHAR_FONTHEIGHT_CTL(EE_CHAR_START+20)
#define SAL_WARN_IF(condition, area, stream)
constexpr TypedWhichId< SvxEscapementItem > EE_CHAR_ESCAPEMENT(EE_CHAR_START+10)
std::vector< std::unique_ptr< ParaFormat > > maFormats
css::uno::Reference< css::drawing::XShapes > const & GetCurrentXShapes()
#define SCWARN_IMPORT_ROW_OVERFLOW
void InsertParagraph(sal_Int32 nPara, const EditTextObject &rTxtObj, const bool bAppend=false)
void setStringCell(const ScAddress &rPos, const OUString &rStr)
constexpr TypedWhichId< SvxWeightItem > EE_CHAR_WEIGHT_CTL(EE_CHAR_START+22)
constexpr TypedWhichId< SvxColorItem > EE_CHAR_COLOR(EE_CHAR_START+0)
void AddFormulaCell(const ScAddress &rScCellPos)
css::sheet::ValidationAlertStyle aAlertStyle
void SetError(const OUString &rTitle, const OUString &rMsg, ScValidErrorStyle eStyle)
constexpr TypedWhichId< SvxWordLineModeItem > EE_CHAR_WLM(EE_CHAR_START+13)
void PushParagraphFieldURL(const OUString &rURL, const OUString &rRep, const OUString &rStyleName, const OUString &rTargetFrame)
#define XML_ELEMENT(prefix, name)
constexpr TypedWhichId< SvxEmphasisMarkItem > EE_CHAR_EMPHASISMARK(EE_CHAR_START+25)
std::unique_ptr< ScXMLAnnotationData > mxAnnotationData
constexpr TypedWhichId< SvxOverlineItem > EE_CHAR_OVERLINE(EE_CHAR_START+29)
void QuickSetAttribs(const SfxItemSet &rSet, const ESelection &rSel)
const SvXMLUnitConverter & GetMM100UnitConverter() const
const css::uno::Reference< css::frame::XModel > & GetModel() const
constexpr TypedWhichId< SvxLanguageItem > EE_CHAR_LANGUAGE(EE_CHAR_START+14)
constexpr TypedWhichId< SvxFontItem > EE_CHAR_FONTINFO(EE_CHAR_START+1)
void PushParagraphFieldSheetName(const OUString &rStyleName)
std::optional< OUString > maFirstParagraph
#define SCWARN_IMPORT_COLUMN_OVERFLOW
XML_NUMBER_MATRIX_COLUMNS_SPANNED
Field(const Field &)=delete
bool mbCheckWithCompilerForError
void PushParagraphFieldDate(const OUString &rStyleName)
const SvXMLStyleContext * FindStyleChildContext(XmlStyleFamily nFamily, const OUString &rName, bool bCreateIndex=false) const
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
formula::FormulaGrammar::Grammar eGrammar1
constexpr TypedWhichId< SvxPostureItem > EE_CHAR_ITALIC_CJK(EE_CHAR_START+23)
constexpr TypedWhichId< SvxUnderlineItem > EE_CHAR_UNDERLINE(EE_CHAR_START+5)
static ScConditionMode GetModeFromApi(css::sheet::ConditionOperator nOperator)
SfxObjectShell * GetDocumentShell() const
#define SAL_WARN(area, stream)
constexpr TypedWhichId< SvxFontHeightItem > EE_CHAR_FONTHEIGHT_CJK(EE_CHAR_START+19)
static ScPostIt * CreateNoteFromString(ScDocument &rDoc, const ScAddress &rPos, const OUString &rNoteText, bool bShown, bool bAlwaysCreateCaption, sal_uInt32 nPostItId=0)
Creates a cell note based on the passed string and inserts it into the document.
::std::vector< ScMyImpDetectiveObj > ScMyImpDetectiveObjVec
static SvXMLShapeContext * CreateGroupChildContext(SvXMLImport &rImport, sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList, css::uno::Reference< css::drawing::XShapes > const &rShapes, bool bTemporaryShape=false)
This context handles
element inside .
void setNumericCell(const ScAddress &rPos, double fVal)
void ProgressBarIncrement()
SC_DLLPUBLIC sfx2::LinkManager * GetLinkManager()
SvXMLStylesContext * GetAutoStyles()
const Entry * getEntryByAPIName(const OUString &rAPIName) const
std::unique_ptr< ScMyImpCellRangeSource > pCellRangeSource
SC_DLLPUBLIC ScFieldEditEngine & GetEditEngine()
ScDocumentImport & GetDoc()
void SetFormulaCell(ScFormulaCell *pFCell) const
bool IsPossibleErrorString() const
Use this guard when performing something from the API that might query values from external reference...
rtl::Reference< XMLShapeImportHelper > const & GetShapeImport()
ParaFormat(const ScEditEngineDefaulter &rEditEngine)
void SetRangeOverflowType(ErrCode nType)
SC_DLLPUBLIC sal_uInt32 GetNumberFormat(SCCOL nCol, SCROW nRow, SCTAB nTab) const
bool m_bDetectedRangeSegmentation false