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