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 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 (SvXMLImport &rImport)
 
- Public Member Functions inherited from SvXMLImportContext
 SvXMLImportContext (SvXMLImport &rImport)
 
virtual ~SvXMLImportContext ()
 
virtual void SAL_CALL startFastElement (sal_Int32 Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
 
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 endFastElement (sal_Int32 Element) override
 
virtual void SAL_CALL endUnknownElement (const OUString &Namespace, const OUString &Name) override
 
virtual css::uno::Reference< XFastContextHandler > SAL_CALL createFastChildContext (sal_Int32 Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) 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 void SAL_CALL characters (const OUString &aChars) override
 
virtual css::uno::Any SAL_CALL queryInterface (const css::uno::Type &aType) final override
 
virtual void SAL_CALL acquire () noexcept final override
 
virtual void SAL_CALL release () noexcept 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< 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 {32}
 
sal_Int32 mnCurParagraph
 
std::vector< std::unique_ptr< ParaFormat > > 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 38 of file xmlcelli.hxx.

Member Typedef Documentation

◆ FieldsType

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

Definition at line 60 of file xmlcelli.hxx.

◆ FormulaWithNamespace

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

Definition at line 61 of file xmlcelli.hxx.

Constructor & Destructor Documentation

◆ ScXMLTableRowCellContext()

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

◆ ~ScXMLTableRowCellContext()

ScXMLTableRowCellContext::~ScXMLTableRowCellContext ( )
overridevirtual

Definition at line 289 of file xmlcelli.cxx.

Member Function Documentation

◆ AddFormulaCell()

void ScXMLTableRowCellContext::AddFormulaCell ( const ScAddress rScCellPos)
private

◆ AddNonFormulaCell()

void ScXMLTableRowCellContext::AddNonFormulaCell ( const ScAddress rScCellPos)
private

◆ AddTextAndValueCell()

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

◆ CellsAreRepeated()

bool ScXMLTableRowCellContext::CellsAreRepeated ( ) const
private

Definition at line 1256 of file xmlcelli.cxx.

References nColsRepeated, and nRepeatedRows.

Referenced by AddNonFormulaCell().

◆ createFastChildContext()

uno::Reference< xml::sax::XFastContextHandler > SAL_CALL ScXMLTableRowCellContext::createFastChildContext ( sal_Int32  nElement,
const css::uno::Reference< css::xml::sax::XFastAttributeList > &  xAttrList 
)
overridevirtual

◆ DoMerge()

void ScXMLTableRowCellContext::DoMerge ( const ScAddress rScCellPos,
const SCCOL  nCols,
const SCROW  nRows 
)
private

◆ endFastElement()

void SAL_CALL ScXMLTableRowCellContext::endFastElement ( sal_Int32  nElement)
overridevirtual

◆ GetFirstParagraph()

OUString ScXMLTableRowCellContext::GetFirstParagraph ( ) const
private

◆ HasSpecialCaseFormulaText()

void ScXMLTableRowCellContext::HasSpecialCaseFormulaText ( )
private

◆ IsPossibleErrorString()

bool ScXMLTableRowCellContext::IsPossibleErrorString ( ) const
private

◆ LockSolarMutex()

void ScXMLTableRowCellContext::LockSolarMutex ( )
private

◆ PushFormat()

void ScXMLTableRowCellContext::PushFormat ( sal_Int32  nBegin,
sal_Int32  nEnd,
const OUString &  rStyleName 
)
private

Definition at line 337 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().

◆ PushParagraphEnd()

void ScXMLTableRowCellContext::PushParagraphEnd ( )

◆ PushParagraphField()

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

◆ PushParagraphFieldDate()

void ScXMLTableRowCellContext::PushParagraphFieldDate ( const OUString &  rStyleName)

Definition at line 575 of file xmlcelli.cxx.

References PushParagraphField().

Referenced by ScXMLCellTextParaContext::PushFieldDate().

◆ PushParagraphFieldDocTitle()

void ScXMLTableRowCellContext::PushParagraphFieldDocTitle ( const OUString &  rStyleName)

Definition at line 586 of file xmlcelli.cxx.

References PushParagraphField().

Referenced by ScXMLCellTextParaContext::PushFieldTitle().

◆ PushParagraphFieldSheetName()

void ScXMLTableRowCellContext::PushParagraphFieldSheetName ( const OUString &  rStyleName)

◆ PushParagraphFieldURL()

void ScXMLTableRowCellContext::PushParagraphFieldURL ( const OUString &  rURL,
const OUString &  rRep,
const OUString &  rStyleName,
const OUString &  rTargetFrame 
)

◆ PushParagraphSpan()

void ScXMLTableRowCellContext::PushParagraphSpan ( const OUString &  rSpan,
const OUString &  rStyleName 
)

◆ PutFormulaCell()

void ScXMLTableRowCellContext::PutFormulaCell ( const ScAddress rScCurrentPos)
private

◆ PutTextCell()

void ScXMLTableRowCellContext::PutTextCell ( const ScAddress rScCurrentPos,
const SCCOL  nCurrentCol,
const ::std::optional< OUString > &  pOUText 
)
private

◆ PutValueCell()

void ScXMLTableRowCellContext::PutValueCell ( const ScAddress rScCurrentPos)
private

◆ SetAnnotation()

void ScXMLTableRowCellContext::SetAnnotation ( const ScAddress rPosition)

◆ SetCellRangeSource()

void ScXMLTableRowCellContext::SetCellRangeSource ( const ScAddress rPosition)

◆ SetContentValidation() [1/2]

void ScXMLTableRowCellContext::SetContentValidation ( const ScAddress rScCellPos)
private

Definition at line 817 of file xmlcelli.cxx.

References SetContentValidation().

◆ SetContentValidation() [2/2]

void ScXMLTableRowCellContext::SetContentValidation ( const ScRange rScRange)
private

Definition at line 761 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::bShowInputMessage, ScAddress::Col(), ScMyImportValidation::eGrammar1, ScMyImportValidation::eGrammar2, ScXMLImport::GetDocument(), SvXMLImportContext::GetImport(), ScPatternAttr::GetItemSet(), ScConditionEntry::GetModeFromApi(), 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::sInputMessage, ScMyImportValidation::sInputTitle, and ScAddress::Tab().

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

◆ SetDetectiveObj()

void ScXMLTableRowCellContext::SetDetectiveObj ( const ScAddress rPosition)

◆ SetFormulaCell()

void ScXMLTableRowCellContext::SetFormulaCell ( ScFormulaCell pFCell) const
private

Member Data Documentation

◆ bFormulaTextResult

bool ScXMLTableRowCellContext::bFormulaTextResult
private

◆ bIsCovered

bool ScXMLTableRowCellContext::bIsCovered
private

Definition at line 86 of file xmlcelli.hxx.

Referenced by AddTextAndValueCell().

◆ bIsEmpty

bool ScXMLTableRowCellContext::bIsEmpty
private

◆ bIsMatrix

bool ScXMLTableRowCellContext::bIsMatrix
private

Definition at line 85 of file xmlcelli.hxx.

Referenced by AddFormulaCell(), and ScXMLTableRowCellContext().

◆ bIsMerged

bool ScXMLTableRowCellContext::bIsMerged
private

Definition at line 84 of file xmlcelli.hxx.

Referenced by endFastElement(), and ScXMLTableRowCellContext().

◆ bSolarMutexLocked

bool ScXMLTableRowCellContext::bSolarMutexLocked
private

Definition at line 90 of file xmlcelli.hxx.

Referenced by endFastElement(), and LockSolarMutex().

◆ eGrammar

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

Definition at line 82 of file xmlcelli.hxx.

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

◆ fValue

double ScXMLTableRowCellContext::fValue
private

◆ maContentValidationName

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

office:string-value attribute

Definition at line 65 of file xmlcelli.hxx.

Referenced by ScXMLTableRowCellContext(), and SetContentValidation().

◆ maFields

FieldsType ScXMLTableRowCellContext::maFields
private

Definition at line 73 of file xmlcelli.hxx.

Referenced by PushParagraphField(), and PutTextCell().

◆ maFirstParagraph

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

Definition at line 66 of file xmlcelli.hxx.

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

◆ maFormats

std::vector<std::unique_ptr<ParaFormat> > ScXMLTableRowCellContext::maFormats
private

Definition at line 72 of file xmlcelli.hxx.

Referenced by PushFormat(), and PutTextCell().

◆ maFormula

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

◆ maParagraph

OUStringBuffer ScXMLTableRowCellContext::maParagraph {32}
private

Definition at line 69 of file xmlcelli.hxx.

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

◆ maStringValue

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

◆ mbCheckWithCompilerForError

bool ScXMLTableRowCellContext::mbCheckWithCompilerForError
private

Definition at line 93 of file xmlcelli.hxx.

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

◆ mbEditEngineHasText

bool ScXMLTableRowCellContext::mbEditEngineHasText
private

◆ mbErrorValue

bool ScXMLTableRowCellContext::mbErrorValue
private

◆ mbHasFormatRuns

bool ScXMLTableRowCellContext::mbHasFormatRuns
private

Definition at line 95 of file xmlcelli.hxx.

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

◆ mbHasStyle

bool ScXMLTableRowCellContext::mbHasStyle
private

Definition at line 96 of file xmlcelli.hxx.

Referenced by ScXMLTableRowCellContext(), and SetFormulaCell().

◆ mbNewValueType

bool ScXMLTableRowCellContext::mbNewValueType
private

◆ mbPossibleEmptyDisplay

bool ScXMLTableRowCellContext::mbPossibleEmptyDisplay
private

Definition at line 97 of file xmlcelli.hxx.

Referenced by HasSpecialCaseFormulaText(), and SetFormulaCell().

◆ mbPossibleErrorCell

bool ScXMLTableRowCellContext::mbPossibleErrorCell
private

Definition at line 92 of file xmlcelli.hxx.

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

◆ mnCurParagraph

sal_Int32 ScXMLTableRowCellContext::mnCurParagraph
private

Definition at line 70 of file xmlcelli.hxx.

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

◆ mpEditEngine

ScEditEngineDefaulter* ScXMLTableRowCellContext::mpEditEngine
private

unformatted first paragraph, for better performance.

Definition at line 68 of file xmlcelli.hxx.

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

◆ mxAnnotationData

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

◆ nCellType

sal_Int16 ScXMLTableRowCellContext::nCellType
private

Definition at line 83 of file xmlcelli.hxx.

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

◆ nColsRepeated

SCCOL ScXMLTableRowCellContext::nColsRepeated
private

◆ nMatrixCols

SCCOL ScXMLTableRowCellContext::nMatrixCols
private

Definition at line 80 of file xmlcelli.hxx.

Referenced by AddFormulaCell(), and ScXMLTableRowCellContext().

◆ nMatrixRows

SCROW ScXMLTableRowCellContext::nMatrixRows
private

Definition at line 79 of file xmlcelli.hxx.

Referenced by AddFormulaCell(), and ScXMLTableRowCellContext().

◆ nMergedCols

SCCOL ScXMLTableRowCellContext::nMergedCols
private

Definition at line 80 of file xmlcelli.hxx.

Referenced by endFastElement(), and ScXMLTableRowCellContext().

◆ nMergedRows

SCROW ScXMLTableRowCellContext::nMergedRows
private

Definition at line 79 of file xmlcelli.hxx.

Referenced by endFastElement(), and ScXMLTableRowCellContext().

◆ nRepeatedRows

SCROW ScXMLTableRowCellContext::nRepeatedRows
private

◆ pCellRangeSource

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

Definition at line 77 of file xmlcelli.hxx.

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

◆ pDetectiveObjVec

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

Definition at line 76 of file xmlcelli.hxx.

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

◆ rXMLImport

ScXMLImport& ScXMLTableRowCellContext::rXMLImport
private

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