31#include <osl/diagnose.h>
88 bool& rAtLeastOneNumbered )
101 bool bAtLeastOneNumbered =
false;
122 bAtLeastOneNumbered =
true;
128 rAtLeastOneNumbered = bAtLeastOneNumbered;
129 if (!bAtLeastOneNumbered)
135 bool bStartValue =
false;
136 if( !bSameRule && rInfo.
GetDepth() )
167 "outline not expected");
206 "<PRE> was not closed before <OL>." );
207 sal_uInt16 nPrevDepth =
210 for( sal_uInt16
i=nPrevDepth;
i<rInfo.
GetDepth();
i++ )
216 if (rWrt.
mbXHTML && (nPrevDepth != 0 ||
i != 0))
228 const char *pStr =
nullptr;
286 sal_uInt16 nStartVal = rNumFormat.
GetStart();
287 if( bStartValue && 1 == nStartVal &&
i == rInfo.
GetDepth()-1 )
289 if ( rWrt.
m_pCurrentPam->GetPointNode().GetTextNode()->GetNum() )
291 nStartVal =
static_cast< sal_uInt16
>( rWrt.
m_pCurrentPam->GetPointNode()
292 .GetTextNode()->GetNumberVector()[
i] );
296 OSL_FAIL(
"<OutHTML_NumberBulletListStart(..) - text node has no number." );
326 std::optional<bool> oAtLeastOneNumbered;
329 oAtLeastOneNumbered =
false;
350 oAtLeastOneNumbered =
true;
361 bool bPrevIsNumbered = rInfo.
IsNumbered() || *oAtLeastOneNumbered;
363 if ((bListEnd && bPrevIsNumbered) || (!bListEnd && rNextInfo.
IsNumbered()))
379 if (!*oAtLeastOneNumbered)
386 "<PRE> was not closed before </OL>." );
387 sal_uInt16 nNextDepth =
391 for( sal_uInt16
i=rInfo.
GetDepth();
i>nNextDepth;
i-- )
405 if (rWrt.
mbXHTML && (nNextDepth != 0 ||
i != 1))
SvStream & WriteOString(std::string_view rStr)
SvStream & WriteChar(char nChar)
SvxNumType GetNumberingType() const
sal_uInt16 GetDepth() const
bool mbXHTML
If XHTML markup should be written instead of HTML.
OUString m_aBulletGrfs[MAXLEVEL]
OString GetNamespace() const
Determines the prefix string needed to respect the requested namespace alias.
SwHTMLNumRuleInfo & GetNumInfo()
void OutNewLine(bool bCheck=false)
std::set< OUString > m_aNumRuleNames
HtmlTokenId m_nLastParaToken
std::unique_ptr< SwHTMLNumRuleInfo > m_pNextNumRuleInfo
void SetNextNumInfo(std::unique_ptr< SwHTMLNumRuleInfo > pNxt)
Base class of the Writer document model elements.
SwTextNode * GetTextNode()
Inline methods from Node.hxx.
SwNodeOffset EndOfSectionIndex() const
const SwNumFormat & Get(sal_uInt16 i) const
const OUString & GetName() const
SwTextNode is a paragraph in the document model.
bool IsOutline() const
Returns if this text node is an outline.
SwNumRule * GetNumRule(bool bInParent=true) const
Returns numbering rule of this text node.
int GetActualListLevel(SwListRedlineType eRedline=SwListRedlineType::SHOW) const
Returns the actual list level of this text node, when it is a list item.
bool IsNumbered(SwRootFrame const *pLayout=nullptr) const
Returns is this text node is numbered.
std::shared_ptr< SwUnoCursor > m_pCurrentPam
Writer & OutCSS1_NumberBulletListStyleOpt(Writer &rWrt, const SwNumRule &rNumRule, sal_uInt8 nLevel)
Writer & OutHTML_BulletImage(Writer &rWrt, const char *pTag, const SvxBrushItem *pBrush, const OUString &rGraphicURL)
#define OOO_STRING_SVTOOLS_HTML_orderlist
#define OOO_STRING_SVTOOLS_HTML_ULTYPE_disc
#define OOO_STRING_SVTOOLS_HTML_ULTYPE_square
#define OOO_STRING_SVTOOLS_HTML_O_type
#define OOO_STRING_SVTOOLS_HTML_ULTYPE_circle
#define OOO_STRING_SVTOOLS_HTML_O_start
#define OOO_STRING_SVTOOLS_HTML_unorderlist
#define OOO_STRING_SVTOOLS_HTML_li
#define HTML_BULLETCHAR_SQUARE
#define HTML_BULLETCHAR_CIRCLE
#define HTML_BULLETCHAR_DISC
Writer & OutHTML_NumberBulletListEnd(SwHTMLWriter &rWrt, const SwHTMLNumRuleInfo &rNextInfo)
Writer & OutHTML_NumberBulletListStart(SwHTMLWriter &rWrt, const SwHTMLNumRuleInfo &rInfo, bool &rAtLeastOneNumbered)
SwNumRule * GetNumRule(SwTextFormatColl &rTextFormatColl)
determines the list style, which directly set at the given paragraph style
static SVT_DLLPUBLIC SvStream & Out_AsciiTag(SvStream &, std::string_view rStr, bool bOn=true)
SVX_NUM_CHARS_LOWER_LETTER_N
SVX_NUM_CHARS_LOWER_LETTER
SVX_NUM_CHARS_UPPER_LETTER
SVX_NUM_CHARS_UPPER_LETTER_N