LibreOffice Module sc (master)  1
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
ScXMLTableRowCellContext Class Reference

#include <xmlcelli.hxx>

Inheritance diagram for ScXMLTableRowCellContext:
[legend]
Collaboration diagram for ScXMLTableRowCellContext:
[legend]

Classes

struct  Field
 
struct  ParaFormat
 

Public Member Functions

 ScXMLTableRowCellContext (ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, const bool bIsCovered, const sal_Int32 nRepeatedRows)
 
virtual ~ScXMLTableRowCellContext () override
 
virtual SvXMLImportContextRef CreateChildContext (sal_uInt16 nPrefix, const OUString &rLocalName, const css::uno::Reference< css::xml::sax::XAttributeList > &xAttrList) override
 
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 PushParagraphSpan (const OUString &rSpan, const OUString &rStyleName)
 
void PushParagraphFieldDate (const OUString &rStyleName)
 
void PushParagraphFieldSheetName (const OUString &rStyleName)
 
void PushParagraphFieldDocTitle (const OUString &rStyleName)
 
void PushParagraphFieldURL (const OUString &rURL, const OUString &rRep, const OUString &rStyleName, const OUString &rTargetFrame)
 
void PushParagraphEnd ()
 
void SetAnnotation (const ScAddress &rPosition)
 
void SetDetectiveObj (const ScAddress &rPosition)
 
void SetCellRangeSource (const ScAddress &rPosition)
 
virtual void SAL_CALL endFastElement (sal_Int32 nElement) override
 
- Public Member Functions inherited from ScXMLImportContext
 ScXMLImportContext (ScXMLImport &rImport, sal_uInt16 nPrefix, const OUString &rLocalName)
 
 ScXMLImportContext (SvXMLImport &rImport)
 
