43 nToken = HtmlTokenId::NONE;
64 aCurSel(
std::move(aSel)),
65 mpEditEngine(pEditEngine),
67 bLastActionInsertParaBreak(false)
119 DBG_ASSERT( pPrevNode,
"Invalid RTF-Document?!" );
127 bool bOnlyOnePara = ( aEnd2PaM.
GetNode() == aStart2PaM.
GetNode() );
132 bool bSpecialBackward = aStart1PaM.
GetNode()->
Len() == 0;
133 if ( bOnlyOnePara || aStart1PaM.
GetNode()->
Len() )
137 bSpecialBackward = aEnd1PaM.
GetNode()->
Len() != 0;
139 if ( !bOnlyOnePara && aEnd1PaM.
GetNode()->
Len() )
143 aEnd1PaM.
GetNode(), bSpecialBackward );
152 MapMode aPntMode( MapUnit::MapPoint );
162 for ( sal_Int32 nPara = nStartPara; nPara <= nEndPara; nPara++ )
165 assert(pNode &&
"AddRTFDefaultValues - No paragraph?!");
269 aCurSel.
Max(), i18n::CharacterIteratorMode::SKIPCHARACTER);
272 aCurSel.
Max(), i18n::CharacterIteratorMode::SKIPCHARACTER);
284 DBG_ASSERT( nCurPara != 0,
"Paragraph equal to 0: SetEnfPrevPara" );
288 assert(pPrevNode &&
"pPrevNode = 0!");
290 rCntPos = pPrevNode->
Len();
313 for (
unsigned short aFntHeightIem : aFntHeightIems)
316 if (SfxItemState::SET ==
rSet.GetAttrSet().
GetItemState( aFntHeightIem,
false, &pItem ))
326 rSet.GetAttrSet().
Put( aFntHeightItem );
351 nEsc = nEsc * 100 / nEscFontHeight;
354 rSet.GetAttrSet().
Put( aEscItem );
369 sal_Int16 nOutlLevel = 0xff;
377 auto const&
pS = it->second;
381 nOutlLevel =
pS.nOutlineNo;
390 for ( sal_Int32
z = nStartNode+1;
z < nEndNode;
z++ )
418 aAttrs.
Put(
rSet.GetAttrSet() );
429 if ( nOutlLevel != 0xff )
431 for ( sal_Int32
n = nStartNode;
n <= nEndNode;
n++ )
442 for (
auto & iter : rTable)
444 if (iter.second.sName == rName)
465 if ( &rS != pRTFStyle )
476 if ( !aParent.isEmpty() && ( aParent !=
aName ) )
516 int _nOpenBrackets = 1;
517 bool bFldInst =
false;
518 bool bFldRslt =
false;
529 if ( _nOpenBrackets == 1 )
537 case '{': _nOpenBrackets++;
559 if ( !aFldInst.isEmpty() )
561 OUString aHyperLinkMarker(
"HYPERLINK " );
562 if ( aFldInst.startsWithIgnoreAsciiCase( aHyperLinkMarker ) )
564 aFldInst = aFldInst.copy( aHyperLinkMarker.getLength() );
567 aFldInst = aFldInst.copy( 1, aFldInst.getLength()-2 );
569 if ( aFldRslt.isEmpty() )
584 int _nOpenBrackets = 1;
608 mpEditEngine(pEE),
mpNode(pNd) {}
616 mpEditEngine(pEE), mpCurSel(pSel) {}
bool HasItem(sal_uInt16 nWhich) const
CharAttribList & GetCharAttribs()
ContentAttribs & GetContentAttribs()
sal_Int32 GetPos(const ContentNode *pNode) const
SfxItemPool & GetItemPool()
const ContentNode * GetObject(sal_Int32 nPos) const
const SfxItemSet & GetBaseParaAttribs(sal_Int32 nPara) const
ESelection CreateESelection(const EditSelection &rSel) const
EditPaM CursorRight(const EditPaM &rPaM, sal_uInt16 nCharacterIteratorMode=css::i18n::CharacterIteratorMode::SKIPCELL)
EditPaM DeleteSelection(const EditSelection &rSel)
bool IsRtfImportHandlerSet() const
EditPaM CursorLeft(const EditPaM &rPaM, sal_uInt16 nCharacterIteratorMode=css::i18n::CharacterIteratorMode::SKIPCELL)
EditPaM InsertField(const EditSelection &rEditSelection, const SvxFieldItem &rFld)
OutputDevice * GetRefDevice() const
void SetParaAttribsOnly(sal_Int32 nPara, const SfxItemSet &rSet)
void SeekCursor(ContentNode *pNode, sal_Int32 nPos, SvxFont &rFont)
EditSelection InsertText(css::uno::Reference< css::datatransfer::XTransferable > const &rxDataObj, const OUString &rBaseURL, const EditPaM &rPaM, bool bUseSpecial)
void SetStyleSheet(const EditSelection &aSel, SfxStyleSheet *pStyle)
bool IsImportRTFStyleSheetsSet() const
SfxStyleSheetPool * GetStyleSheetPool()
void CallRtfImportHandler(RtfImportInfo &rInfo)
EditPaM InsertParaBreak(const EditSelection &rEditSelection)
void ParaAttribsToCharAttribs(ContentNode *pNode)
void SetAttribs(const EditSelection &rSel, const SfxItemSet &rSet, SetAttribsMode nSpecial=SetAttribsMode::NONE)
EditPaM InsertLineBreak(const EditSelection &rEditSelection)
EditPaM ConnectParagraphs(ContentNode *pLeft, ContentNode *pRight, bool bBackward)
EditNodeIdx(EditEngine *pEE, ContentNode *pNd)
EditEngine * mpEditEngine
const ContentNode * GetNode() const
sal_Int32 GetIndex() const
EditPosition(EditEngine *pIEE, EditSelection *pSel)
sal_Int32 GetCntIdx() const
EditNodeIdx MakeNodeIdx() const
EditEngine * mpEditEngine
sal_Int32 GetNodeIdx() const
virtual void InsertPara() override
virtual ~EditRTFParser() override
bool bLastActionInsertParaBreak
virtual void SetEndPrevPara(std::optional< EditNodeIdx > &rpNodePos, sal_Int32 &rCntPos) override
virtual void UnknownAttrToken(int nToken) override
EditRTFParser(SvStream &rIn, EditSelection aCurSel, SfxItemPool &rAttrPool, EditEngine *pEditEngine)
virtual bool IsEndPara(EditNodeIdx *pNd, sal_Int32 nCnt) const override
virtual void NextToken(int nToken) override
virtual void SetAttrInDoc(SvxRTFItemStackType &rSet) override
SvxRTFStyleType * FindStyleSheet(std::u16string_view rName)
virtual void InsertText() override
EditEngine * mpEditEngine
virtual void CalcValue() override
virtual SvParserState CallParser() override
virtual void MovePos(bool bForward=true) override
SfxStyleSheet * CreateStyleSheet(SvxRTFStyleType const *pRTFStyle)
void AddRTFDefaultValues(const EditPaM &rStart, const EditPaM &rEnd)
MapUnit GetMapUnit() const
SAL_WARN_UNUSED_RESULT Point LogicToLogic(const Point &rPtSource, const MapMode *pMapModeSource, const MapMode *pMapModeDest) const
const MapMode & GetMapMode() const
virtual MapUnit GetMetric(sal_uInt16 nWhich) const
void SetParent(const SfxItemSet *pNew)
const T * GetItemIfSet(TypedWhichId< T > nWhich, bool bSrchInParent=true) const
sal_uInt16 ClearItem(sal_uInt16 nWhich=0)
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
virtual SfxStyleSheetBase & Make(const OUString &, SfxStyleFamily eFam, SfxStyleSearchBits nMask=SfxStyleSearchBits::All)
virtual SfxStyleSheetBase * Find(const OUString &, SfxStyleFamily eFam, SfxStyleSearchBits n=SfxStyleSearchBits::All)
virtual SfxItemSet & GetItemSet()
constexpr tools::Long Height() const
constexpr tools::Long Width() const
bool IsParserWorking() const
T SkipToken(short nCnt=-1)
This item stores a field (SvxFieldData).
void SetProp(sal_uInt16 nNewProp, MapUnit eUnit)
This item describes a Font.
void SetChkStyleAttr(bool bFlag)
SvxRTFStyleTbl & GetStyleTbl()
void SetCalcValue(bool bFlag)
virtual void NextToken(int nToken) override
virtual SvParserState CallParser() override
const vcl::Font & GetFont(sal_uInt16 nId)
void SetNewDoc(bool bFlag)
void SetInsPos(const EditPosition &rNew)
FontFamily GetFamilyType()
const OUString & GetStyleName() const
const OUString & GetFamilyName() const
const Size & GetFontSize() const
rtl_TextEncoding GetCharSet() const
#define DBG_ASSERT(sCon, aError)
void ConvertAndPutItems(SfxItemSet &rDest, const SfxItemSet &rSource, const MapUnit *pSourceUnit, const MapUnit *pDestUnit)
constexpr TypedWhichId< SvxFieldItem > EE_FEATURE_FIELD(EE_FEATURE_NOTCONV+1)
constexpr TypedWhichId< SvxFontHeightItem > EE_CHAR_FONTHEIGHT(EE_CHAR_START+2)
constexpr TypedWhichId< SvxEscapementItem > EE_CHAR_ESCAPEMENT(EE_CHAR_START+10)
constexpr TypedWhichId< SfxInt16Item > EE_PARA_OUTLLEVEL(EE_PARA_START+11)
constexpr TypedWhichId< SvxFontHeightItem > EE_CHAR_FONTHEIGHT_CTL(EE_CHAR_START+20)
constexpr TypedWhichId< SvxFontHeightItem > EE_CHAR_FONTHEIGHT_CJK(EE_CHAR_START+19)
constexpr TypedWhichId< SvxFontItem > EE_CHAR_FONTINFO(EE_CHAR_START+1)
constexpr MapUnit gRTFMapUnit
#define DFLT_ESC_AUTO_SUB
#define DFLT_ESC_AUTO_SUPER
OString strip(const OString &rIn, char c)
SwContentNode * GetNode(SwPaM &rPam, bool &rbFirst, SwMoveFnCollection const &fnMove, bool const bInReadOnly, SwRootFrame const *const i_pLayout)
SvParser< HtmlTokenId > * pParser
HtmlImportInfo(HtmlImportState eState, SvParser< HtmlTokenId > *pPrsrs, const ESelection &rSel)
SvParser< int > * pParser
RtfImportInfo(RtfImportState eState, SvParser< int > *pPrsrs, const ESelection &rSel)
std::map< sal_uInt16, SvxRTFStyleType > SvxRTFStyleTbl