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