virtual void SAL_CALL startFastElement (sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
 
virtual void SAL_CALL characters (const OUString &aChars) override
 
- Public Member Functions inherited from SvXMLImportContext
bool IsPrefixFilledIn () const
 
sal_uInt16 GetPrefix () const
 
const OUString & GetLocalName () const
 
 SvXMLImportContext (SvXMLImport &rImport, sal_uInt16 nPrfx, const OUString &rLName)
 
 SvXMLImportContext (SvXMLImport &rImport)
 
virtual ~SvXMLImportContext ()
 
virtual void StartElement (const css::uno::Reference< css::xml::sax::XAttributeList > &xAttrList)
 
virtual void EndElement ()
 
virtual void Characters (const OUString &rChars)
 
virtual void SAL_CALL startUnknownElement (const OUString &Namespace, const OUString &Name, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
 
virtual void SAL_CALL endUnknownElement (const OUString &Namespace, const OUString &Name) override
 
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createUnknownChildContext (const OUString &Namespace, const OUString &Name, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
 
virtual css::uno::Any SAL_CALL queryInterface (const css::uno::Type &aType) final override
 
virtual void SAL_CALL acquire () final override
 
virtual void SAL_CALL release () final override
 
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes () final override
 
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId () final override
 

Private Types

typedef std::vector< std::unique_ptr< ParaFormat > > ParaFormatsType
 
typedef std::vector< std::unique_ptr< Field > > FieldsType
 
typedef std::pair< OUString, OUString > FormulaWithNamespace
 

Private Member Functions

void DoMerge (const ScAddress &rScCellPos, const SCCOL nCols, const SCROW nRows)
 
void SetContentValidation (const ScRange &rScRange)
 
void SetContentValidation (const ScAddress &rScCellPos)
 
void LockSolarMutex ()
 
bool CellsAreRepeated () const
 
void SetFormulaCell (ScFormulaCell *pFCell) const
 
void PutTextCell (const ScAddress &rScCurrentPos, const SCCOL nCurrentCol, const ::std::optional< OUString > &pOUText)
 
void PutValueCell (const ScAddress &rScCurrentPos)
 
void AddTextAndValueCell (const ScAddress &rScCellPos, const ::std::optional< OUString > &pOUText, ScAddress &rScCurrentPos)
 
void AddNonFormulaCell (const ScAddress &rScCellPos)
 
void PutFormulaCell (const ScAddress &rScCurrentPos)
 
void AddFormulaCell (const ScAddress &rScCellPos)
 
void HasSpecialCaseFormulaText ()
 
bool IsPossibleErrorString () const
 
void PushParagraphField (std::unique_ptr< SvxFieldData > pData, const OUString &rStyleName)
 
void PushFormat (sal_Int32 nBegin, sal_Int32 nEnd, const OUString &rStyleName)
 
OUString GetFirstParagraph () const
 

Private Attributes

std::optional< FormulaWithNamespacemaFormula
 
std::optional< OUString > maStringValue
 table:formula attribute More...
 
std::optional< OUString > maContentValidationName
 office:string-value attribute More...
 
std::optional< OUString > maFirstParagraph
 
ScEditEngineDefaultermpEditEngine
 unformatted first paragraph, for better performance. More...
 
OUStringBuffer maParagraph
 
sal_Int32 mnCurParagraph
 
ParaFormatsType maFormats
 
FieldsType maFields
 
std::unique_ptr< ScXMLAnnotationDatamxAnnotationData
 
std::unique_ptr< ScMyImpDetectiveObjVecpDetectiveObjVec
 
std::unique_ptr< ScMyImpCellRangeSourcepCellRangeSource
 
double fValue
 
SCROW nMergedRows
 
SCROW nMatrixRows
 
SCROW nRepeatedRows
 
SCCOL nMergedCols
 
SCCOL nMatrixCols
 
SCCOL nColsRepeated
 
ScXMLImportrXMLImport
 
formula::FormulaGrammar::Grammar eGrammar
 
sal_Int16 nCellType
 
bool bIsMerged
 
bool bIsMatrix
 
bool bIsCovered
 
bool bIsEmpty
 
bool mbNewValueType
 
bool mbErrorValue
 
bool bSolarMutexLocked
 
bool bFormulaTextResult
 
bool mbPossibleErrorCell
 
bool mbCheckWithCompilerForError
 
bool mbEditEngineHasText
 
bool mbHasFormatRuns
 
bool mbHasStyle
 
bool mbPossibleEmptyDisplay
 

Additional Inherited Members

- Protected Member Functions inherited from ScXMLImportContext
ScXMLImportGetScImport ()
 
const ScXMLImportGetScImport () const
 
- Protected Member Functions inherited from SvXMLImportContext
SvXMLImportGetImport ()
 
const SvXMLImportGetImport () const
 

Detailed Description

Definition at line 39 of file xmlcelli.hxx.

Member Typedef Documentation

typedef std::vector<std::unique_ptr<Field> > ScXMLTableRowCellContext::FieldsType
private

Definition at line 62 of file xmlcelli.hxx.

typedef std::pair<OUString, OUString> ScXMLTableRowCellContext::FormulaWithNamespace
private

Definition at line 63 of file xmlcelli.hxx.

typedef std::vector<std::unique_ptr<ParaFormat> > ScXMLTableRowCellContext::ParaFormatsType
private

Definition at line 61 of file xmlcelli.hxx.

Constructor & Destructor Documentation

ScXMLTableRowCellContext::ScXMLTableRowCellContext ( ScXMLImport rImport,
const rtl::Reference< sax_fastparser::FastAttributeList > &  rAttrList,
const bool  bIsCovered,
const sal_Int32  nRepeatedRows 
)
ScXMLTableRowCellContext::~ScXMLTableRowCellContext ( )
overridevirtual

Definition at line 288 of file xmlcelli.cxx.

Member Function Documentation

void ScXMLTableRowCellContext::AddFormulaCell ( const ScAddress rScCellPos)
private
void ScXMLTableRowCellContext::AddNonFormulaCell ( const ScAddress rScCellPos)
private
void ScXMLTableRowCellContext::AddTextAndValueCell ( const ScAddress rScCellPos,
const ::std::optional< OUString > &  pOUText,
ScAddress rScCurrentPos 
)
private
bool ScXMLTableRowCellContext::CellsAreRepeated ( ) const
private

Definition at line 1261 of file xmlcelli.cxx.

References nColsRepeated, and nRepeatedRows.

Referenced by AddNonFormulaCell().

SvXMLImportContextRef ScXMLTableRowCellContext::CreateChildContext ( sal_uInt16  nPrefix,
const OUString &  rLocalName,
const css::uno::Reference< css::xml::sax::XAttributeList > &  xAttrList 
)
overridevirtual
uno::Reference< xml::sax::XFastContextHandler > SAL_CALL ScXMLTableRowCellContext::createFastChildContext ( sal_Int32  nElement,
const css::uno::Reference< css::xml::sax::XFastAttributeList > &  xAttrList 
)
overridevirtual
void ScXMLTableRowCellContext::DoMerge ( const ScAddress rScCellPos,
const SCCOL  nCols,
const SCROW  nRows 
)
private
void SAL_CALL ScXMLTableRowCellContext::endFastElement ( sal_Int32  nElement)
overridevirtual
OUString ScXMLTableRowCellContext::GetFirstParagraph ( ) const
private
void ScXMLTableRowCellContext::HasSpecialCaseFormulaText ( )
private
bool ScXMLTableRowCellContext::IsPossibleErrorString ( ) const
private
void ScXMLTableRowCellContext::LockSolarMutex ( )
private
void ScXMLTableRowCellContext::PushFormat ( sal_Int32  nBegin,
sal_Int32  nEnd,
const OUString &  rStyleName 
)
private

Definition at line 336 of file xmlcelli.cxx.

References ScSheetSaveData::AddTextStyle(), EE_CHAR_COLOR(), EE_CHAR_EMPHASISMARK(), EE_CHAR_END(), EE_CHAR_ESCAPEMENT(), EE_CHAR_FONTHEIGHT(), EE_CHAR_FONTHEIGHT_CJK(), EE_CHAR_FONTHEIGHT_CTL(), EE_CHAR_FONTINFO(), EE_CHAR_FONTINFO_CJK(), EE_CHAR_FONTINFO_CTL(), EE_CHAR_FONTWIDTH(), EE_CHAR_ITALIC(), EE_CHAR_ITALIC_CJK(), EE_CHAR_ITALIC_CTL(), EE_CHAR_KERNING(), EE_CHAR_LANGUAGE(), EE_CHAR_LANGUAGE_CJK(), EE_CHAR_LANGUAGE_CTL(), EE_CHAR_OUTLINE(), EE_CHAR_OVERLINE(), EE_CHAR_PAIRKERNING(), EE_CHAR_RELIEF(), EE_CHAR_SHADOW(), EE_CHAR_STRIKEOUT(), EE_CHAR_UNDERLINE(), EE_CHAR_WEIGHT(), EE_CHAR_WEIGHT_CJK(), EE_CHAR_WEIGHT_CTL(), EE_CHAR_WLM(), SvXMLStylesContext::FindStyleChildContext(), SvXMLImport::GetAutoStyles(), ScMyTables::GetCurrentCellPos(), ScXMLImport::GetEditAttributeMap(), ScXMLEditAttributeMap::getEntryByAPIName(), SvXMLImportContext::GetImport(), SvXMLImport::GetModel(), XMLPropStyleContext::GetProperties(), ScXMLImportContext::GetScImport(), ScXMLImport::GetTables(), SvXMLImport::GetTextImport(), ITALIC_NONE, LANGUAGE_DONTKNOW, LINESTYLE_NONE, maFormats, ScXMLTableRowCellContext::ParaFormat::maItemSet, ScXMLTableRowCellContext::ParaFormat::maSelection, mbHasFormatRuns, mnCurParagraph, ScXMLEditAttributeMap::Entry::mnFlag, ScXMLEditAttributeMap::Entry::mnItemID, mpEditEngine, ESelection::nEndPara, ESelection::nEndPos, ESelection::nStartPara, ESelection::nStartPos, SfxItemSet::Put(), rXMLImport, STRIKEOUT_NONE, and WEIGHT_NORMAL.

Referenced by PushParagraphField(), and PushParagraphSpan().

void ScXMLTableRowCellContext::PushParagraphEnd ( )
void ScXMLTableRowCellContext::PushParagraphField ( std::unique_ptr< SvxFieldData pData,
const OUString &  rStyleName 
)
private
void ScXMLTableRowCellContext::PushParagraphFieldDate ( const OUString &  rStyleName)

Definition at line 575 of file xmlcelli.cxx.

References PushParagraphField().

Referenced by ScXMLCellTextParaContext::PushFieldDate().

void ScXMLTableRowCellContext::PushParagraphFieldDocTitle ( const OUString &  rStyleName)

Definition at line 586 of file xmlcelli.cxx.

References PushParagraphField().

Referenced by ScXMLCellTextParaContext::PushFieldTitle().

void ScXMLTableRowCellContext::PushParagraphFieldSheetName ( const OUString &  rStyleName)
void ScXMLTableRowCellContext::PushParagraphFieldURL ( const OUString &  rURL,
const OUString &  rRep,
const OUString &  rStyleName,
const OUString &  rTargetFrame 
)
void ScXMLTableRowCellContext::PushParagraphSpan ( const OUString &  rSpan,
const OUString &  rStyleName 
)
void ScXMLTableRowCellContext::PutFormulaCell ( const ScAddress rScCurrentPos)
private
void ScXMLTableRowCellContext::PutTextCell ( const ScAddress rScCurrentPos,
const SCCOL  nCurrentCol,
const ::std::optional< OUString > &  pOUText 
)
private
void ScXMLTableRowCellContext::PutValueCell ( const ScAddress rScCurrentPos)
private
void ScXMLTableRowCellContext::SetAnnotation ( const ScAddress rPosition)
void ScXMLTableRowCellContext::SetCellRangeSource ( const ScAddress rPosition)
void ScXMLTableRowCellContext::SetContentValidation ( const ScRange rScRange)
private

Definition at line 781 of file xmlcelli.cxx.

References ScMyImportValidation::aAlertStyle, ScDocument::AddValidationEntry(), ScRange::aEnd, ScMyImportValidation::aOperator, ScDocument::ApplyPattern(), ScDocument::ApplyPatternAreaTab(), ScRange::aStart, ATTR_VALIDDATA(), ScMyImportValidation::aValidationType, ScMyImportValidation::bIgnoreBlanks, ScSheetSaveData::BlockSheet(), ScMyImportValidation::bShowErrorMessage, ScMyImportValidation::bShowImputMessage, ScAddress::Col(), ScMyImportValidation::eGrammar1, ScMyImportValidation::eGrammar2, ScXMLImport::GetDocument(), SvXMLImportContext::GetImport(), SfxSetItem::GetItemSet(), ScConditionEntry::GetModeFromApi(), SvXMLImport::GetModel(), ScDocument::GetPool(), ScXMLImportContext::GetScImport(), ScDocument::GetStorageGrammar(), ScXMLImport::GetValidation(), maContentValidationName, nIndex, ScMyImportValidation::nShowList, SfxItemSet::Put(), ScValidationData::ResetError(), ScValidationData::ResetInput(), ScAddress::Row(), rXMLImport, ScMyImportValidation::sBaseCellAddress, ScMyImportValidation::sErrorMessage, ScMyImportValidation::sErrorTitle, ScValidationData::SetError(), ScConditionEntry::SetIgnoreBlank(), ScValidationData::SetInput(), ScValidationData::SetListType(), ScConditionEntry::SetSrcString(), ScMyImportValidation::sFormula1, ScMyImportValidation::sFormula2, ScMyImportValidation::sFormulaNmsp1, ScMyImportValidation::sFormulaNmsp2, ScMyImportValidation::sImputMessage, ScMyImportValidation::sImputTitle, and ScAddress::Tab().

Referenced by AddFormulaCell(), AddNonFormulaCell(), and SetContentValidation().

void ScXMLTableRowCellContext::SetContentValidation ( const ScAddress rScCellPos)
private

Definition at line 837 of file xmlcelli.cxx.

References SetContentValidation().

void ScXMLTableRowCellContext::SetDetectiveObj ( const ScAddress rPosition)
void ScXMLTableRowCellContext::SetFormulaCell ( ScFormulaCell pFCell) const
private

Member Data Documentation

bool ScXMLTableRowCellContext::bFormulaTextResult
private
bool ScXMLTableRowCellContext::bIsCovered
private

Definition at line 88 of file xmlcelli.hxx.

Referenced by AddTextAndValueCell().

bool ScXMLTableRowCellContext::bIsEmpty
private
bool ScXMLTableRowCellContext::bIsMatrix
private

Definition at line 87 of file xmlcelli.hxx.

Referenced by AddFormulaCell(), and ScXMLTableRowCellContext().

bool ScXMLTableRowCellContext::bIsMerged
private

Definition at line 86 of file xmlcelli.hxx.

Referenced by endFastElement(), and ScXMLTableRowCellContext().

bool ScXMLTableRowCellContext::bSolarMutexLocked
private

Definition at line 92 of file xmlcelli.hxx.

Referenced by endFastElement(), and LockSolarMutex().

formula::FormulaGrammar::Grammar ScXMLTableRowCellContext::eGrammar
private

Definition at line 84 of file xmlcelli.hxx.

Referenced by AddFormulaCell(), PutFormulaCell(), and ScXMLTableRowCellContext().

double ScXMLTableRowCellContext::fValue
private
std::optional<OUString> ScXMLTableRowCellContext::maContentValidationName
private

office:string-value attribute

Definition at line 67 of file xmlcelli.hxx.

Referenced by ScXMLTableRowCellContext(), and SetContentValidation().

FieldsType ScXMLTableRowCellContext::maFields
private

Definition at line 75 of file xmlcelli.hxx.

Referenced by PushParagraphField(), and PutTextCell().

std::optional<OUString> ScXMLTableRowCellContext::maFirstParagraph
private

Definition at line 68 of file xmlcelli.hxx.

Referenced by GetFirstParagraph(), PushParagraphEnd(), and PutTextCell().

ParaFormatsType ScXMLTableRowCellContext::maFormats
private

Definition at line 74 of file xmlcelli.hxx.

Referenced by PushFormat(), and PutTextCell().

std::optional<FormulaWithNamespace> ScXMLTableRowCellContext::maFormula
private
OUStringBuffer ScXMLTableRowCellContext::maParagraph
private

Definition at line 71 of file xmlcelli.hxx.

Referenced by PushParagraphEnd(), PushParagraphField(), and PushParagraphSpan().

std::optional<OUString> ScXMLTableRowCellContext::maStringValue
private
bool ScXMLTableRowCellContext::mbCheckWithCompilerForError
private

Definition at line 95 of file xmlcelli.hxx.

Referenced by endFastElement(), HasSpecialCaseFormulaText(), and IsPossibleErrorString().

bool ScXMLTableRowCellContext::mbEditEngineHasText
private
bool ScXMLTableRowCellContext::mbErrorValue
private
bool ScXMLTableRowCellContext::mbHasFormatRuns
private

Definition at line 97 of file xmlcelli.hxx.

Referenced by PushFormat(), PushParagraphEnd(), and PushParagraphField().

bool ScXMLTableRowCellContext::mbHasStyle
private

Definition at line 98 of file xmlcelli.hxx.

Referenced by ScXMLTableRowCellContext(), and SetFormulaCell().

bool ScXMLTableRowCellContext::mbNewValueType
private
bool ScXMLTableRowCellContext::mbPossibleEmptyDisplay
private

Definition at line 99 of file xmlcelli.hxx.

Referenced by HasSpecialCaseFormulaText(), and SetFormulaCell().

bool ScXMLTableRowCellContext::mbPossibleErrorCell
private

Definition at line 94 of file xmlcelli.hxx.

Referenced by endFastElement(), HasSpecialCaseFormulaText(), and IsPossibleErrorString().

sal_Int32 ScXMLTableRowCellContext::mnCurParagraph
private

Definition at line 72 of file xmlcelli.hxx.

Referenced by PushFormat(), PushParagraphEnd(), and PushParagraphField().

ScEditEngineDefaulter* ScXMLTableRowCellContext::mpEditEngine
private

unformatted first paragraph, for better performance.

Definition at line 70 of file xmlcelli.hxx.

Referenced by GetFirstParagraph(), PushFormat(), PushParagraphEnd(), and PutTextCell().

std::unique_ptr< ScXMLAnnotationData > ScXMLTableRowCellContext::mxAnnotationData
private
sal_Int16 ScXMLTableRowCellContext::nCellType
private

Definition at line 85 of file xmlcelli.hxx.

Referenced by AddNonFormulaCell(), AddTextAndValueCell(), and ScXMLTableRowCellContext().

SCCOL ScXMLTableRowCellContext::nColsRepeated
private
SCCOL ScXMLTableRowCellContext::nMatrixCols
private

Definition at line 82 of file xmlcelli.hxx.

Referenced by AddFormulaCell(), and ScXMLTableRowCellContext().

SCROW ScXMLTableRowCellContext::nMatrixRows
private

Definition at line 81 of file xmlcelli.hxx.

Referenced by AddFormulaCell(), and ScXMLTableRowCellContext().

SCCOL ScXMLTableRowCellContext::nMergedCols
private

Definition at line 82 of file xmlcelli.hxx.

Referenced by endFastElement(), and ScXMLTableRowCellContext().

SCROW ScXMLTableRowCellContext::nMergedRows
private

Definition at line 81 of file xmlcelli.hxx.

Referenced by endFastElement(), and ScXMLTableRowCellContext().

SCROW ScXMLTableRowCellContext::nRepeatedRows
private
std::unique_ptr< ScMyImpCellRangeSource > ScXMLTableRowCellContext::pCellRangeSource
private

Definition at line 79 of file xmlcelli.hxx.

Referenced by AddNonFormulaCell(), createFastChildContext(), and SetCellRangeSource().

std::unique_ptr< ScMyImpDetectiveObjVec > ScXMLTableRowCellContext::pDetectiveObjVec
private

Definition at line 78 of file xmlcelli.hxx.

Referenced by AddNonFormulaCell(), createFastChildContext(), and SetDetectiveObj().

ScXMLImport& ScXMLTableRowCellContext::rXMLImport
private

The documentation for this class was generated from the following files: