20 #include <rtl/ustring.hxx>
21 #include <osl/diagnose.h>
32 maPreviousNote( OUString(), OUString(),
ScAddress::INITIALIZE_INVALID ),
33 mbInSupportedSave(
false )
81 if ( nFamily == XmlStyleFamily::TEXT_PARAGRAPH )
89 maTextStyles.emplace_back( rName, rCellPos, rSelection );
94 if ( nTab >= static_cast<SCTAB>(
maBlocked.size()) )
102 if ( nTab < static_cast<SCTAB>(
maBlocked.size()) )
118 OSL_ENSURE(
mnStartTab < 0,
"StartStreamPos without EndStreamPos" );
143 rStartOffset = rEndOffset = -1;
148 sal_Int32 nStartOffset = -1;
149 sal_Int32 nEndOffset = -1;
151 return ( nStartOffset >= 0 && nEndOffset >= 0 );
178 for (
const auto& rEntry : rNameHash)
189 for (
const auto& [rName, rxEntry] : rNameHash)
201 return std::any_of(rNameHash.begin(), rNameHash.end(),
202 [&rName](
const NameSpaceHash::value_type& rEntry) {
return rEntry.second->sName == rName; });
214 NameSpaceHash::const_iterator aHashIter = rNameHash.find( rLoadedNamespace.maPrefix );
217 bool bNameConflict = (aHashIter != rNameHash.end()) && (aHashIter->second->sName != rLoadedNamespace.maName);
221 bool bPrefixConflict = (aHashIter == rNameHash.end()) &&
lcl_NameInHash(rNameHash, rLoadedNamespace.maName);
223 return bNameConflict || bPrefixConflict;
232 NameSpaceHash::const_iterator aHashIter = rNameHash.find( rLoadedNamespace.maPrefix );
233 if ( aHashIter == rNameHash.end() )
234 rNamespaces.
Add( rLoadedNamespace.maPrefix, rLoadedNamespace.maName, rLoadedNamespace.mnKey );
void HandleNoteStyles(const OUString &rStyleName, const OUString &rTextName, const ScAddress &rCellPos)
bool HasStreamPos(SCTAB nTab) const
std::unordered_map< OUString,::rtl::Reference< NameSpaceEntry > > NameSpaceHash
std::vector< ScTextStyleEntry > maNoteParaStyles
const NameSpaceHash & GetAllEntries() const
void StartStreamPos(SCTAB nTab, sal_Int32 nStartOffset)
void StoreInitialNamespaces(const SvXMLNamespaceMap &rNamespaces)
void AddColumnStyle(const OUString &rName, const ScAddress &rCellPos)
bool AddLoadedNamespaces(SvXMLNamespaceMap &rNamespaces) const
void AddStreamPos(SCTAB nTab, sal_Int32 nStartOffset, sal_Int32 nEndOffset)
void BlockSheet(SCTAB nTab)
std::vector< ScLoadedNamespaceEntry > maLoadedNamespaces
static bool lcl_NameInHash(const NameSpaceHash &rNameHash, const OUString &rName)
std::vector< ScTextStyleEntry > maNoteTextStyles
ScNoteStyleEntry maPreviousNote
void AddSavePos(SCTAB nTab, sal_Int32 nStartOffset, sal_Int32 nEndOffset)
void AddTextStyle(const OUString &rName, const ScAddress &rCellPos, const ESelection &rSelection)
std::vector< ScStreamEntry > maStreamEntries
void AddTableStyle(const OUString &rName, const ScAddress &rCellPos)
void AddNoteContentStyle(XmlStyleFamily nFamily, const OUString &rName, const ScAddress &rCellPos, const ESelection &rSelection)
void EndStreamPos(sal_Int32 nEndOffset)
void SetInSupportedSave(bool bSet)
std::vector< ScTextStyleEntry > maTextStyles
std::vector< ScStreamEntry > maSaveEntries
std::vector< ScNoteStyleEntry > maNoteStyles
std::vector< bool > maBlocked
std::unordered_set< OUString > maInitialPrefixes
std::vector< ScCellStyleEntry > maTableStyles
void AddCellStyle(const OUString &rName, const ScAddress &rCellPos)
std::vector< ScCellStyleEntry > maCellStyles
void GetStreamPos(SCTAB nTab, sal_Int32 &rStartOffset, sal_Int32 &rEndOffset) const
sal_uInt16 Add(const OUString &rPrefix, const OUString &rName, sal_uInt16 nKey=XML_NAMESPACE_UNKNOWN)
void StoreLoadedNamespaces(const SvXMLNamespaceMap &rNamespaces)
bool IsSheetBlocked(SCTAB nTab) const
void AddRowStyle(const OUString &rName, const ScAddress &rCellPos)
std::vector< ScCellStyleEntry > maColumnStyles
std::vector< ScCellStyleEntry > maRowStyles
bool m_bDetectedRangeSegmentation false