LibreOffice Module sw (master) 1
swhtml.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19#ifndef INCLUDED_SW_SOURCE_FILTER_HTML_SWHTML_HXX
20#define INCLUDED_SW_SOURCE_FILTER_HTML_SWHTML_HXX
21
22#include <config_java.h>
23
24#include <sfx2/sfxhtml.hxx>
25#include <svl/listener.hxx>
26#include <svl/macitem.hxx>
27#include <svtools/htmltokn.h>
28#include <editeng/svxenum.hxx>
29#include <rtl/ref.hxx>
30#include <rtl/ustrbuf.hxx>
31#include <deletelistener.hxx>
32#include <fmtftn.hxx>
33#include <fltshell.hxx>
34#include <swtypes.hxx>
35#include <txtftn.hxx>
36#include <com/sun/star/drawing/XShape.hpp>
37#include <com/sun/star/form/XFormComponent.hpp>
38#include <com/sun/star/beans/XPropertySet.hpp>
39
40#include <memory>
41#include <utility>
42#include <vector>
43#include <deque>
44#include <stack>
45#include <set>
46
47class SfxMedium;
48class SfxViewFrame;
49class SdrObject;
51class SwDoc;
52class SwPaM;
53class SwViewShell;
54class SwStartNode;
55class SwFormatColl;
56class SwField;
57class SwHTMLForm_Impl;
58class SwApplet_Impl;
60class HTMLTableCnts;
61struct SwPending;
63struct ImplSVEvent;
64
67
70
71// some things you often need
75
76// attribute stack:
77
78class HTMLAttr;
79typedef std::deque<HTMLAttr *> HTMLAttrs;
80
81// Table of attributes: The order here is important: The attributes in the
82// beginning of the table will set first in EndAllAttrs.
84{
85 HTMLAttr* pKeep; // frame attributes
90
91 HTMLAttr* pFirstLineIndent; // paragraph attributes
102
103 HTMLAttr* pCharFormats; // text attributes
105
106 HTMLAttr* pBold; // character attributes
124 HTMLAttr* pKerning; // (only for SPACER)
125 HTMLAttr* pCharBrush; // character background
130};
131
133{
134 friend class SwHTMLParser;
135 friend class CellSaveStruct;
136
140 sal_Int32 m_nEndContent;
142 bool m_bLikePara : 1; // set attribute above the whole paragraph
143 bool m_bValid : 1; // is the attribute valid?
144
145 std::unique_ptr<SfxPoolItem> m_pItem;
146 std::shared_ptr<HTMLAttrTable> m_xAttrTab;
147 HTMLAttr *m_pNext; // still to close attributes with different values
148 HTMLAttr *m_pPrev; // already closed but not set attributes
149 HTMLAttr **m_ppHead; // list head
150
151 HTMLAttr( const SwPosition& rPos, const SfxPoolItem& rItem,
152 HTMLAttr **pHd, std::shared_ptr<HTMLAttrTable> xAttrTab );
153
154 HTMLAttr( const HTMLAttr &rAttr, const SwNode &rEndPara,
155 sal_Int32 nEndCnt, HTMLAttr **pHd, std::shared_ptr<HTMLAttrTable> xAttrTab );
156
157public:
158
159 ~HTMLAttr();
160
161 HTMLAttr *Clone( const SwNode& rEndPara, sal_Int32 nEndCnt ) const;
162 void Reset( const SwNode& rSttPara, sal_Int32 nSttCnt,
163 HTMLAttr **pHd, const std::shared_ptr<HTMLAttrTable>& rAttrTab );
164 inline void SetStart( const SwPosition& rPos );
165
168
169 const SwNodeIndex& GetStartParagraph() const { return m_nStartPara; }
170 const SwNodeIndex& GetEndParagraph() const { return m_nEndPara; }
171
172 sal_Int32 GetStartContent() const { return m_nStartContent; }
173 sal_Int32 GetEndContent() const { return m_nEndContent; }
174
175 bool IsLikePara() const { return m_bLikePara; }
176 void SetLikePara() { m_bLikePara = true; }
177
179 const SfxPoolItem& GetItem() const { return *m_pItem; }
180
181 HTMLAttr *GetNext() const { return m_pNext; }
182 void InsertNext( HTMLAttr *pNxt ) { m_pNext = pNxt; }
183
184 HTMLAttr *GetPrev() const { return m_pPrev; }
185 void InsertPrev( HTMLAttr *pPrv );
186 void ClearPrev() { m_pPrev = nullptr; }
187
188 void SetHead(HTMLAttr **ppHd, const std::shared_ptr<HTMLAttrTable>& rAttrTab)
189 {
190 m_ppHead = ppHd;
191 m_xAttrTab = rAttrTab;
192 }
193
194 // During setting attributes from styles it can happen that these
195 // shouldn't be set anymore. To delete them would be very expensive, because
196 // you don't know all the places where they are linked in. Therefore they're
197 // made invalid and deleted at the next call of SetAttr_().
198 void Invalidate() { m_bValid = false; }
199};
200
202
204 AM_NORMAL, // no paragraph spacing handling
205 AM_NOSPACE, // set spacing hard to 0cm
206 AM_SPACE, // set spacing hard to 0.5cm
207 AM_SOFTNOSPACE, // don't set spacing, but save 0cm
208 AM_NONE // no append
210
212{
213 HTMLAttrs m_aAttrs; // the attributes created in the context
214
215 OUString m_aClass; // context class
216
217 std::unique_ptr<HTMLAttrContext_SaveDoc> m_pSaveDocContext;
218 std::unique_ptr<SfxItemSet> m_pFrameItemSet;
219
220 HtmlTokenId m_nToken; // the token of the context
221
222 sal_uInt16 m_nTextFormatColl; // a style created in the context or zero
223
224 sal_uInt16 m_nLeftMargin; // a changed left border
225 sal_uInt16 m_nRightMargin; // a changed right border
226 sal_uInt16 m_nFirstLineIndent; // a changed first line indent
227
228 sal_uInt16 m_nUpperSpace;
229 sal_uInt16 m_nLowerSpace;
230
232
233 bool m_bLRSpaceChanged : 1; // left/right border, changed indent?
234 bool m_bULSpaceChanged : 1; // top/bottom border changed?
235 bool m_bDefaultTextFormatColl : 1;// nTextFormatColl is only default
236 bool m_bSpansSection : 1; // the context opens a SwSection
237 bool m_bPopStack : 1; // delete above stack elements
243
244 bool m_bVisible = true;
245
246public:
247 void ClearSaveDocContext();
248
249 HTMLAttrContext( HtmlTokenId nTokn, sal_uInt16 nPoolId, OUString aClass,
250 bool bDfltColl=false );
251 explicit HTMLAttrContext( HtmlTokenId nTokn );
253
254 HtmlTokenId GetToken() const { return m_nToken; }
255
258
259 const OUString& GetClass() const { return m_aClass; }
260
261 inline void SetMargins( sal_uInt16 nLeft, sal_uInt16 nRight, short nIndent );
262
263 bool IsLRSpaceChanged() const { return m_bLRSpaceChanged; }
264 inline void GetMargins( sal_uInt16& nLeft, sal_uInt16& nRight,
265 short &nIndent ) const;
266
267 inline void SetULSpace( sal_uInt16 nUpper, sal_uInt16 nLower );
268 bool IsULSpaceChanged() const { return m_bULSpaceChanged; }
269 inline void GetULSpace( sal_uInt16& rUpper, sal_uInt16& rLower ) const;
270
271 bool HasAttrs() const { return !m_aAttrs.empty(); }
272 const HTMLAttrs& GetAttrs() const { return m_aAttrs; }
274
275 void SetSpansSection( bool bSet ) { m_bSpansSection = bSet; }
276 bool GetSpansSection() const { return m_bSpansSection; }
277
278 void SetPopStack( bool bSet ) { m_bPopStack = bSet; }
279 bool GetPopStack() const { return m_bPopStack; }
280
281 bool HasSaveDocContext() const { return m_pSaveDocContext!=nullptr; }
282 HTMLAttrContext_SaveDoc *GetSaveDocContext( bool bCreate=false );
283
284 const SfxItemSet *GetFrameItemSet() const { return m_pFrameItemSet.get(); }
285 SfxItemSet *GetFrameItemSet( SwDoc *pCreateDoc );
286
287 void SetFinishPREListingXMP( bool bSet ) { m_bFinishPREListingXMP = bSet; }
289
290 void SetRestartPRE( bool bSet ) { m_bRestartPRE = bSet; }
291 bool IsRestartPRE() const { return m_bRestartPRE; }
292
293 void SetRestartXMP( bool bSet ) { m_bRestartXMP = bSet; }
294 bool IsRestartXMP() const { return m_bRestartXMP; }
295
296 void SetRestartListing( bool bSet ) { m_bRestartListing = bSet; }
297 bool IsRestartListing() const { return m_bRestartListing; }
298
299 void SetHeaderOrFooter( bool bSet ) { m_bHeaderOrFooter = bSet; }
300 bool IsHeaderOrFooter() const { return m_bHeaderOrFooter; }
301
304
305 void SetVisible(bool bVisible) { m_bVisible = bVisible; }
306 bool IsVisible() const { return m_bVisible; }
307};
308
309typedef std::vector<std::unique_ptr<HTMLAttrContext>> HTMLAttrContexts;
310
311class HTMLTable;
312class SwCSS1Parser;
314
315typedef std::vector<std::unique_ptr<ImageMap>> ImageMaps;
316
318 ProtectStack = 0x0001,
319 StripPara = 0x0002,
320 KeepNumrule = 0x0004,
321 HeaderDist = 0x0008,
322 FooterDist = 0x0010,
323 KeepAttrs = 0x0020,
324 MultiColMask = StripPara | KeepNumrule | KeepAttrs // for headers, footers or footnotes
325};
326namespace o3tl
327{
328 template<> struct typed_flags<HtmlContextFlags> : is_typed_flags<HtmlContextFlags, 0x03f> {};
329}
330
332 Box = 0x0001,
333 Background = 0x0002,
334 Padding = 0x0004,
335 Direction = 0x0008,
336};
337namespace o3tl
338{
339 template<> struct typed_flags<HtmlFrameFormatFlags> : is_typed_flags<HtmlFrameFormatFlags, 0x0f> {};
340}
341
343{
345public:
348 virtual void Notify(const SfxHint&) override;
349};
350
352{
353 friend class SectionSaveStruct;
354 friend class CellSaveStruct;
355 friend class CaptionSaveStruct;
356
357 /*
358 Progress bar
359 */
360 std::unique_ptr<ImportProgress> m_xProgress;
361
363 OUString m_sBaseURL;
364 OUString m_aBasicLib;
366 OUString m_aScriptSource; // content of the current script block
367 OUString m_aScriptType; // type of read script (StarBasic/VB/JAVA)
368 OUString m_aScriptURL; // script URL
369 OUString m_aStyleSource; // content of current style sheet
370 OUString m_aContents; // text of current marquee, field and so
371 OUStringBuffer m_sTitle;
372 OUString m_aUnknownToken; // a started unknown token
374 OUString m_sJmpMark;
375
376 std::vector<sal_uInt16> m_aBaseFontStack; // stack for <BASEFONT>
377 // Bit 0-2: font size (1-7)
378 std::vector<sal_uInt16> m_aFontStack; // stack for <FONT>, <BIG>, <SMALL>
379 // Bit 0-2: font size (1-7)
380 // Bit 15: font colour was set
381
382 HTMLAttrs m_aSetAttrTab;// "closed", not set attributes
383 HTMLAttrs m_aParaAttrs; // temporary paragraph attributes
384 std::shared_ptr<HTMLAttrTable> m_xAttrTab; // "open" attributes
385 HTMLAttrContexts m_aContexts;// the current context of attribute/token
386 std::vector<std::unique_ptr<SwHTMLFrameFormatListener>> m_aMoveFlyFrames;// Fly-Frames, the anchor is moved
387 std::deque<sal_Int32> m_aMoveFlyCnts;// and the Content-Positions
388 //stray SwTableBoxes which need to be deleted to avoid leaking, but hold
389 //onto them until parsing is done
390 std::vector<std::unique_ptr<SwTableBox>> m_aOrphanedTableBoxes;
391
392 std::unique_ptr<SwApplet_Impl> m_pAppletImpl; // current applet
393
394 std::unique_ptr<SwCSS1Parser> m_pCSS1Parser; // Style-Sheet-Parser
395 std::unique_ptr<SwHTMLNumRuleInfo> m_pNumRuleInfo;
396 std::vector<SwPending> m_vPendingStack;
397
399 SwPaM *m_pPam; // SwPosition should be enough, or ??
400 SwViewShell *m_pActionViewShell; // SwViewShell, where StartAction was called
402
403 std::vector<HTMLTable*> m_aTables;
404 std::shared_ptr<HTMLTable> m_xTable; // current "outermost" table
405 SwHTMLForm_Impl* m_pFormImpl; // current form
407 std::unique_ptr<SwField> m_xField; // current field
408 ImageMap *m_pImageMap; // current image map
409 std::unique_ptr<ImageMaps> m_pImageMaps;
410 std::unique_ptr<SwHTMLFootEndNote_Impl> m_pFootEndNoteImpl;
411
412 Size m_aHTMLPageSize; // page size of HTML template
413
414 sal_uInt32 m_aFontHeights[7]; // font heights 1-7
416
418 sal_uInt16 m_nFontStMin;
419 sal_uInt16 m_nDefListDeep;
420 sal_uInt16 m_nFontStHeadStart; // elements in font stack at <Hn>
421 sal_uInt16 m_nSBModuleCnt; // counter for basic modules
422 sal_uInt16 m_nMissingImgMaps; // How many image maps are still missing?
424 size_t m_nContextStMin; // lower limit of PopContext
425 size_t m_nContextStAttrMin; // lower limit of attributes
426 sal_uInt16 m_nSelectEntryCnt; // Number of entries in the actual listbox
427 HtmlTokenId m_nOpenParaToken; // opened paragraph element
428
429 enum class JumpToMarks { NONE, Mark, Table, Region, Graphic };
431
432#ifdef DBG_UTIL
433 sal_uInt16 m_nContinue; // depth of Continue calls
434#endif
435
436 SvxAdjust m_eParaAdjust; // adjustment of current paragraph
437 HTMLScriptLanguage m_eScriptLang; // current script language
438
439 bool m_bOldIsHTMLMode : 1; // Was it a HTML document?
440
441 bool m_bDocInitialized : 1; // document resp. shell was initialize
442 // flag to prevent double init via recursion
443 bool m_bViewCreated : 1; // the view was already created (asynchronous)
445
446 bool m_bInFloatingFrame : 1; // We are in a floating frame
447 bool m_bInField : 1;
448 bool m_bKeepUnknown : 1; // handle unknown/not supported tokens
449 // 8
450 bool m_bCallNextToken : 1; // In tables: call NextToken in any case
451 bool m_bIgnoreRawData : 1; // ignore content of script/style
452 bool m_bLBEntrySelected : 1; // Is the current option selected?
453 bool m_bTAIgnoreNewPara : 1; // ignore next LF in text area?
454 bool m_bFixMarqueeWidth : 1; // Change size of marquee?
455
456 bool m_bUpperSpace : 1; // top paragraph spacing is needed
458 // 16
459
460 bool m_bInNoEmbed : 1; // we are in a NOEMBED area
461
462 bool m_bInTitle : 1; // we are in title
463
464 bool m_bChkJumpMark : 1; // maybe jump to predetermined mark
466 bool m_bFixSelectWidth : 1; // Set new width of select?
467 bool m_bTextArea : 1;
468 // 24
469 bool m_bSelect : 1;
473 bool m_bRemoveHidden : 1; // the filter implementation might set the hidden flag
474
475 bool m_bBodySeen : 1;
479
483
485 OUString m_InfoNames[4];
486
488
489 bool m_bXHTML = false;
490 bool m_bReqIF = false;
491
496 std::stack<SwOLENode*> m_aEmbeds;
497
498 std::set<OUString> m_aAllowedRTFOLEMimeTypes;
499
501 OUString m_aEmbedURL;
502
503 void DeleteFormImpl();
504
505 void DocumentDetected();
506 void Show();
507 void ShowStatline();
508 SwViewShell *CallStartAction( SwViewShell *pVSh = nullptr, bool bChkPtr = true );
509 SwViewShell *CallEndAction( bool bChkAction = false, bool bChkPtr = true );
511
512 DECL_LINK( AsyncCallback, void*, void );
513
514 // set attribute on document
515 void SetAttr_( bool bChkEnd, bool bBeforeTable, std::deque<std::unique_ptr<HTMLAttr>> *pPostIts );
516 void SetAttr( bool bChkEnd = true, bool bBeforeTable = false,
517 std::deque<std::unique_ptr<HTMLAttr>> *pPostIts = nullptr )
518 {
519 if( !m_aSetAttrTab.empty() || !m_aMoveFlyFrames.empty() )
520 SetAttr_( bChkEnd, bBeforeTable, pPostIts );
521 }
522
523 HTMLAttr **GetAttrTabEntry( sal_uInt16 nWhich );
524
525 // create a new text node on PaM position
526 bool AppendTextNode( SwHTMLAppendMode eMode=AM_NORMAL, bool bUpdateNum=true );
527 void AddParSpace();
528
529 // start/end an attribute
530 // ppDepAttr indicated an attribute table entry, which attribute has to be
531 // set, before the attribute is closed
532 void NewAttr(const std::shared_ptr<HTMLAttrTable>& rAttrTab, HTMLAttr **ppAttr, const SfxPoolItem& rItem);
533 bool EndAttr( HTMLAttr *pAttr, bool bChkEmpty=true );
534 void DeleteAttr( HTMLAttr* pAttr );
535
536 void EndContextAttrs( HTMLAttrContext *pContext );
537 void SaveAttrTab(std::shared_ptr<HTMLAttrTable> const & rNewAttrTab);
538 void SplitAttrTab( const SwPosition& rNewPos );
539 void SplitAttrTab(std::shared_ptr<HTMLAttrTable> const & rNewAttrTab, bool bMoveEndBack);
540 void RestoreAttrTab(std::shared_ptr<HTMLAttrTable> const & rNewAttrTab);
541 void InsertAttr( const SfxPoolItem& rItem, bool bInsAtStart );
542 void InsertAttrs( std::deque<std::unique_ptr<HTMLAttr>> rAttrs );
543
544 bool DoPositioning( SfxItemSet &rItemSet,
545 SvxCSS1PropertyInfo &rPropInfo,
546 HTMLAttrContext *pContext );
547 bool CreateContainer( std::u16string_view rClass, SfxItemSet &rItemSet,
548 SvxCSS1PropertyInfo &rPropInfo,
549 HTMLAttrContext *pContext );
550 bool EndSection( bool bLFStripped=false );
551
552 void InsertAttrs( SfxItemSet &rItemSet, SvxCSS1PropertyInfo const &rPropInfo,
553 HTMLAttrContext *pContext, bool bCharLvl=false );
554 void InsertAttr( HTMLAttr **ppAttr, const SfxPoolItem & rItem,
555 HTMLAttrContext *pCntxt );
556 void SplitPREListingXMP( HTMLAttrContext *pCntxt );
557 void FixHeaderFooterDistance( bool bHeader, const SwPosition *pOldPos );
558
559 void EndContext( HTMLAttrContext *pContext );
560 void ClearContext( HTMLAttrContext *pContext );
561
562 const SwFormatColl *GetCurrFormatColl() const;
563
565
567 // add parameter <bCountedInList>
568 void SetNodeNum( sal_uInt8 nLevel );
569
570 // Manage paragraph styles
571
572 // set the style resp. its attributes on the stack
573 void SetTextCollAttrs( HTMLAttrContext *pContext = nullptr );
574
575 void InsertParaAttrs( const SfxItemSet& rItemSet );
576
577 // Manage attribute context
578
579 // save current context
580 void PushContext(std::unique_ptr<HTMLAttrContext>& rCntxt)
581 {
582 m_aContexts.push_back(std::move(rCntxt));
583 }
584
585 // Fetch top/specified context but not outside the context with token
586 // nLimit. If bRemove set then remove it.
587 std::unique_ptr<HTMLAttrContext> PopContext(HtmlTokenId nToken = HtmlTokenId::NONE);
588
589 void GetMarginsFromContext( sal_uInt16 &nLeft, sal_uInt16 &nRight, short& nIndent,
590 bool bIgnoreCurrent=false ) const;
591 void GetMarginsFromContextWithNumberBullet( sal_uInt16 &nLeft, sal_uInt16 &nRight,
592 short& nIndent ) const;
593 void GetULSpaceFromContext( sal_uInt16 &rUpper, sal_uInt16 &rLower ) const;
594
595 void MovePageDescAttrs( SwNode *pSrcNd, SwNodeOffset nDestIdx, bool bFormatBreak );
596
597 // Handling of tags at paragraph level
598
599 // <P> and <H1> to <H6>
600 void NewPara();
601 void EndPara( bool bReal = false );
602 void NewHeading( HtmlTokenId nToken );
603 void EndHeading();
604
605 // <ADDRESS>, <BLOCKQUOTE> and <PRE>
606 void NewTextFormatColl( HtmlTokenId nToken, sal_uInt16 nPoolId );
607 void EndTextFormatColl( HtmlTokenId nToken );
608
609 // <DIV> and <CENTER>
610 void NewDivision( HtmlTokenId nToken );
611 void EndDivision();
612
613 // insert/close Fly-Frames
614 void InsertFlyFrame( const SfxItemSet& rItemSet, HTMLAttrContext *pCntxt,
615 const OUString& rId );
616
617 void SaveDocContext( HTMLAttrContext *pCntxt, HtmlContextFlags nFlags,
618 const SwPosition *pNewPos );
619 void RestoreDocContext( HTMLAttrContext *pCntxt );
620
621 // end all opened <DIV> areas
622 bool EndSections( bool bLFStripped );
623
624 // <MULTICOL>
625 void NewMultiCol( sal_uInt16 columnsFromCss=0 );
626
627 // <MARQUEE>
628 void NewMarquee( HTMLTable *pCurTable=nullptr );
629 void EndMarquee();
630 void InsertMarqueeText();
631
632 // Handling of lists
633
634 // order list <OL> and unordered list <UL> with <LI>
635 void NewNumberBulletList( HtmlTokenId nToken );
636 void EndNumberBulletList( HtmlTokenId nToken = HtmlTokenId::NONE );
638 void EndNumberBulletListItem( HtmlTokenId nToken, bool bSetColl);
639
640 // definitions lists <DL> with <DD>, <DT>
641 void NewDefList();
642 void EndDefList();
643 void NewDefListItem( HtmlTokenId nToken );
644 void EndDefListItem( HtmlTokenId nToken = HtmlTokenId::NONE );
645
646 // Handling of tags on character level
647
648 // handle tags like <B>, <I> and so, which enable/disable a certain
649 // attribute or like <SPAN> get attributes from styles
650 void NewStdAttr( HtmlTokenId nToken );
651 void NewStdAttr( HtmlTokenId nToken,
652 HTMLAttr **ppAttr, const SfxPoolItem & rItem,
653 HTMLAttr **ppAttr2=nullptr, const SfxPoolItem *pItem2=nullptr,
654 HTMLAttr **ppAttr3=nullptr, const SfxPoolItem *pItem3=nullptr );
655 void EndTag( HtmlTokenId nToken );
656
657 // handle font attributes
658 void NewBasefontAttr(); // for <BASEFONT>
659 void EndBasefontAttr();
660 void NewFontAttr( HtmlTokenId nToken ); // for <FONT>, <BIG> and <SMALL>
661 void EndFontAttr( HtmlTokenId nToken );
662
663 // tags realized via character styles
664 void NewCharFormat( HtmlTokenId nToken );
665
666 void DeleteSection(SwStartNode* pSttNd);
667
668 // <SDFIELD>
669public:
670 static SvxNumType GetNumType( std::u16string_view rStr, SvxNumType eDfltType );
671private:
672 void NewField();
673 void EndField();
674 void InsertFieldText();
675
676 // <SPACER>
677 void InsertSpacer();
678
679 // Inserting graphics, plug-ins and applets
680
681 // search image maps and link with graphic nodes
682 ImageMap *FindImageMap( std::u16string_view rURL ) const;
683 void ConnectImageMaps();
684
685 // find anchor of Fly-Frames and set corresponding attributes
686 // in Attrset (htmlgrin.cxx)
687 void SetAnchorAndAdjustment( sal_Int16 eVertOri,
688 sal_Int16 eHoriOri,
689 const SvxCSS1PropertyInfo &rPropInfo,
690 SfxItemSet& rFrameSet );
691 void SetAnchorAndAdjustment( sal_Int16 eVertOri,
692 sal_Int16 eHoriOri,
693 SfxItemSet& rFrameSet,
694 bool bDontAppend=false );
695 void SetAnchorAndAdjustment( const SvxCSS1PropertyInfo &rPropInfo,
696 SfxItemSet &rFrameItemSet );
697
698 static void SetFrameFormatAttrs( SfxItemSet &rItemSet,
699 HtmlFrameFormatFlags nFlags, SfxItemSet &rFrameItemSet );
700
701 // create frames and register auto bound frames
702 void RegisterFlyFrame( SwFrameFormat *pFlyFrame );
703
704 // Adjust the size of the Fly-Frames to requirements and conditions
705 // (not for graphics, therefore htmlplug.cxx)
706 static void SetFixSize( const Size& rPixSize, const Size& rTwipDfltSize,
707 bool bPercentWidth, bool bPercentHeight,
708 SvxCSS1PropertyInfo const &rPropInfo,
709 SfxItemSet& rFlyItemSet );
710 static void SetVarSize( SvxCSS1PropertyInfo const &rPropInfo,
711 SfxItemSet& rFlyItemSet, SwTwips nDfltWidth=MINLAY,
712 sal_uInt8 nDefaultPercentWidth=0 );
713 static void SetSpace( const Size& rPixSpace, SfxItemSet &rItemSet,
714 SvxCSS1PropertyInfo &rPropInfo, SfxItemSet& rFlyItemSet );
715
716 sal_uInt16 IncGrfsThatResizeTable();
717
718 void GetDefaultScriptType( ScriptType& rType,
719 OUString& rTypeStr ) const;
720
721 // the actual insert methods for <IMG>, <EMBED>, <APPLET> and <PARAM>
722 void InsertImage(); // htmlgrin.cxx
723 bool InsertEmbed(); // htmlplug.cxx
724
725#if HAVE_FEATURE_JAVA
726 void NewObject(); // htmlplug.cxx
727#endif
728 void EndObject(); // link CommandLine with applet (htmlplug.cxx)
729#if HAVE_FEATURE_JAVA
730 void InsertApplet(); // htmlplug.cxx
731#endif
732 void EndApplet(); // link CommandLine with applet (htmlplug.cxx)
733 void InsertParam(); // htmlplug.cxx
734
735 void InsertFloatingFrame();
736
737 // parse <BODY>-tag: set background graphic and background colour (htmlgrin.cxx)
738 void InsertBodyOptions();
739
740 // Inserting links and bookmarks (htmlgrin.cxx)
741
742 // parse <A>-tag: insert a link resp. bookmark
743 void NewAnchor();
744 void EndAnchor();
745
746 // insert bookmark
747 void InsertBookmark( const OUString& rName );
748
749 void InsertCommentText( std::string_view pTag );
750 void InsertComment( const OUString& rName, std::string_view pTag = {} );
751
752 // Has the current paragraph bookmarks?
753 bool HasCurrentParaBookmarks( bool bIgnoreStack=false ) const;
754
755 // Inserting script/basic elements
756
757 // parse the last read basic module (htmlbas.cxx)
758 void NewScript();
759 void EndScript();
760
761 void AddScriptSource();
762
763 // insert event in SFX configuration (htmlbas.cxx)
764 void InsertBasicDocEvent( const OUString& aEventName, const OUString& rName,
765 ScriptType eScrType, const OUString& rScrType );
766
767 // Inserting styles
768
769 // <STYLE>
770 void NewStyle();
771 void EndStyle();
772
773 static inline bool HasStyleOptions( std::u16string_view rStyle, std::u16string_view rId,
774 std::u16string_view rClass, const OUString *pLang=nullptr,
775 const OUString *pDir=nullptr );
776 bool ParseStyleOptions( const OUString &rStyle, const OUString &rId,
777 const OUString &rClass, SfxItemSet &rItemSet,
778 SvxCSS1PropertyInfo &rPropInfo,
779 const OUString *pLang=nullptr, const OUString *pDir=nullptr );
780
781 // Inserting Controls and Forms (htmlform.cxx)
782
783 // Insert draw object into document
784 void InsertDrawObject( SdrObject* pNewDrawObj, const Size& rSpace,
785 sal_Int16 eVertOri,
786 sal_Int16 eHoriOri,
787 SfxItemSet& rCSS1ItemSet,
788 SvxCSS1PropertyInfo& rCSS1PropInfo );
789 css::uno::Reference< css::drawing::XShape > InsertControl(
790 const css::uno::Reference< css::form::XFormComponent > & rFormComp,
791 const css::uno::Reference< css::beans::XPropertySet > & rFCompPropSet,
792 const Size& rSize,
793 sal_Int16 eVertOri,
794 sal_Int16 eHoriOri,
795 SfxItemSet& rCSS1ItemSet,
796 SvxCSS1PropertyInfo& rCSS1PropInfo,
797 const SvxMacroTableDtor& rMacroTable,
798 const std::vector<OUString>& rUnoMacroTable,
799 const std::vector<OUString>& rUnoMacroParamTable,
800 bool bSetPropSet = true,
801 bool bHidden = false );
802 void SetControlSize( const css::uno::Reference< css::drawing::XShape > & rShape, const Size& rTextSz,
803 bool bMinWidth, bool bMinHeight );
804
805public:
806 static void ResizeDrawObject( SdrObject* pObj, SwTwips nWidth );
807private:
808 static void RegisterDrawObjectToTable( HTMLTable *pCurTable, SdrObject* pObj,
809 sal_uInt8 nWidth );
810
811 void NewForm( bool bAppend=true );
812 void EndForm( bool bAppend=true );
813
814 // Insert methods for <INPUT>, <TEXTAREA> and <SELECT>
815 void InsertInput();
816
817 void NewTextArea();
818 void InsertTextAreaText( HtmlTokenId nToken );
819 void EndTextArea();
820
821 void NewSelect();
822 void InsertSelectOption();
823 void InsertSelectText();
824 void EndSelect();
825
826 // Inserting tables (htmltab.cxx)
827public:
828
829 // Insert box content after the given node
830 const SwStartNode *InsertTableSection( const SwStartNode *pPrevStNd );
831
832 // Insert box content at the end of the table containing the PaM
833 // and move the PaM into the cell
834 const SwStartNode *InsertTableSection( sal_uInt16 nPoolId );
835
836 // Insert methods for various table tags
837 std::unique_ptr<HTMLTableCnts> InsertTableContents( bool bHead );
838
839private:
840 // Create a section for the temporary storage of the table caption
842
843 void BuildTableCell( HTMLTable *pTable, bool bReadOptions, bool bHead );
844 void BuildTableRow( HTMLTable *pTable, bool bReadOptions,
845 SvxAdjust eGrpAdjust, sal_Int16 eVertOri );
846 void BuildTableSection( HTMLTable *pTable, bool bReadOptions, bool bHead );
847 void BuildTableColGroup( HTMLTable *pTable, bool bReadOptions );
848 void BuildTableCaption( HTMLTable *pTable );
849 std::shared_ptr<HTMLTable> BuildTable(SvxAdjust eCellAdjust,
850 bool bIsParentHead = false,
851 bool bHasParentSection=true,
852 bool bHasToFlow = false);
853
854 // misc ...
855
857
858 bool FileDownload( const OUString& rURL, OUString& rStr );
859 void InsertLink();
860
861 void InsertIDOption();
862 void InsertLineBreak();
863 void InsertHorzRule();
864
865 void FillEndNoteInfo( std::u16string_view aContent );
866 void FillFootNoteInfo( std::u16string_view aContent );
867 void InsertFootEndNote( const OUString& rName, bool bEndNote, bool bFixed );
868 void FinishFootEndNote();
870 SwNodeIndex *GetFootEndNoteSection( const OUString& rName );
871
872 sal_Int32 StripTrailingLF();
873
874 // Remove empty paragraph at the PaM position
875 void StripTrailingPara();
876 // If removing an empty node would corrupt the document
877 bool CanRemoveNode(SwNodeOffset nNodeIdx) const;
878
879 // Are there fly frames in the current paragraph?
880 bool HasCurrentParaFlys( bool bNoSurroundOnly = false,
881 bool bSurroundOnly = false ) const;
882
884 {
885 private:
887 public:
889 : m_rParser(rParser)
890 {
892 }
893 bool TooDeep() const { return m_rParser.m_nTableDepth > 1024; }
895 {
897 }
898 };
899
900public: // used in tables
901
902 // Create brush item (with new) or 0
903 SvxBrushItem* CreateBrushItem( const Color *pColor,
904 const OUString &rImageURL,
905 const OUString &rStyle,
906 const OUString &rId,
907 const OUString &rClass );
908
909protected:
910 // Executed for each token recognized by CallParser
911 virtual void NextToken( HtmlTokenId nToken ) override;
912 virtual ~SwHTMLParser() override;
913
914 // If the document is removed, remove the parser as well
915 virtual void Notify(const SfxHint&) override;
916
917 virtual void AddMetaUserDefined( OUString const & i_rMetaName ) override;
918
919public:
920
921 SwHTMLParser( SwDoc* pD, SwPaM & rCursor, SvStream& rIn,
922 OUString aFileName,
923 OUString aBaseURL,
924 bool bReadNewDoc,
925 SfxMedium* pMed, bool bReadUTF8,
926 bool bIgnoreHTMLComments,
927 const OUString& rNamespace);
928
929 virtual SvParserState CallParser() override;
930
931 static sal_uInt16 ToTwips( sal_uInt16 nPixel );
932
933 // for reading asynchronously from SvStream
934 virtual void Continue( HtmlTokenId nToken ) override;
935
936 virtual bool ParseMetaOptions( const css::uno::Reference<css::document::XDocumentProperties>&,
937 SvKeyValueIterator* ) override;
938
939
941 {
942 m_aTables.push_back(pNew);
943 }
944
945 void DeregisterHTMLTable(HTMLTable* pOld);
946
947 SwDoc* GetDoc() const;
948
949 bool IsReqIF() const;
950
952
954
956 static OUString StripQueryFromPath(std::u16string_view rBase, const OUString& rPath);
957};
958
960{
961 virtual ~SwPendingData() {}
962};
963
965{
967 std::unique_ptr<SwPendingData> pData;
968
970 : nToken( nTkn )
971 {}
972};
973
974inline void HTMLAttr::SetStart( const SwPosition& rPos )
975{
976 m_nStartPara = rPos.GetNode();
980}
981
982inline void HTMLAttrContext::SetMargins( sal_uInt16 nLeft, sal_uInt16 nRight,
983 short nIndent )
984{
985 m_nLeftMargin = nLeft;
986 m_nRightMargin = nRight;
987 m_nFirstLineIndent = nIndent;
988 m_bLRSpaceChanged = true;
989}
990
991inline void HTMLAttrContext::GetMargins( sal_uInt16& nLeft,
992 sal_uInt16& nRight,
993 short& nIndent ) const
994{
996 {
997 nLeft = m_nLeftMargin;
998 nRight = m_nRightMargin;
999 nIndent = m_nFirstLineIndent;
1000 }
1001}
1002
1003inline void HTMLAttrContext::SetULSpace( sal_uInt16 nUpper, sal_uInt16 nLower )
1004{
1005 m_nUpperSpace = nUpper;
1006 m_nLowerSpace = nLower;
1007 m_bULSpaceChanged = true;
1008}
1009
1010inline void HTMLAttrContext::GetULSpace( sal_uInt16& rUpper,
1011 sal_uInt16& rLower ) const
1012{
1013 if( m_bULSpaceChanged )
1014 {
1015 rUpper = m_nUpperSpace;
1016 rLower = m_nLowerSpace;
1017 }
1018}
1019
1020inline bool SwHTMLParser::HasStyleOptions( std::u16string_view rStyle,
1021 std::u16string_view rId,
1022 std::u16string_view rClass,
1023 const OUString *pLang,
1024 const OUString *pDir )
1025{
1026 return !rStyle.empty() || !rId.empty() || !rClass.empty() ||
1027 (pLang && !pLang->isEmpty()) || (pDir && !pDir->isEmpty());
1028}
1029
1030class SwTextFootnote;
1031
1033{
1034private:
1035 OUString m_sName;
1037 std::unique_ptr<SvtDeleteListener> m_xDeleteListener;
1038public:
1039 SwHTMLTextFootnote(OUString rName, SwTextFootnote* pInTextFootnote)
1040 : m_sName(std::move(rName))
1041 , m_pTextFootnote(pInTextFootnote)
1042 , m_xDeleteListener(new SvtDeleteListener(static_cast<SwFormatFootnote&>(pInTextFootnote->GetAttr()).GetNotifier()))
1043 {
1044 }
1045 const OUString& GetName() const
1046 {
1047 return m_sName;
1048 }
1050 {
1051 if (m_xDeleteListener->WasDeleted())
1052 return nullptr;
1053 return m_pTextFootnote->GetStartNode();
1054 }
1055};
1056
1058{
1059 std::vector<SwHTMLTextFootnote> aTextFootnotes;
1060
1061 OUString sName;
1062 OUString sContent; // information for the last footnote
1065};
1066
1067#endif
1068
1069/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
void ClearSaveDocContext()
Definition: htmlctxt.cxx:169
sal_uInt16 m_nFirstLineIndent
Definition: swhtml.hxx:226
bool IsHeaderOrFooter() const
Definition: swhtml.hxx:300
void SetULSpace(sal_uInt16 nUpper, sal_uInt16 nLower)
Definition: swhtml.hxx:1003
HTMLAttrContext_SaveDoc * GetSaveDocContext(bool bCreate=false)
Definition: htmlctxt.cxx:112
bool GetSpansSection() const
Definition: swhtml.hxx:276
void SetPopStack(bool bSet)
Definition: swhtml.hxx:278
const HTMLAttrs & GetAttrs() const
Definition: swhtml.hxx:272
sal_uInt16 GetDefaultTextFormatColl() const
Definition: swhtml.hxx:257
bool m_bFinishPREListingXMP
Definition: swhtml.hxx:238
HtmlTokenId m_nToken
Definition: swhtml.hxx:220
void SetVisible(bool bVisible)
Definition: swhtml.hxx:305
SwHTMLAppendMode GetAppendMode() const
Definition: swhtml.hxx:303
bool m_bSpansSection
Definition: swhtml.hxx:236
bool m_bRestartXMP
Definition: swhtml.hxx:240
bool IsVisible() const
Definition: swhtml.hxx:306
void SetHeaderOrFooter(bool bSet)
Definition: swhtml.hxx:299
sal_uInt16 GetTextFormatColl() const
Definition: swhtml.hxx:256
bool IsRestartXMP() const
Definition: swhtml.hxx:294
bool m_bHeaderOrFooter
Definition: swhtml.hxx:242
sal_uInt16 m_nUpperSpace
Definition: swhtml.hxx:228
void SetRestartXMP(bool bSet)
Definition: swhtml.hxx:293
void SetMargins(sal_uInt16 nLeft, sal_uInt16 nRight, short nIndent)
Definition: swhtml.hxx:982
OUString m_aClass
Definition: swhtml.hxx:215
void GetULSpace(sal_uInt16 &rUpper, sal_uInt16 &rLower) const
Definition: swhtml.hxx:1010
HTMLAttrs m_aAttrs
Definition: swhtml.hxx:213
void SetRestartPRE(bool bSet)
Definition: swhtml.hxx:290
bool GetPopStack() const
Definition: swhtml.hxx:279
HtmlTokenId GetToken() const
Definition: swhtml.hxx:254
bool m_bDefaultTextFormatColl
Definition: swhtml.hxx:235
std::unique_ptr< HTMLAttrContext_SaveDoc > m_pSaveDocContext
Definition: swhtml.hxx:217
bool IsFinishPREListingXMP() const
Definition: swhtml.hxx:288
bool IsRestartPRE() const
Definition: swhtml.hxx:291
void SetRestartListing(bool bSet)
Definition: swhtml.hxx:296
sal_uInt16 m_nLowerSpace
Definition: swhtml.hxx:229
sal_uInt16 m_nTextFormatColl
Definition: swhtml.hxx:222
const SfxItemSet * GetFrameItemSet() const
Definition: swhtml.hxx:284
bool m_bRestartListing
Definition: swhtml.hxx:241
bool IsULSpaceChanged() const
Definition: swhtml.hxx:268
SwHTMLAppendMode m_eAppend
Definition: swhtml.hxx:231
bool m_bRestartPRE
Definition: swhtml.hxx:239
bool m_bULSpaceChanged
Definition: swhtml.hxx:234
void SetSpansSection(bool bSet)
Definition: swhtml.hxx:275
bool IsLRSpaceChanged() const
Definition: swhtml.hxx:263
const OUString & GetClass() const
Definition: swhtml.hxx:259
void SetFinishPREListingXMP(bool bSet)
Definition: swhtml.hxx:287
sal_uInt16 m_nLeftMargin
Definition: swhtml.hxx:224
bool m_bPopStack
Definition: swhtml.hxx:237
bool IsRestartListing() const
Definition: swhtml.hxx:297
HTMLAttrContext(HtmlTokenId nTokn, sal_uInt16 nPoolId, OUString aClass, bool bDfltColl=false)
Definition: htmlctxt.cxx:120
bool HasAttrs() const
Definition: swhtml.hxx:271
bool m_bLRSpaceChanged
Definition: swhtml.hxx:233
bool HasSaveDocContext() const
Definition: swhtml.hxx:281
std::unique_ptr< SfxItemSet > m_pFrameItemSet
Definition: swhtml.hxx:218
sal_uInt16 m_nRightMargin
Definition: swhtml.hxx:225
void GetMargins(sal_uInt16 &nLeft, sal_uInt16 &nRight, short &nIndent) const
Definition: swhtml.hxx:991
void SetAppendMode(SwHTMLAppendMode eMode)
Definition: swhtml.hxx:302
HTMLAttrs & GetAttrs()
Definition: swhtml.hxx:273
sal_Int32 GetEndContent() const
Definition: swhtml.hxx:173
sal_Int32 m_nStartContent
Definition: swhtml.hxx:139
SwNodeOffset GetEndParagraphIdx() const
Definition: swhtml.hxx:167
HTMLAttr(const SwPosition &rPos, const SfxPoolItem &rItem, HTMLAttr **pHd, std::shared_ptr< HTMLAttrTable > xAttrTab)
Definition: swhtml.cxx:5481
void SetStart(const SwPosition &rPos)
Definition: swhtml.hxx:974
HTMLAttr * GetPrev() const
Definition: swhtml.hxx:184
sal_Int32 m_nEndContent
Definition: swhtml.hxx:140
void SetHead(HTMLAttr **ppHd, const std::shared_ptr< HTMLAttrTable > &rAttrTab)
Definition: swhtml.hxx:188
SwNodeIndex m_nEndPara
Definition: swhtml.hxx:138
void Reset(const SwNode &rSttPara, sal_Int32 nSttCnt, HTMLAttr **pHd, const std::shared_ptr< HTMLAttrTable > &rAttrTab)
Definition: swhtml.cxx:5530
HTMLAttr ** m_ppHead
Definition: swhtml.hxx:149
void ClearPrev()
Definition: swhtml.hxx:186
SfxPoolItem & GetItem()
Definition: swhtml.hxx:178
HTMLAttr * GetNext() const
Definition: swhtml.hxx:181
const SwNodeIndex & GetEndParagraph() const
Definition: swhtml.hxx:170
SwNodeOffset GetStartParagraphIdx() const
Definition: swhtml.hxx:166
HTMLAttr * m_pPrev
Definition: swhtml.hxx:148
void InsertNext(HTMLAttr *pNxt)
Definition: swhtml.hxx:182
bool m_bInsAtStart
Definition: swhtml.hxx:141
std::unique_ptr< SfxPoolItem > m_pItem
Definition: swhtml.hxx:145
const SfxPoolItem & GetItem() const
Definition: swhtml.hxx:179
~HTMLAttr()
Definition: swhtml.cxx:5515
HTMLAttr * m_pNext
Definition: swhtml.hxx:147
const SwNodeIndex & GetStartParagraph() const
Definition: swhtml.hxx:169
void InsertPrev(HTMLAttr *pPrv)
Definition: swhtml.cxx:5546
sal_Int32 GetStartContent() const
Definition: swhtml.hxx:172
bool m_bLikePara
Definition: swhtml.hxx:142
void SetLikePara()
Definition: swhtml.hxx:176
bool IsLikePara() const
Definition: swhtml.hxx:175
bool m_bValid
Definition: swhtml.hxx:143
SwNodeIndex m_nStartPara
Definition: swhtml.hxx:137
HTMLAttr * Clone(const SwNode &rEndPara, sal_Int32 nEndCnt) const
Definition: swhtml.cxx:5519
void Invalidate()
Definition: swhtml.hxx:198
std::shared_ptr< HTMLAttrTable > m_xAttrTab
Definition: swhtml.hxx:146
Definition: doc.hxx:197
Base class of all fields.
Definition: fldbas.hxx:296
SwFormatColl is just an SwFormat subclass that defaults to m_bAutoFormat=false, expressing that this ...
Definition: fmtcol.hxx:38
SfxPoolItem subclass for footnotes and endnotes, stored in the anchor text node.
Definition: fmtftn.hxx:47
Style of a layout element.
Definition: frmfmt.hxx:72
SwFrameFormat * GetFrameFormat()
Definition: swhtml.hxx:347
SwHTMLFrameFormatListener(SwFrameFormat *pFrameFormat)
Definition: swhtml.cxx:2730
SwFrameFormat * m_pFrameFormat
Definition: swhtml.hxx:344
virtual void Notify(const SfxHint &) override
Definition: swhtml.cxx:2736
SwHTMLParser & m_rParser
Definition: swhtml.hxx:886
TableDepthGuard(SwHTMLParser &rParser)
Definition: swhtml.hxx:888
virtual SvParserState CallParser() override
Definition: swhtml.cxx:554
std::shared_ptr< HTMLTable > m_xTable
Definition: swhtml.hxx:404
void InsertFootEndNote(const OUString &rName, bool bEndNote, bool bFixed)
Definition: htmlftn.cxx:178
void SetControlSize(const css::uno::Reference< css::drawing::XShape > &rShape, const Size &rTextSz, bool bMinWidth, bool bMinHeight)
Definition: htmlform.cxx:622
sal_uInt16 m_nSelectEntryCnt
Definition: swhtml.hxx:426
SwViewShell * CheckActionViewShell()
Definition: swhtml.cxx:2715
void ConnectImageMaps()
Definition: htmlgrin.cxx:113
std::vector< std::unique_ptr< SwTableBox > > m_aOrphanedTableBoxes
Definition: swhtml.hxx:390
void PushContext(std::unique_ptr< HTMLAttrContext > &rCntxt)
Definition: swhtml.hxx:580
const SwFormatColl * GetCurrFormatColl() const
Definition: swhtml.cxx:4610
bool CanRemoveNode(SwNodeOffset nNodeIdx) const
Definition: swhtml.cxx:610
void NewTextArea()
Definition: htmlform.cxx:1849
void FillFootNoteInfo(std::u16string_view aContent)
Definition: htmlftn.cxx:126
void NewBasefontAttr()
Definition: swhtml.cxx:3627
OUString m_aStyleSource
Definition: swhtml.hxx:369
DECL_LINK(AsyncCallback, void *, void)
void EndDefList()
Definition: swhtml.cxx:4430
HTMLAttrs m_aSetAttrTab
Definition: swhtml.hxx:382
bool m_bSelect
Definition: swhtml.hxx:469
sal_uInt16 m_nDefListDeep
Definition: swhtml.hxx:419
void InsertSpacer()
Definition: swhtml.cxx:4910
OUString m_sJmpMark
Definition: swhtml.hxx:374
int m_nTableDepth
Definition: swhtml.hxx:480
std::stack< SwOLENode * > m_aEmbeds
Non-owning pointers to already inserted OLE nodes, matching opened <object> XHTML elements.
Definition: swhtml.hxx:496
void NewDivision(HtmlTokenId nToken)
Definition: htmlsect.cxx:55
void NewDefListItem(HtmlTokenId nToken)
Definition: swhtml.cxx:4457
void NewFontAttr(HtmlTokenId nToken)
Definition: swhtml.cxx:3717
bool EndSection(bool bLFStripped=false)
Definition: htmlsect.cxx:502
void NewMarquee(HTMLTable *pCurTable=nullptr)
size_t m_nContextStAttrMin
Definition: swhtml.hxx:425
void RegisterHTMLTable(HTMLTable *pNew)
Definition: swhtml.hxx:940
bool m_bUpdateDocStat
Definition: swhtml.hxx:465
std::unique_ptr< HTMLAttrContext > PopContext(HtmlTokenId nToken=HtmlTokenId::NONE)
Definition: htmlcss1.cxx:2115
int m_nListItems
Definition: swhtml.hxx:482
bool m_bRemoveHidden
Definition: swhtml.hxx:473
void EndApplet()
Definition: htmlplug.cxx:990
static OUString StripQueryFromPath(std::u16string_view rBase, const OUString &rPath)
Strips query and fragment from a URL path if base URL is a file:// one.
Definition: htmlplug.cxx:336
void InsertMarqueeText()
void DocumentDetected()
Definition: swhtml.cxx:970
SwHTMLForm_Impl * m_pFormImpl
Definition: swhtml.hxx:405
void SetAnchorAndAdjustment(sal_Int16 eVertOri, sal_Int16 eHoriOri, const SvxCSS1PropertyInfo &rPropInfo, SfxItemSet &rFrameSet)
Definition: htmlgrin.cxx:151
bool m_bViewCreated
Definition: swhtml.hxx:443
static sal_uInt16 ToTwips(sal_uInt16 nPixel)
Definition: swhtml.cxx:5081
void NewCharFormat(HtmlTokenId nToken)
Definition: swhtml.cxx:4849
void InsertIDOption()
Definition: swhtml.cxx:5118
void InsertAttrs(std::deque< std::unique_ptr< HTMLAttr > > rAttrs)
Definition: swhtml.cxx:3483
JumpToMarks m_eJumpTo
Definition: swhtml.hxx:430
void InsertBookmark(const OUString &rName)
Definition: htmlgrin.cxx:1393
bool CreateContainer(std::u16string_view rClass, SfxItemSet &rItemSet, SvxCSS1PropertyInfo &rPropInfo, HTMLAttrContext *pContext)
Definition: htmlctxt.cxx:505
HtmlTokenId m_nOpenParaToken
Definition: swhtml.hxx:427
void NewStyle()
Definition: htmlcss1.cxx:1665
std::unique_ptr< ImportProgress > m_xProgress
Definition: swhtml.hxx:360
void NewDefList()
Definition: swhtml.cxx:4327
bool m_bNotifyMacroEventRead
Definition: swhtml.hxx:477
bool m_bDocInitialized
Definition: swhtml.hxx:441
HTMLAttrContexts m_aContexts
Definition: swhtml.hxx:385
void FinishFootEndNote()
Definition: htmlftn.cxx:193
OUString m_aBasicModule
Definition: swhtml.hxx:365
std::unique_ptr< SwHTMLNumRuleInfo > m_pNumRuleInfo
Definition: swhtml.hxx:395
void InsertComment(const OUString &rName, std::string_view pTag={})
Definition: htmlfld.cxx:601
void InsertAttr(const SfxPoolItem &rItem, bool bInsAtStart)
Definition: swhtml.cxx:3474
void DeleteSection(SwStartNode *pSttNd)
Definition: htmltab.cxx:4872
css::uno::Reference< css::drawing::XShape > InsertControl(const css::uno::Reference< css::form::XFormComponent > &rFormComp, const css::uno::Reference< css::beans::XPropertySet > &rFCompPropSet, const Size &rSize, sal_Int16 eVertOri, sal_Int16 eHoriOri, SfxItemSet &rCSS1ItemSet, SvxCSS1PropertyInfo &rCSS1PropInfo, const SvxMacroTableDtor &rMacroTable, const std::vector< OUString > &rUnoMacroTable, const std::vector< OUString > &rUnoMacroParamTable, bool bSetPropSet=true, bool bHidden=false)
Definition: htmlform.cxx:845
static void SetSpace(const Size &rPixSpace, SfxItemSet &rItemSet, SvxCSS1PropertyInfo &rPropInfo, SfxItemSet &rFlyItemSet)
Definition: htmlplug.cxx:243
OUString m_aScriptSource
Definition: swhtml.hxx:366
virtual void NextToken(HtmlTokenId nToken) override
Definition: swhtml.cxx:989
SvxBrushItem * CreateBrushItem(const Color *pColor, const OUString &rImageURL, const OUString &rStyle, const OUString &rId, const OUString &rClass)
Definition: htmltab.cxx:2702
void ParseMoreMetaOptions()
Definition: swhtml.cxx:5408
void EndForm(bool bAppend=true)
Definition: htmlform.cxx:1361
sal_uInt16 m_nSBModuleCnt
Definition: swhtml.hxx:421
int m_nFloatingFrames
Definition: swhtml.hxx:481
void SaveAttrTab(std::shared_ptr< HTMLAttrTable > const &rNewAttrTab)
Definition: swhtml.cxx:3319
void NewMultiCol(sal_uInt16 columnsFromCss=0)
Definition: htmlsect.cxx:538
void EndSelect()
Definition: htmlform.cxx:2345
size_t m_nParaCnt
Definition: swhtml.hxx:423
sal_uInt16 m_nMissingImgMaps
Definition: swhtml.hxx:422
std::shared_ptr< HTMLAttrTable > m_xAttrTab
Definition: swhtml.hxx:384
void SetAttr(bool bChkEnd=true, bool bBeforeTable=false, std::deque< std::unique_ptr< HTMLAttr > > *pPostIts=nullptr)
Definition: swhtml.hxx:516
sal_uInt32 m_aFontHeights[7]
Definition: swhtml.hxx:414
virtual void Notify(const SfxHint &) override
Definition: swhtml.cxx:961
void NewSelect()
Definition: htmlform.cxx:2131
void EndTag(HtmlTokenId nToken)
Definition: swhtml.cxx:3616
void ClearContext(HTMLAttrContext *pContext)
Definition: htmlctxt.cxx:421
void NewTextFormatColl(HtmlTokenId nToken, sal_uInt16 nPoolId)
Definition: swhtml.cxx:4198
void SaveDocContext(HTMLAttrContext *pCntxt, HtmlContextFlags nFlags, const SwPosition *pNewPos)
Definition: htmlctxt.cxx:273
bool InsertEmbed()
Definition: htmlplug.cxx:349
OUString m_aPathToFile
Definition: swhtml.hxx:362
bool m_bTAIgnoreNewPara
Definition: swhtml.hxx:453
bool m_bOldIsHTMLMode
Definition: swhtml.hxx:439
std::shared_ptr< HTMLTable > BuildTable(SvxAdjust eCellAdjust, bool bIsParentHead=false, bool bHasParentSection=true, bool bHasToFlow=false)
Definition: htmltab.cxx:4890
OUString m_aBulletGrfs[MAXLEVEL]
Definition: swhtml.hxx:373
OUString m_aScriptType
Definition: swhtml.hxx:367
void FillEndNoteInfo(std::u16string_view aContent)
Definition: htmlftn.cxx:119
void EndContextAttrs(HTMLAttrContext *pContext)
Definition: htmlcss1.cxx:2229
bool m_bIgnoreHTMLComments
Definition: swhtml.hxx:472
void EndNumberBulletListItem(HtmlTokenId nToken, bool bSetColl)
bool m_bUpperSpace
Definition: swhtml.hxx:456
void Show()
Definition: swhtml.cxx:2570
OUString m_aUnknownToken
Definition: swhtml.hxx:372
bool m_bInFloatingFrame
Definition: swhtml.hxx:446
void InsertFieldText()
Definition: htmlfld.cxx:579
std::set< OUString > m_aAllowedRTFOLEMimeTypes
Definition: swhtml.hxx:498
void StripTrailingPara()
Definition: htmlgrin.cxx:1448
bool DoPositioning(SfxItemSet &rItemSet, SvxCSS1PropertyInfo &rPropInfo, HTMLAttrContext *pContext)
Definition: htmlctxt.cxx:468
void EndStyle()
Definition: htmlcss1.cxx:1681
SwViewShell * CallStartAction(SwViewShell *pVSh=nullptr, bool bChkPtr=true)
Definition: swhtml.cxx:2634
void DeleteAttr(HTMLAttr *pAttr)
Definition: swhtml.cxx:3261
void NewPara()
Definition: swhtml.cxx:3946
void NewAnchor()
Definition: htmlgrin.cxx:1168
void InsertHorzRule()
Definition: swhtml.cxx:5239
static bool HasStyleOptions(std::u16string_view rStyle, std::u16string_view rId, std::u16string_view rClass, const OUString *pLang=nullptr, const OUString *pDir=nullptr)
Definition: swhtml.hxx:1020
sal_uInt16 m_nContinue
Definition: swhtml.hxx:433
void InsertParam()
Definition: htmlplug.cxx:1019
void InsertFlyFrame(const SfxItemSet &rItemSet, HTMLAttrContext *pCntxt, const OUString &rId)
Definition: htmlsect.cxx:755
HTMLAttrs m_aParaAttrs
Definition: swhtml.hxx:383
std::vector< sal_uInt16 > m_aFontStack
Definition: swhtml.hxx:378
ImplSVEvent * m_nEventId
Definition: swhtml.hxx:415
void InsertImage()
Definition: htmlgrin.cxx:318
void BuildTableSection(HTMLTable *pTable, bool bReadOptions, bool bHead)
Definition: htmltab.cxx:4092
bool m_bChkJumpMark
Definition: swhtml.hxx:464
virtual ~SwHTMLParser() override
Definition: swhtml.cxx:466
void GetDefaultScriptType(ScriptType &rType, OUString &rTypeStr) const
Definition: htmlgrin.cxx:292
void BuildTableRow(HTMLTable *pTable, bool bReadOptions, SvxAdjust eGrpAdjust, sal_Int16 eVertOri)
Definition: htmltab.cxx:3892
HTMLAttr ** GetAttrTabEntry(sal_uInt16 nWhich)
Definition: htmlcss1.cxx:1533
SwPaM * m_pPam
Definition: swhtml.hxx:399
virtual void Continue(HtmlTokenId nToken) override
Definition: swhtml.cxx:616
SwHTMLNumRuleInfo & GetNumInfo()
Definition: swhtml.hxx:566
bool m_bFixMarqueeWidth
Definition: swhtml.hxx:454
static SvxNumType GetNumType(std::u16string_view rStr, SvxNumType eDfltType)
Definition: htmlfld.cxx:200
void SetTextCollAttrs(HTMLAttrContext *pContext=nullptr)
Definition: swhtml.cxx:4616
SvxAdjust m_eParaAdjust
Definition: swhtml.hxx:436
bool m_isInTableStructure
Definition: swhtml.hxx:478
void EndObject()
Definition: htmlplug.cxx:860
void EndDivision()
Definition: htmlsect.cxx:385
static void SetFixSize(const Size &rPixSize, const Size &rTwipDfltSize, bool bPercentWidth, bool bPercentHeight, SvxCSS1PropertyInfo const &rPropInfo, SfxItemSet &rFlyItemSet)
Definition: htmlplug.cxx:165
OUString m_aBasicLib
Definition: swhtml.hxx:364
void NewAttr(const std::shared_ptr< HTMLAttrTable > &rAttrTab, HTMLAttr **ppAttr, const SfxPoolItem &rItem)
Definition: swhtml.cxx:3083
SwNodeIndex * m_pSttNdIdx
Definition: swhtml.hxx:401
bool m_bInNoEmbed
Definition: swhtml.hxx:460
rtl::Reference< SwDoc > m_xDoc
Definition: swhtml.hxx:398
bool ParseStyleOptions(const OUString &rStyle, const OUString &rId, const OUString &rClass, SfxItemSet &rItemSet, SvxCSS1PropertyInfo &rPropInfo, const OUString *pLang=nullptr, const OUString *pDir=nullptr)
Definition: htmlcss1.cxx:1853
SwDoc * GetDoc() const
Definition: htmltab.cxx:1060
bool m_bInField
Definition: swhtml.hxx:447
bool m_bCallNextToken
Definition: swhtml.hxx:450
bool IsReadingHeaderOrFooter() const
Definition: swhtml.hxx:951
virtual void AddMetaUserDefined(OUString const &i_rMetaName) override
Definition: swhtml.cxx:5577
HTMLScriptLanguage m_eScriptLang
Definition: swhtml.hxx:437
void SetAttr_(bool bChkEnd, bool bBeforeTable, std::deque< std::unique_ptr< HTMLAttr > > *pPostIts)
Definition: swhtml.cxx:2742
std::unique_ptr< SwField > m_xField
Definition: swhtml.hxx:407
void RestoreDocContext(HTMLAttrContext *pCntxt)
Definition: htmlctxt.cxx:324
void EndHeading()
Definition: swhtml.cxx:4156
void InsertLink()
Definition: htmlcss1.cxx:1726
void InsertFootEndNoteText()
Definition: htmlftn.cxx:214
void EndBasefontAttr()
Definition: swhtml.cxx:3708
void EndDefListItem(HtmlTokenId nToken=HtmlTokenId::NONE)
Definition: swhtml.cxx:4493
bool EndSections(bool bLFStripped)
Definition: htmlsect.cxx:520
void InsertSelectOption()
Definition: htmlform.cxx:2421
sal_Int32 StripTrailingLF()
Definition: htmltab.cxx:2656
std::vector< sal_uInt16 > m_aBaseFontStack
Definition: swhtml.hxx:376
rtl::Reference< SdrObject > m_pMarquee
Definition: swhtml.hxx:406
std::unique_ptr< SwCSS1Parser > m_pCSS1Parser
Definition: swhtml.hxx:394
void AddParSpace()
Definition: swhtml.cxx:2492
bool m_bReadingHeaderOrFooter
Definition: swhtml.hxx:476
SwTwips GetCurrentBrowseWidth()
Definition: swhtml.cxx:5093
void InsertSelectText()
Definition: htmlform.cxx:2460
std::unique_ptr< SwApplet_Impl > m_pAppletImpl
Definition: swhtml.hxx:392
bool IsReqIF() const
Definition: htmltab.cxx:1065
void EndNumberBulletList(HtmlTokenId nToken=HtmlTokenId::NONE)
void SplitPREListingXMP(HTMLAttrContext *pCntxt)
Definition: htmlctxt.cxx:782
sal_uInt16 m_nFontStHeadStart
Definition: swhtml.hxx:420
void NotifyMacroEventRead()
Definition: htmlgrin.cxx:1561
void BuildTableCell(HTMLTable *pTable, bool bReadOptions, bool bHead)
Definition: htmltab.cxx:3192
std::vector< SwPending > m_vPendingStack
Definition: swhtml.hxx:396
ImageMap * m_pImageMap
Definition: swhtml.hxx:408
std::vector< HTMLTable * > m_aTables
Definition: swhtml.hxx:403
void EndScript()
Definition: htmlbas.cxx:70
std::unique_ptr< ImageMaps > m_pImageMaps
all Image-Maps that have been read
Definition: swhtml.hxx:409
void InsertParaAttrs(const SfxItemSet &rItemSet)
Definition: htmlcss1.cxx:2250
SfxViewFrame * m_pTempViewFrame
Definition: swhtml.hxx:487
SwStartNode * InsertTempTableCaptionSection()
Definition: htmltab.cxx:2645
void ShowStatline()
Definition: swhtml.cxx:2601
void DeregisterHTMLTable(HTMLTable *pOld)
Definition: htmltab.cxx:1053
bool AppendTextNode(SwHTMLAppendMode eMode=AM_NORMAL, bool bUpdateNum=true)
Definition: swhtml.cxx:2190
void InsertDrawObject(SdrObject *pNewDrawObj, const Size &rSpace, sal_Int16 eVertOri, sal_Int16 eHoriOri, SfxItemSet &rCSS1ItemSet, SvxCSS1PropertyInfo &rCSS1PropInfo)
const SwStartNode * InsertTableSection(const SwStartNode *pPrevStNd)
Definition: htmltab.cxx:2540
ImageMap * FindImageMap(std::u16string_view rURL) const
Definition: htmlgrin.cxx:96
void EndTextArea()
Definition: htmlform.cxx:2074
void NewStdAttr(HtmlTokenId nToken)
Definition: swhtml.cxx:3493
OUString m_aContents
Definition: swhtml.hxx:370
OUString m_InfoNames[4]
the names corresponding to the DOCINFO field subtypes INFO[1-4]
Definition: swhtml.hxx:485
void EndAnchor()
Definition: htmlgrin.cxx:1376
void InsertTextAreaText(HtmlTokenId nToken)
Definition: htmlform.cxx:2101
void NewNumberBulletList(HtmlTokenId nToken)
void AddScriptSource()
Definition: htmlbas.cxx:179
void RegisterFlyFrame(SwFrameFormat *pFlyFrame)
Definition: htmlgrin.cxx:278
void NewNumberBulletListItem(HtmlTokenId nToken)
sal_uInt16 m_nFontStMin
Definition: swhtml.hxx:418
void NewField()
Definition: htmlfld.cxx:212
bool m_bBodySeen
Definition: swhtml.hxx:475
void GetMarginsFromContext(sal_uInt16 &nLeft, sal_uInt16 &nRight, short &nIndent, bool bIgnoreCurrent=false) const
Definition: htmlcss1.cxx:2155
void InsertBodyOptions()
Definition: htmlgrin.cxx:939
void EndContext(HTMLAttrContext *pContext)
Definition: htmlctxt.cxx:372
void GetMarginsFromContextWithNumberBullet(sal_uInt16 &nLeft, sal_uInt16 &nRight, short &nIndent) const
Definition: htmlcss1.cxx:2180
void EndField()
Definition: htmlfld.cxx:539
void MovePageDescAttrs(SwNode *pSrcNd, SwNodeOffset nDestIdx, bool bFormatBreak)
Definition: htmlsect.cxx:778
void InsertLineBreak()
Definition: swhtml.cxx:5136
bool m_bTextArea
Definition: swhtml.hxx:467
void NewHeading(HtmlTokenId nToken)
Definition: swhtml.cxx:4070
void EndPara(bool bReal=false)
Definition: swhtml.cxx:4022
bool m_bInFootEndNoteAnchor
Definition: swhtml.hxx:470
void EndTextFormatColl(HtmlTokenId nToken)
Definition: swhtml.cxx:4286
void FixHeaderFooterDistance(bool bHeader, const SwPosition *pOldPos)
Definition: htmlsect.cxx:414
static void RegisterDrawObjectToTable(HTMLTable *pCurTable, SdrObject *pObj, sal_uInt8 nWidth)
Definition: htmltab.cxx:3186
static void ResizeDrawObject(SdrObject *pObj, SwTwips nWidth)
sal_uInt16 m_nBaseFontStMin
Definition: swhtml.hxx:417
std::unique_ptr< HTMLTableCnts > InsertTableContents(bool bHead)
Definition: htmltab.cxx:3142
void EndFontAttr(HtmlTokenId nToken)
Definition: swhtml.cxx:3937
bool m_bXHTML
Definition: swhtml.hxx:489
bool m_bKeepUnknown
Definition: swhtml.hxx:448
sal_uInt16 IncGrfsThatResizeTable()
Definition: htmltab.cxx:3181
void SplitAttrTab(const SwPosition &rNewPos)
Definition: htmlctxt.cxx:174
bool HasCurrentParaBookmarks(bool bIgnoreStack=false) const
Definition: htmlgrin.cxx:1400
bool m_bInFootEndNoteSymbol
Definition: swhtml.hxx:471
void SetNodeNum(sal_uInt8 nLevel)
void NewScript()
Definition: htmlbas.cxx:58
static void SetFrameFormatAttrs(SfxItemSet &rItemSet, HtmlFrameFormatFlags nFlags, SfxItemSet &rFrameItemSet)
Definition: htmlcss1.cxx:2076
bool m_bInTitle
Definition: swhtml.hxx:462
bool m_bSetModEnabled
Definition: swhtml.hxx:444
SwHTMLParser(SwDoc *pD, SwPaM &rCursor, SvStream &rIn, OUString aFileName, OUString aBaseURL, bool bReadNewDoc, SfxMedium *pMed, bool bReadUTF8, bool bIgnoreHTMLComments, const OUString &rNamespace)
Definition: swhtml.cxx:254
void InsertCommentText(std::string_view pTag)
Definition: htmlfld.cxx:588
void InsertInput()
Definition: htmlform.cxx:1377
bool m_bLBEntrySelected
Definition: swhtml.hxx:452
std::vector< std::unique_ptr< SwHTMLFrameFormatListener > > m_aMoveFlyFrames
Definition: swhtml.hxx:386
bool m_bReqIF
Definition: swhtml.hxx:490
void BuildTableColGroup(HTMLTable *pTable, bool bReadOptions)
Definition: htmltab.cxx:4280
bool m_bFixSelectWidth
Definition: swhtml.hxx:466
OUStringBuffer m_sTitle
Definition: swhtml.hxx:371
bool m_bNoParSpace
Definition: swhtml.hxx:457
bool m_bIgnoreRawData
Definition: swhtml.hxx:451
bool EndAttr(HTMLAttr *pAttr, bool bChkEmpty=true)
Definition: swhtml.cxx:3099
OUString m_sBaseURL
Definition: swhtml.hxx:363
size_t m_nContextStMin
Definition: swhtml.hxx:424
std::unique_ptr< SwHTMLFootEndNote_Impl > m_pFootEndNoteImpl
Definition: swhtml.hxx:410
SwNodeIndex * GetFootEndNoteSection(const OUString &rName)
Definition: htmlftn.cxx:220
bool FileDownload(const OUString &rURL, OUString &rStr)
Definition: htmlcss1.cxx:1692
virtual bool ParseMetaOptions(const css::uno::Reference< css::document::XDocumentProperties > &, SvKeyValueIterator *) override
Definition: swhtml.cxx:5563
void GetULSpaceFromContext(sal_uInt16 &rUpper, sal_uInt16 &rLower) const
Definition: htmlcss1.cxx:2196
static void SetVarSize(SvxCSS1PropertyInfo const &rPropInfo, SfxItemSet &rFlyItemSet, SwTwips nDfltWidth=MINLAY, sal_uInt8 nDefaultPercentWidth=0)
Definition: htmlcss1.cxx:2037
Size m_aHTMLPageSize
Definition: swhtml.hxx:412
OUString m_aScriptURL
Definition: swhtml.hxx:368
void RestoreAttrTab(std::shared_ptr< HTMLAttrTable > const &rNewAttrTab)
Definition: swhtml.cxx:3444
void InsertBasicDocEvent(const OUString &aEventName, const OUString &rName, ScriptType eScrType, const OUString &rScrType)
Definition: htmlbas.cxx:226
SwViewShell * CallEndAction(bool bChkAction=false, bool bChkPtr=true)
Definition: swhtml.cxx:2663
std::deque< sal_Int32 > m_aMoveFlyCnts
Definition: swhtml.hxx:387
void BuildTableCaption(HTMLTable *pTable)
Definition: htmltab.cxx:4507
bool HasCurrentParaFlys(bool bNoSurroundOnly=false, bool bSurroundOnly=false) const
Definition: swhtml.cxx:4546
void InsertFloatingFrame()
Definition: htmlplug.cxx:1052
void DeleteFormImpl()
Definition: htmlform.cxx:588
SwViewShell * m_pActionViewShell
Definition: swhtml.hxx:400
OUString m_aEmbedURL
This is the URL of the outer <object> data if it's not OLE2 or an image.
Definition: swhtml.hxx:501
void NewForm(bool bAppend=true)
Definition: htmlform.cxx:1196
const OUString & GetName() const
Definition: swhtml.hxx:1045
SwHTMLTextFootnote(OUString rName, SwTextFootnote *pInTextFootnote)
Definition: swhtml.hxx:1039
const SwNodeIndex * GetStartNode() const
Definition: swhtml.hxx:1049
OUString m_sName
Definition: swhtml.hxx:1035
std::unique_ptr< SvtDeleteListener > m_xDeleteListener
Definition: swhtml.hxx:1037
SwTextFootnote * m_pTextFootnote
Definition: swhtml.hxx:1036
Marks a node in the document model.
Definition: ndindex.hxx:31
SwNodeOffset GetIndex() const
Definition: ndindex.hxx:111
Base class of the Writer document model elements.
Definition: node.hxx:98
PaM is Point and Mark: a selection of the document model.
Definition: pam.hxx:188
Starts a section of nodes in the document model.
Definition: node.hxx:348
SwTextAttr subclass for footnotes and endnotes.
Definition: txtftn.hxx:34
const SwNodeIndex * GetStartNode() const
Definition: txtftn.hxx:43
HtmlTokenId
Mode eMode
ScriptType
NONE
constexpr auto toTwips(N number, Length from)
long Long
HTMLScriptLanguage
HTMLAttr * pLanguageCTL
Definition: swhtml.hxx:128
HTMLAttr * pFontHeight
Definition: swhtml.hxx:118
HTMLAttr * pItalicCJK
Definition: swhtml.hxx:110
HTMLAttr * pFirstLineIndent
Definition: swhtml.hxx:91
HTMLAttr * pTextLeftMargin
Definition: swhtml.hxx:92
HTMLAttr * pItalic
Definition: swhtml.hxx:109
HTMLAttr * pKerning
Definition: swhtml.hxx:124
HTMLAttr * pFontCTL
Definition: swhtml.hxx:117
HTMLAttr * pCharBrush
Definition: swhtml.hxx:125
HTMLAttr * pKeep
Definition: swhtml.hxx:85
HTMLAttr * pBlink
Definition: swhtml.hxx:114
HTMLAttr * pPageDesc
Definition: swhtml.hxx:89
HTMLAttr * pLineSpacing
Definition: swhtml.hxx:95
HTMLAttr * pCharBox
Definition: swhtml.hxx:129
HTMLAttr * pUnderline
Definition: swhtml.hxx:113
HTMLAttr * pCaseMap
Definition: swhtml.hxx:123
HTMLAttr * pFontColor
Definition: swhtml.hxx:121
HTMLAttr * pFontHeightCTL
Definition: swhtml.hxx:120
HTMLAttr * pFont
Definition: swhtml.hxx:115
HTMLAttr * pBrush
Definition: swhtml.hxx:87
HTMLAttr * pStrike
Definition: swhtml.hxx:112
HTMLAttr * pINetFormat
Definition: swhtml.hxx:104
HTMLAttr * pAdjust
Definition: swhtml.hxx:96
HTMLAttr * pDirection
Definition: swhtml.hxx:101
HTMLAttr * pBoldCTL
Definition: swhtml.hxx:108
HTMLAttr * pBreak
Definition: swhtml.hxx:88
HTMLAttr * pDropCap
Definition: swhtml.hxx:97
HTMLAttr * pRightMargin
Definition: swhtml.hxx:93
HTMLAttr * pFontCJK
Definition: swhtml.hxx:116
HTMLAttr * pBoldCJK
Definition: swhtml.hxx:107
HTMLAttr * pULSpace
Definition: swhtml.hxx:94
HTMLAttr * pOrphans
Definition: swhtml.hxx:100
HTMLAttr * pWidows
Definition: swhtml.hxx:99
HTMLAttr * pBold
Definition: swhtml.hxx:106
HTMLAttr * pLanguageCJK
Definition: swhtml.hxx:127
HTMLAttr * pItalicCTL
Definition: swhtml.hxx:111
HTMLAttr * pEscapement
Definition: swhtml.hxx:122
HTMLAttr * pBox
Definition: swhtml.hxx:86
HTMLAttr * pSplit
Definition: swhtml.hxx:98
HTMLAttr * pFontHeightCJK
Definition: swhtml.hxx:119
HTMLAttr * pLanguage
Definition: swhtml.hxx:126
HTMLAttr * pCharFormats
Definition: swhtml.hxx:103
std::vector< SwHTMLTextFootnote > aTextFootnotes
Definition: swhtml.hxx:1059
virtual ~SwPendingData()
Definition: swhtml.hxx:961
HtmlTokenId nToken
Definition: swhtml.hxx:966
SwPending(HtmlTokenId nTkn)
Definition: swhtml.hxx:969
std::unique_ptr< SwPendingData > pData
Definition: swhtml.hxx:967
Marks a position in the document model.
Definition: pam.hxx:38
SwNode & GetNode() const
Definition: pam.hxx:81
sal_Int32 GetContentIndex() const
Definition: pam.hxx:85
SvParserState
SvxNumType
SvxAdjust
HTMLOptionEnum< SvxAdjust > const aHTMLPAlignTable[]
Definition: swhtml.cxx:141
constexpr tools::Long HTML_DFLT_IMG_HEIGHT
Definition: swhtml.hxx:69
std::vector< std::unique_ptr< ImageMap > > ImageMaps
Definition: swhtml.hxx:313
HTMLOptionEnum< sal_Int16 > const aHTMLImgVAlignTable[]
Definition: htmlgrin.cxx:83
SwHTMLAppendMode
Definition: swhtml.hxx:203
@ AM_NONE
Definition: swhtml.hxx:208
@ AM_SOFTNOSPACE
Definition: swhtml.hxx:207
@ AM_SPACE
Definition: swhtml.hxx:206
@ AM_NORMAL
Definition: swhtml.hxx:204
@ AM_NOSPACE
Definition: swhtml.hxx:205
HtmlFrameFormatFlags
Definition: swhtml.hxx:331
std::vector< std::unique_ptr< HTMLAttrContext > > HTMLAttrContexts
Definition: swhtml.hxx:309
std::deque< HTMLAttr * > HTMLAttrs
Definition: swhtml.hxx:78
constexpr tools::Long HTML_CJK_PARSPACE
Definition: swhtml.hxx:65
constexpr tools::Long HTML_CTL_PARSPACE
Definition: swhtml.hxx:66
HtmlContextFlags
Definition: swhtml.hxx:317
HTMLOptionEnum< sal_Int16 > const aHTMLImgHAlignTable[]
Definition: htmlgrin.cxx:76
constexpr tools::Long HTML_DFLT_IMG_WIDTH
Definition: swhtml.hxx:68
#define MINLAY
Definition: swtypes.hxx:62
tools::Long SwTwips
Definition: swtypes.hxx:51
constexpr sal_uInt8 MAXLEVEL
Definition: swtypes.hxx:92
bool bVisible
unsigned char sal_uInt8