42 #include <osl/diagnose.h>
96 OSL_ENSURE( rName[0] !=
'#',
"FindImageMap: name begins with '#'!" );
102 if (rName.equalsIgnoreAsciiCase(rpIMap->GetName()))
121 SwNode *pNd = rNds[nIdx + 1];
123 if(
nullptr != pGrfNd )
128 if( pIMap && pIMap->GetIMapObjectCount()==0 )
134 aURL.SetMap( pNewIMap );
145 nIdx = rNds[nIdx]->EndOfSectionIndex() + 1;
162 rFrameItemSet.
Put( *pCntnrItemSet );
181 bool bMoveBackward =
false;
183 sal_Int16 eVertRel = text::RelOrientation::FRAME;
188 sal_uInt16 nLeftSpace = 0, nRightSpace = 0;
194 css::text::WrapTextMode eSurround;
197 case text::HoriOrientation::LEFT:
198 eHoriRel = nLeftSpace ? text::RelOrientation::PRINT_AREA : text::RelOrientation::FRAME;
199 eSurround = css::text::WrapTextMode_RIGHT;
201 case text::HoriOrientation::RIGHT:
202 eHoriRel = nRightSpace ? text::RelOrientation::PRINT_AREA : text::RelOrientation::FRAME;
203 eSurround = css::text::WrapTextMode_LEFT;
205 case text::HoriOrientation::CENTER:
206 eHoriRel = text::RelOrientation::FRAME;
207 eSurround = css::text::WrapTextMode_NONE;
210 eHoriRel = text::RelOrientation::FRAME;
211 eSurround = css::text::WrapTextMode_PARALLEL;
223 sal_uInt16 nUpper=0, nLower=0;
241 aAnchor.
SetType( RndStdIds::FLY_AT_CHAR );
242 bMoveBackward =
true;
243 eVertOri = text::VertOrientation::CHAR_BOTTOM;
244 eVertRel = text::RelOrientation::CHAR;
248 aAnchor.
SetType( RndStdIds::FLY_AT_PARA );
249 eVertOri = text::VertOrientation::TOP;
250 eVertRel = text::RelOrientation::PRINT_AREA;
264 eState = SvParserState::Error;
273 rFrameSet.
Put( aAnchor );
283 m_aMoveFlyFrames.emplace_back(std::make_unique<SwHTMLFrameFormatListener>(pFlyFormat));
291 OUString& rTypeStr )
const
302 bool allowAccessLink(
const SwDoc& rDoc)
306 if (sh !=
nullptr && sh->
HasName())
319 OUString sAltNm,
aId, aClass, aStyle,
aMap, sHTMLGrfName;
321 OUString aGraphicData;
322 sal_Int16 eVertOri = text::VertOrientation::TOP;
324 bool bWidthProvided=
false, bHeightProvided=
false;
330 bool bPercentWidth =
false;
331 bool bPercentHeight =
false;
332 OUString sWidthAsString, sHeightAsString;
336 OUString sDfltScriptType;
340 for (
size_t i = rHTMLOptions.size();
i; )
347 case HtmlOptionId::ID:
350 case HtmlOptionId::STYLE:
353 case HtmlOptionId::CLASS:
356 case HtmlOptionId::SRC:
358 if( !InternalImgToPrivateURL(sGrfNm) )
361 case HtmlOptionId::DATA:
363 if (!InternalImgToPrivateURL(aGraphicData))
367 case HtmlOptionId::ALIGN:
369 rOption.
GetEnum( aHTMLImgVAlignTable,
370 text::VertOrientation::TOP );
372 rOption.
GetEnum( aHTMLImgHAlignTable );
374 case HtmlOptionId::WIDTH:
378 bPercentWidth = (sWidthAsString.indexOf(
'%') != -1);
379 if( bPercentWidth && nWidth>100 )
383 bWidthProvided = (sWidthAsString !=
"auto");
385 case HtmlOptionId::HEIGHT:
389 bPercentHeight = (sHeightAsString.indexOf(
'%') != -1);
390 if( bPercentHeight && nHeight>100 )
393 bHeightProvided = (sHeightAsString !=
"auto");
395 case HtmlOptionId::VSPACE:
398 case HtmlOptionId::HSPACE:
401 case HtmlOptionId::ALT:
404 case HtmlOptionId::BORDER:
405 nBorder =
static_cast<sal_uInt16
>(rOption.
GetNumber());
407 case HtmlOptionId::ISMAP:
410 case HtmlOptionId::USEMAP:
413 case HtmlOptionId::NAME:
417 case HtmlOptionId::SDONLOAD:
420 case HtmlOptionId::ONLOAD:
421 nEvent = SvMacroItemId::OnImageLoadDone;
424 case HtmlOptionId::SDONABORT:
427 case HtmlOptionId::ONABORT:
428 nEvent = SvMacroItemId::OnImageLoadCancel;
431 case HtmlOptionId::SDONERROR:
434 case HtmlOptionId::ONERROR:
435 nEvent = SvMacroItemId::OnImageLoadError;
440 if( !sTmp.isEmpty() )
443 OUString sScriptType;
445 sScriptType = sDfltScriptType;
447 SvxMacro( sTmp, sScriptType, eScriptType2 ));
455 if (sGrfNm.isEmpty() && !aGraphicData.isEmpty())
456 sGrfNm = aGraphicData;
458 if( sGrfNm.isEmpty() )
473 "Numbering level is wrong" );
491 if( aGraphicURL.
GetProtocol() == INetProtocol::Data )
493 std::unique_ptr<SvMemoryStream>
const pStream(aGraphicURL.
getData());
500 if (!sGrfNm.isEmpty())
507 else if (
m_sBaseURL.isEmpty() || !aGraphicData.isEmpty())
515 if (!sGrfNm.isEmpty())
520 if (!nHeight || !nWidth)
524 nWidth = aPixelSize.
Width();
525 if (!bHeightProvided)
526 nHeight = aPixelSize.
Height();
552 const OUString& rURL =
556 sal_uInt16 nPoolId =
static_cast< sal_uInt16
>(
m_xDoc->IsVisitedURL( rURL )
573 aBoxItem.
SetLine( &aHBorderLine, SvxBoxItemLine::TOP );
574 aBoxItem.
SetLine( &aHBorderLine, SvxBoxItemLine::BOTTOM );
575 aBoxItem.
SetLine( &aVBorderLine, SvxBoxItemLine::LEFT );
576 aBoxItem.
SetLine( &aVBorderLine, SvxBoxItemLine::RIGHT );
577 aFrameSet.Put( aBoxItem );
582 SetSpace(
Size( nHSpace, nVSpace), aItemSet, aPropInfo, aFrameSet );
587 Size aTwipSz( bPercentWidth ? 0 : nWidth, bPercentHeight ? 0 : nHeight );
590 if (bWidthProvided || bHeightProvided ||
605 switch( aPropInfo.m_eWidthType )
608 aTwipSz.
setWidth( aPropInfo.m_nWidth );
610 bPercentWidth =
false;
614 nWidth = aPropInfo.m_nWidth;
615 bPercentWidth =
true;
620 switch( aPropInfo.m_eHeightType )
623 aTwipSz.
setHeight( aPropInfo.m_nHeight );
625 bPercentHeight =
false;
629 nHeight = aPropInfo.m_nHeight;
630 bPercentHeight =
true;
637 bool bSetTwipSize =
true;
638 bool bChangeFrameSize =
false;
639 bool bRequestGrfNow =
false;
640 bool bSetScaleImageMap =
false;
641 sal_uInt8 nPercentWidth = 0, nPercentHeight = 0;
645 if ((!bPercentWidth && !nWidth) && (!bPercentHeight && !nHeight) && allowAccessLink(*
m_xDoc))
648 if (aDescriptor.
Detect(
true))
659 if( !nWidth || !nHeight )
665 bRequestGrfNow =
true;
670 bChangeFrameSize =
true;
672 if( !nWidth && !nHeight )
682 nPercentWidth =
static_cast<sal_uInt8>(nWidth);
683 nPercentHeight = 255;
694 nPercentHeight =
static_cast<sal_uInt8>(nHeight);
706 bSetTwipSize =
false;
709 nPercentWidth =
static_cast<sal_uInt8>(nWidth);
712 nPercentHeight =
static_cast<sal_uInt8>(nHeight);
717 if( !aMap.isEmpty() )
721 sal_Int32
nPos = aMap.indexOf(
'#' );
726 aName = aMap.copy(nPos+1);
733 bSetScaleImageMap = !nPercentWidth || !nPercentHeight;
734 aFrameSet.Put( aURL );
740 aFrameSet.Put( aURL );
745 bSetScaleImageMap =
true;
752 OSL_ENSURE( !aTwipSz.
Width(),
753 "Why is a width set if we already have percentage value?" );
765 OSL_ENSURE( !aTwipSz.
Height(),
766 "Why is a height set if we already have percentage value?" );
779 aFrameSize.SetHeightPercent( nPercentHeight );
780 aFrameSet.Put( aFrameSize );
788 m_xDoc->getIDocumentContentOperations().InsertGraphic(
789 *
m_pPam, sGrfNm, OUString(), &aGraphic,
790 &aFrameSet,
nullptr,
nullptr);
794 if( !sHTMLGrfName.isEmpty() )
796 pFlyFormat->
SetName( sHTMLGrfName );
808 if( !sAltNm.isEmpty() )
816 if( bSetScaleImageMap )
834 SvMacroItemId::OnMouseOver,
835 SvMacroItemId::OnClick,
836 SvMacroItemId::OnMouseOut };
841 if(
nullptr != pMacro )
859 if( !rINetFormat.
GetName().isEmpty() )
878 if (bRequestGrfNow && pGrfNd)
881 SAL_WARN_IF(!aUpdatedSize.
Width() || !aUpdatedSize.
Height(),
"sw.html",
"html image with no width or height");
898 OUString aBackGround,
aId, aStyle, aLang, aDir;
899 Color aBGColor, aTextColor, aLinkColor, aVLinkColor;
900 bool bBGColor=
false, bTextColor=
false;
901 bool bLinkColor=
false, bVLinkColor=
false;
904 OUString sDfltScriptType;
908 for (
size_t i = rHTMLOptions.size();
i; )
913 bool bSetEvent =
false;
917 case HtmlOptionId::ID:
920 case HtmlOptionId::BACKGROUND:
923 case HtmlOptionId::BGCOLOR:
927 case HtmlOptionId::TEXT:
931 case HtmlOptionId::LINK:
935 case HtmlOptionId::VLINK:
940 case HtmlOptionId::SDONLOAD:
943 case HtmlOptionId::ONLOAD:
948 case HtmlOptionId::SDONUNLOAD:
951 case HtmlOptionId::ONUNLOAD:
956 case HtmlOptionId::SDONFOCUS:
959 case HtmlOptionId::ONFOCUS:
964 case HtmlOptionId::SDONBLUR:
967 case HtmlOptionId::ONBLUR:
972 case HtmlOptionId::ONERROR:
975 case HtmlOptionId::STYLE:
979 case HtmlOptionId::LANG:
982 case HtmlOptionId::DIR:
990 const OUString& rEvent = rOption.
GetString();
991 if( !rEvent.isEmpty() )
1007 std::unique_ptr<SvxBrushItem> aBrushItem(
m_pCSS1Parser->makePageDescBackground() );
1008 bool bSetBrush =
false;
1014 if( !aBrushItem->GetGraphicLink().isEmpty() )
1015 aLink = aBrushItem->GetGraphicLink();
1018 aBrushItem->SetColor( aBGColor );
1020 if( !aLink.isEmpty() )
1022 aBrushItem->SetGraphicLink( aLink );
1023 aBrushItem->SetGraphicPos( ePos );
1029 if( !aBackGround.isEmpty() && !
m_pCSS1Parser->IsBodyBackgroundSet() )
1038 if( !aStyle.isEmpty() || !aDir.isEmpty() )
1043 ParseStyleOptions( aStyle, aDummy, aDummy, aItemSet, aPropInfo,
nullptr, &aDir );
1047 m_pCSS1Parser->SetPageDescAttrs( bSetBrush ? aBrushItem.get() :
nullptr,
1054 for(sal_uInt16
i : aWhichIds)
1056 if( SfxItemState::SET == aItemSet.GetItemState(
i,
false,
1060 sal_uInt32 nHeight =
1064 aItemSet.Put( aNewItem );
1070 ->SetFormatAttr( aItemSet );
1072 else if( bSetBrush )
1091 if( !aLang.isEmpty() )
1096 sal_uInt16 nWhich = 0;
1099 case SvtScriptType::LATIN:
1102 case SvtScriptType::ASIAN:
1105 case SvtScriptType::COMPLEX:
1113 aLanguage.SetWhich( nWhich );
1114 m_xDoc->SetDefault( aLanguage );
1119 if( !aId.isEmpty() )
1128 std::unique_ptr<HTMLAttrContext> xOldCntxt(
PopContext(HtmlTokenId::ANCHOR_ON));
1136 OUString sHRef,
aName, sTarget;
1137 OUString
aId, aStyle, aClass, aLang, aDir;
1138 bool bHasHRef =
false, bFixed =
false;
1141 OUString sDfltScriptType;
1145 for (
size_t i = rHTMLOptions.size();
i; )
1152 case HtmlOptionId::NAME:
1156 case HtmlOptionId::HREF:
1160 case HtmlOptionId::TARGET:
1164 case HtmlOptionId::STYLE:
1167 case HtmlOptionId::ID:
1170 case HtmlOptionId::CLASS:
1173 case HtmlOptionId::SDFIXED:
1176 case HtmlOptionId::LANG:
1179 case HtmlOptionId::DIR:
1183 case HtmlOptionId::SDONCLICK:
1186 case HtmlOptionId::ONCLICK:
1187 nEvent = SvMacroItemId::OnClick;
1188 goto ANCHOR_SETEVENT;
1190 case HtmlOptionId::SDONMOUSEOVER:
1193 case HtmlOptionId::ONMOUSEOVER:
1194 nEvent = SvMacroItemId::OnMouseOver;
1195 goto ANCHOR_SETEVENT;
1197 case HtmlOptionId::SDONMOUSEOUT:
1200 case HtmlOptionId::ONMOUSEOUT:
1201 nEvent = SvMacroItemId::OnMouseOut;
1202 goto ANCHOR_SETEVENT;
1206 if( !sTmp.isEmpty() )
1209 OUString sScriptType;
1211 sScriptType = sDfltScriptType;
1212 aMacroTable.
Insert( nEvent,
SvxMacro( sTmp, sScriptType, eScriptType2 ));
1222 if( !aName.isEmpty() )
1229 OUString sCmp= sDecoded.copy(nPos+1).replaceAll(
" ",
"");
1230 if( !sCmp.isEmpty() )
1232 sCmp = sCmp.toAsciiLowerCase();
1233 if( sCmp ==
"region" ||
1235 sCmp ==
"graphic" ||
1238 sCmp ==
"outline" ||
1248 std::unique_ptr<HTMLAttrContext> xCntxt(
new HTMLAttrContext(HtmlTokenId::ANCHOR_ON));
1250 bool bEnAnchor =
false, bFootnoteAnchor =
false, bFootnoteEnSymbol =
false;
1251 OUString aFootnoteName;
1252 OUString aStrippedClass( aClass );
1254 if( aStrippedClass.getLength() >=9 && bHasHRef && sHRef.getLength() > 1 &&
1255 (
's' == aStrippedClass[0] ||
'S' == aStrippedClass[0]) &&
1256 (
'd' == aStrippedClass[1] ||
'D' == aStrippedClass[1]) )
1261 bFootnoteAnchor =
true;
1264 bFootnoteEnSymbol =
true;
1265 if( bEnAnchor || bFootnoteAnchor || bFootnoteEnSymbol )
1267 aFootnoteName = sHRef.copy( 1 );
1269 aStrippedClass.clear();
1281 if(
ParseStyleOptions( aStyle, aId, aClass, aItemSet, aPropInfo, &aLang, &aDir ) )
1284 InsertAttrs(aItemSet, aPropInfo, xCntxt.get(),
true);
1290 if( !sHRef.isEmpty() )
1305 if( !aMacroTable.
empty() )
1314 else if( !aName.isEmpty() )
1319 if( bEnAnchor || bFootnoteAnchor )
1324 else if( bFootnoteEnSymbol )
1345 EndTag( HtmlTokenId::ANCHOR_OFF );
1359 bool bHasMarks =
false;
1387 const ::sw::mark::IMark* pBookmark = *ppMark;
1389 const sal_uLong nBookNdIdx = pBookmark->GetMarkPos().nNode.GetIndex();
1390 if( nBookNdIdx==nNodeIdx )
1395 else if( nBookNdIdx > nNodeIdx )
1407 bool bSetSmallFont =
false;
1418 for(
auto pFormat : rFrameFormatTable )
1423 ((RndStdIds::FLY_AT_PARA == pAnchor->
GetAnchorId()) ||
1424 (RndStdIds::FLY_AT_CHAR == pAnchor->
GetAnchorId())) &&
1425 pAPos->
nNode == nNodeIdx )
1455 if(nBookNdIdx==nNodeIdx)
1461 OSL_ENSURE(
false,
"Oops, where is my predecessor node?");
1469 const SwPaM aPaM(aNewPos);
1473 else if( nBookNdIdx > nNodeIdx )
1487 bSetSmallFont =
true;
1496 bSetSmallFont =
true;
1500 while( bSetSmallFont && nPos>0 )
1515 pCNd->
SetAttr( aFontHeightCJK );
1517 pCNd->
SetAttr( aFontHeightCTL );
sal_uInt16 IncGrfsThatResizeTable()
OString stripEnd(const OString &rIn, char c)
sal_uInt8 GetLevel() const
virtual sal_Int32 Len() const
static void SetSpace(const Size &rPixSpace, SfxItemSet &rItemSet, SvxCSS1PropertyInfo &rPropInfo, SfxItemSet &rFlyItemSet)
SvxMacro & Insert(SvMacroItemId nEvent, const SvxMacro &rMacro)
void SetAnchorAndAdjustment(sal_Int16 eVertOri, sal_Int16 eHoriOri, const SvxCSS1PropertyInfo &rPropInfo, SfxItemSet &rFrameSet)
sal_uLong GetIndex() const
SwNode & GetNode(bool bPoint=true) const
EnumT GetEnum(const HTMLOptionEnum< EnumT > *pOptEnums, EnumT nDflt=static_cast< EnumT >(0)) const
SvKeyValueIterator * GetHeaderAttributes()
SwNode & GetEndOfAutotext() const
Section for all Flys/Header/Footers.
#define OOO_STRING_SVTOOLS_HTML_VA_texttop
HtmlOptionId GetToken() const
sal_uInt16 m_nMissingImgMaps
static Css1ScriptFlags GetScriptFromClass(OUString &rClass, bool bSubClassOnly=true)
TOOLS_DLLPUBLIC OString convertLineEnd(const OString &rIn, LineEnd eLineEnd)
#define OOO_STRING_SVTOOLS_HTML_VA_bottom
Marks a position in the document model.
void SetAttr(bool bChkEnd=true, bool bBeforeTable=false, std::deque< std::unique_ptr< HTMLAttr >> *pPostIts=nullptr)
ErrCode ImportGraphic(Graphic &rGraphic, const INetURLObject &rPath, sal_uInt16 nFormat=GRFILTER_FORMAT_DONTKNOW, sal_uInt16 *pDeterminedFormat=nullptr, GraphicFilterImportFlags nImportFlags=GraphicFilterImportFlags::NONE)
#define OOO_STRING_SVTOOLS_HTML_sdendnote_anc
sal_uLong StartOfSectionIndex() const
void setWidth(tools::Long nWidth)
const OUString & GetText() const
ImageMap * FindImageMap(const OUString &rURL) const
Point LogicToLogic(const Point &rPtSource, const MapMode *pMapModeSource, const MapMode *pMapModeDest) const
Size GetSizePixel(const OutputDevice *pRefDevice=nullptr) const
#define OOO_STRING_SVTOOLS_HTML_VA_absmiddle
#define OOO_STRING_SVTOOLS_HTML_AL_center
void ScaleImageMap()
Scale an image-map: the image-map becomes zoomed in / out by factor between graphic-size and border-s...
void InsertBookmark(const OUString &rName)
tools::Long getWidth() const
wrapper iterator: wraps iterator of implementation while hiding MarkBase class; only IMark instances ...
const OUString & GetName() const
constexpr TypedWhichId< SvxLanguageItem > RES_CHRATR_LANGUAGE(10)
constexpr TypedWhichId< SvxFontHeightItem > RES_CHRATR_FONTSIZE(8)
void SetTitle(const OUString &rTitle)
#define OOO_STRING_SVTOOLS_HTML_sdfootnote_anc
void NewAttr(const std::shared_ptr< HTMLAttrTable > &rAttrTab, HTMLAttr **ppAttr, const SfxPoolItem &rItem)
Provides access to the marks of a document.
const OUString & GetString() const
void CutText(SwTextNode *const pDest, const SwIndex &rStart, const sal_Int32 nLen)
HTMLAttrContexts m_aContexts
constexpr TypedWhichId< SwFormatFlyCnt > RES_TXTATR_FLYCNT(57)
virtual const SwPosition & GetMarkPos() const =0
sal_uInt32 m_aFontHeights[7]
static SwContentNode * GoPrevious(SwNodeIndex *)
#define OOO_STRING_SVTOOLS_HTML_sdfootnote_sym
static void PixelToTwip(tools::Long &nWidth, tools::Long &nHeight)
std::unique_ptr< ImageMaps > m_pImageMaps
all Image-Maps that have been read
css::chart::ChartAxisLabelPosition ePos
int GetActualListLevel() const
Returns the actual list level of this text node, when it is a list item.
void InsertBasicDocEvent(const OUString &aEventName, const OUString &rName, ScriptType eScrType, const OUString &rScrType)
SwContentNode * GetContentNode(bool bPoint=true) const
static OutputDevice * GetDefaultDevice()
SwTextAttr * GetTextAttrForCharAt(const sal_Int32 nIndex, const sal_uInt16 nWhich=RES_TXTATR_END) const
get the text attribute at position nIndex which owns the dummy character CH_TXTATR_* at that position...
Graphic ImportUnloadedGraphic(SvStream &rIStream, sal_uInt64 sizeLimit=0, const Size *pSizeHint=nullptr)
HashMap_OWString_Interface aMap
#define CH_TXTATR_BREAKWORD
void SetChgTwipSize(bool b)
static void ResetFrameFormatAttrs(SfxItemSet &rFrameSet)
static LanguageType convertToLanguageTypeWithFallback(const OUString &rBcp47)
SwNodeType GetNodeType() const
bool m_bNotifyMacroEventRead
ScriptType GetScriptType(SvKeyValueIterator *) const
void GetDefaultScriptType(ScriptType &rType, OUString &rTypeStr) const
const BorderLinePrimitive2D *pCandidateB assert(pCandidateA)
void SetColor(const Color &rColor)
void InsertAttrs(std::deque< std::unique_ptr< HTMLAttr >> rAttrs)
constexpr TypedWhichId< SvxLanguageItem > RES_CHRATR_CTL_LANGUAGE(29)
bool ParseStyleOptions(const OUString &rStyle, const OUString &rId, const OUString &rClass, SfxItemSet &rItemSet, SvxCSS1PropertyInfo &rPropInfo, const OUString *pLang=nullptr, const OUString *pDir=nullptr)
sal_uLong GetIndex() const
LineEnd GetSystemLineEnd()
static OUString GetAbsURL(OUString const &rTheBaseURIRef, OUString const &rTheRelURIRef, EncodeMechanism eEncodeMechanism=EncodeMechanism::WasEncoded, DecodeMechanism eDecodeMechanism=DecodeMechanism::ToIUri, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8)
#define OOO_STRING_SVTOOLS_HTML_VA_top
void SetCountedInList(bool bCounted)
static SvtScriptType GetScriptTypeOfLanguage(LanguageType nLang)
constexpr TypedWhichId< SfxStringItem > RES_FLTR_BOOKMARK(RES_FLTRATTR_BEGIN)
css::uno::Reference< css::frame::XModel > GetBaseModel() const
static OUString StripQueryFromPath(const OUString &rBase, const OUString &rPath)
Strips query and fragment from a URL path if base URL is a file:// one.
std::vector< std::unique_ptr< SwHTMLFrameFormatListener > > m_aMoveFlyFrames
void InsertAttr(const SfxPoolItem &rItem, bool bInsAtStart)
virtual void repositionMark(::sw::mark::IMark *io_pMark, const SwPaM &rPaM)=0
Moves an existing mark to a new selection and performs needed updates.
virtual const_iterator_t getAllMarksBegin() const =0
returns a STL-like random access iterator to the begin of the sequence of marks.
tools::Long getHeight() const
static void SetFrameFormatAttrs(SfxItemSet &rItemSet, HtmlFrameFormatFlags nFlags, SfxItemSet &rFrameItemSet)
PaM is Point and Mark: a selection of the document model.
bool Move(SwMoveFnCollection const &fnMove=fnMoveForward, SwGoInDoc fnGo=GoInContent)
Movement of cursor.
void InsertFootEndNote(const OUString &rName, bool bEndNote, bool bFixed)
void EndTag(HtmlTokenId nToken)
virtual const_iterator_t getAllMarksEnd() const =0
returns a STL-like random access iterator to the end of the sequence of marks.
sal_uInt16 GetDepth() const
const Size & GetSizePixel() const
std::deque< sal_Int32 > m_aMoveFlyCnts
bool GoInNode(SwPaM &rPam, SwMoveFnCollection const &fnMove)
const SwPosition * GetPoint() const
SwIndex & Assign(SwIndexReg *, sal_Int32)
void NotifyMacroEventRead()
static OUString GetEventName(GlobalEventId nID)
#define OOO_STRING_SVTOOLS_HTML_VA_baseline
constexpr TypedWhichId< SvxMacroItem > RES_FRMMACRO(108)
bool HasCurrentParaBookmarks(bool bIgnoreStack=false) const
const Color & GetColor() const
std::unique_ptr< SwCSS1Parser > m_pCSS1Parser
tools::Long Width() const
void EndContext(HTMLAttrContext *pContext)
#define OOO_STRING_SVTOOLS_HTML_AL_left
Marks a character position inside a document model node.
std::unique_ptr< HTMLAttrContext > PopContext(HtmlTokenId nToken=HtmlTokenId::NONE)
#define LANGUAGE_DONTKNOW
bool DoPositioning(SfxItemSet &rItemSet, SvxCSS1PropertyInfo &rPropInfo, HTMLAttrContext *pContext)
Marks a node in the document model.
bool m_bInFootEndNoteSymbol
MapUnit GetMapUnit() const
void RegisterFlyFrame(SwFrameFormat *pFlyFrame)
#define OOO_STRING_SVTOOLS_HTML_VA_middle
const sal_Unicode cMarkSeparator
void SetTwipSize(const Size &rSz)
bool IsScaleImageMap() const
Frame cannot be moved in Var-direction.
virtual Size GetTwipSize() const override
void SetMacro(SvMacroItemId nEvent, const SvxMacro &)
HTMLOptionEnum< sal_Int16 > const aHTMLImgVAlignTable[]
bool HasCurrentParaFlys(bool bNoSurroundOnly=false, bool bSurroundOnly=false) const
sal_uInt32 GetNumber() const
const SwNodeIndex * GetContentIdx() const
Point PixelToLogic(const Point &rDevicePt) const
tools::Long const nBorder
#define HTML_DFLT_IMG_WIDTH
constexpr TypedWhichId< SvxColorItem > RES_CHRATR_COLOR(3)
constexpr sal_uInt16 RES_FRMATR_END(131)
sal_uLong EndOfSectionIndex() const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
SwTextNode is a paragraph in the document model.
const SvxMacroTableDtor & GetMacroTable() const
void SetInvalidRule(bool bFlag)
virtual bool SetAttr(const SfxPoolItem &)
made virtual
#define OOO_STRING_SVTOOLS_HTML_AL_right
void SetScaleImageMap(bool b)
#define SAL_WARN_IF(condition, area, stream)
#define OOO_STRING_SVTOOLS_HTML_sdendnote_sym
MapMode GetPrefMapMode() const
OUString GetPartBeforeLastName() const
SwMoveFnCollection const & fnMoveForward
SwPam::Move()/Find() default argument.
::std::vector< HTMLOption > HTMLOptions
void GetULSpaceFromContext(sal_uInt16 &rUpper, sal_uInt16 &rLower) const
bool CanRemoveNode(sal_uLong nNodeIdx) const
void SetTextCollAttrs(HTMLAttrContext *pContext=nullptr)
sal_Int32 GetIndex() const
SwHTMLNumRuleInfo & GetNumInfo()
bool IsCountedInList() const
INetProtocol GetProtocol() const
tools::Long AdjustWidth(tools::Long n)
bool EndAttr(HTMLAttr *pAttr, bool bChkEmpty=true)
SfxObjectShell * GetPersist() const
tools::Long Height() const
SwTableNode is derived from SwStartNode.
constexpr TypedWhichId< SwDrawFrameFormat > RES_DRAWFRMFMT(157)
tools::Long AdjustHeight(tools::Long n)
constexpr TypedWhichId< SvxBoxItem > RES_BOX(106)
std::shared_ptr< HTMLTable > m_xTable
SwMoveFnCollection const & fnMoveBackward
void GetColor(Color &) const
void setHeight(tools::Long nHeight)
#define HTML_DFLT_IMG_HEIGHT
static GraphicFilter & GetGraphicFilter()
Reference< XModel > xModel
void GetMarginsFromContextWithNumberBullet(sal_uInt16 &nLeft, sal_uInt16 &nRight, short &nIndent) const
#define OOO_STRING_SVTOOLS_HTML_VA_absbottom
HTMLOptionEnum< sal_Int16 > const aHTMLImgHAlignTable[]
std::shared_ptr< HTMLAttrTable > m_xAttrTab
virtual void SetMark()
Unless this is called, the getter method of Mark will return Point.
const OUString & GetScriptTypeString(SvKeyValueIterator *) const
bool m_bInFootEndNoteAnchor
bool AppendTextNode(SwHTMLAppendMode eMode=AM_NORMAL, bool bUpdateNum=true)
bool Detect(bool bExtendedInfo=false)
COMPHELPER_DLLPUBLIC void notifyMacroEventRead(const css::uno::Reference< css::frame::XModel > &_rxDocument)
void PushContext(std::unique_ptr< HTMLAttrContext > &rCntxt)
constexpr TypedWhichId< SvxFontHeightItem > RES_CHRATR_CTL_FONTSIZE(28)
rtl::Reference< SwDoc > m_xDoc
SwNumRule * GetNumRule(SwTextFormatColl &rTextFormatColl)
determines the list style, which directly set at the given paragraph style
constexpr TypedWhichId< SvxFontHeightItem > RES_CHRATR_CJK_FONTSIZE(23)
constexpr sal_uInt16 RES_FRMATR_BEGIN(RES_PARATR_LIST_END)
SwFrameFormat * GetFlyFormat() const
If node is in a fly return the respective format.
constexpr TypedWhichId< SvxULSpaceItem > RES_UL_SPACE(92)
std::unique_ptr< SfxPoolItem > m_pItem
sal_uInt32 GetSttParaIdx() const
std::unique_ptr< SvMemoryStream > getData() const
constexpr TypedWhichId< SvxLanguageItem > RES_CHRATR_CJK_LANGUAGE(24)
const Color & GetValue() const
static bool MayBePositioned(const SvxCSS1PropertyInfo &rPropInfo, bool bAutoWidth=false)
static bool HasStyleOptions(std::u16string_view rStyle, std::u16string_view rId, std::u16string_view rClass, const OUString *pLang=nullptr, const OUString *pDir=nullptr)
SwTextNode * GetTextNode()
Inline methods from Node.hxx.
OUString m_aBulletGrfs[MAXLEVEL]
void SetLine(const editeng::SvxBorderLine *pNew, SvxBoxItemLine nLine)
SVL_DLLPUBLIC OUString SmartRel2Abs(INetURLObject const &rTheBaseURIRef, OUString const &rTheRelURIRef, Link< OUString *, bool > const &rMaybeFileHdl=Link< OUString *, bool >(), bool bCheckFileExists=true, bool bIgnoreFragment=false, INetURLObject::EncodeMechanism eEncodeMechanism=INetURLObject::EncodeMechanism::WasEncoded, INetURLObject::DecodeMechanism eDecodeMechanism=INetURLObject::DecodeMechanism::ToIUri, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8, FSysStyle eStyle=FSysStyle::Detect)
Base class of the Writer document model elements.
SfxMedium * GetMedium() const
static OUString decode(OUString const &rText, DecodeMechanism eMechanism, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8)