/// create redline dummy text hint that must not be inserted into hints array
SwTextAttr* MakeRedlineTextAttr(
SwDoc & rDoc,
SfxPoolItem const & rAttr );
struct CompareSwpHtEnd
{ booloperator()( sal_Int32 nEndPos, const SwTextAttr* rhs ) const; booloperator()( const SwTextAttr* lhs, const SwTextAttr* rhs ) const;
}; typedef std::pair<sal_Int32, sal_Int32> WhichStartPair; struct CompareSwpHtWhichStart
{ booloperator()( const SwTextAttr* lhs, const sal_uInt16 nWhich ) const; booloperator()( const SwTextAttr* lhs, const SwTextAttr* rhs ) const; // used when we sort only a partial range of the map booloperator()( const SwTextAttr* lhs, const WhichStartPair nWhich ) const; booloperator()( const WhichStartPair nWhich, const SwTextAttr* lhs ) const;
};
/// An SwTextAttr container, stores all directly formatted text portions for a text node. class SwpHints
{ private: const SwTextNode& m_rParent;
// SAL_MAX_SIZE is used by GetStartOf to return // failure, so just allow SAL_MAX_SIZE-1 hints staticconst size_t MAX_HINTS = SAL_MAX_SIZE-1;
/// true: the Node is in Split and Frames are moved bool m_bInSplitNode : 1; // m_bHiddenByParaField is invalid, call CalcHiddenParaField() mutablebool m_bCalcHiddenParaField : 1; // if all fields controlling visibility of the paragraph require to hide it // (if there's no such fields, or if any field requires to show, then this is false) mutablebool m_bHiddenByParaField : 1; bool m_bFootnote : 1; ///< footnotes bool m_bDDEFields : 1; ///< the TextNode has DDE fields // Sort on demand to avoid O(n^2) behaviour // SAL_MAX_INT32 means nothing needs sorting, -1 means everything needs sorting mutable std::pair<sal_Int32, sal_Int32> m_StartMapNeedsSortingRange { SAL_MAX_INT32, -1 }; mutable std::pair<sal_Int32, sal_Int32> m_EndMapNeedsSortingRange { SAL_MAX_INT32, -1 }; // we are storing pairs of { Which, Start } here mutable std::pair<WhichStartPair, WhichStartPair> m_WhichMapNeedsSortingRange { { SAL_MAX_INT32, -1 }, { -1, -1 } };
/// records a new attribute in m_pHistory. void NoteInHistory( SwTextAttr *pAttr, constbool bNew = false );
void CalcFlags( );
/** Delete methods may only be called by the TextNode! BecausetheTextNodealsoguaranteesremovaloftheCharacterfor
attributes without an end. */ friendclass SwTextNode; void DeleteAtPos( size_t nPos ); /// Delete the given Hint. The Hint must actually be in the array! voidDelete( SwTextAttr const * pTextHt );
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.