11d2dbeb0SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 31d2dbeb0SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 41d2dbeb0SAndrew Rist * or more contributor license agreements. See the NOTICE file 51d2dbeb0SAndrew Rist * distributed with this work for additional information 61d2dbeb0SAndrew Rist * regarding copyright ownership. The ASF licenses this file 71d2dbeb0SAndrew Rist * to you under the Apache License, Version 2.0 (the 81d2dbeb0SAndrew Rist * "License"); you may not use this file except in compliance 91d2dbeb0SAndrew Rist * with the License. You may obtain a copy of the License at 101d2dbeb0SAndrew Rist * 111d2dbeb0SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 121d2dbeb0SAndrew Rist * 131d2dbeb0SAndrew Rist * Unless required by applicable law or agreed to in writing, 141d2dbeb0SAndrew Rist * software distributed under the License is distributed on an 151d2dbeb0SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 161d2dbeb0SAndrew Rist * KIND, either express or implied. See the License for the 171d2dbeb0SAndrew Rist * specific language governing permissions and limitations 181d2dbeb0SAndrew Rist * under the License. 191d2dbeb0SAndrew Rist * 201d2dbeb0SAndrew Rist *************************************************************/ 211d2dbeb0SAndrew Rist 221d2dbeb0SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef _WW8ATTRIBUTEOUTPUT_HXX_ 25cdf0e10cSrcweir #define _WW8ATTRIBUTEOUTPUT_HXX_ 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include "attributeoutputbase.hxx" 28cdf0e10cSrcweir #include "wrtww8.hxx" 29cdf0e10cSrcweir 30cdf0e10cSrcweir class WW8AttributeOutput : public AttributeOutputBase 31cdf0e10cSrcweir { 32cdf0e10cSrcweir public: 33cdf0e10cSrcweir /// Export the state of RTL/CJK. 34cdf0e10cSrcweir virtual void RTLAndCJKState( bool bIsRTL, sal_uInt16 nScript ); 35cdf0e10cSrcweir 36cdf0e10cSrcweir /// Start of the paragraph. StartParagraph(ww8::WW8TableNodeInfo::Pointer_t)37cdf0e10cSrcweir virtual void StartParagraph( ww8::WW8TableNodeInfo::Pointer_t /*pTextNodeInfo*/ ) {} 38cdf0e10cSrcweir 39cdf0e10cSrcweir /// End of the paragraph. 40cdf0e10cSrcweir virtual void EndParagraph( ww8::WW8TableNodeInfoInner::Pointer_t pTextNodeInfoInner ); 41cdf0e10cSrcweir 42cdf0e10cSrcweir /// Called before we start outputting the attributes. StartParagraphProperties(const SwTxtNode &)43cdf0e10cSrcweir virtual void StartParagraphProperties( const SwTxtNode& /*rNode*/ ) {} 44cdf0e10cSrcweir 45cdf0e10cSrcweir /// Called after we end outputting the attributes. EndParagraphProperties()46cdf0e10cSrcweir virtual void EndParagraphProperties() {} 47cdf0e10cSrcweir 48cdf0e10cSrcweir /// Empty paragraph. 49cdf0e10cSrcweir virtual void EmptyParagraph(); 50cdf0e10cSrcweir 51cdf0e10cSrcweir /// Start of the text run. 52cdf0e10cSrcweir /// 53cdf0e10cSrcweir virtual void StartRun( const SwRedlineData* pRedlineData ); 54cdf0e10cSrcweir 55f66c5aafSOliver-Rainer Wittmann virtual void OnTOXEnding(); 56f66c5aafSOliver-Rainer Wittmann 57cdf0e10cSrcweir /// End of the text run. 58cdf0e10cSrcweir /// 59cdf0e10cSrcweir /// No-op for binary filters. EndRun()60cdf0e10cSrcweir virtual void EndRun() {} 61cdf0e10cSrcweir 62cdf0e10cSrcweir /// Before we start outputting the attributes. 63cdf0e10cSrcweir virtual void StartRunProperties(); 64cdf0e10cSrcweir 65cdf0e10cSrcweir /// After we end outputting the attributes. 66cdf0e10cSrcweir virtual void EndRunProperties( const SwRedlineData* pRedlineData ); 67cdf0e10cSrcweir 68cdf0e10cSrcweir /// Output text. 69cdf0e10cSrcweir virtual void RunText( const String& rText, rtl_TextEncoding eCharSet ); 70cdf0e10cSrcweir 71cdf0e10cSrcweir /// Output text (without markup). 72cdf0e10cSrcweir virtual void RawText( const String& rText, bool bForceUnicode, rtl_TextEncoding eCharSet ); 73cdf0e10cSrcweir 74cdf0e10cSrcweir /// Output ruby start. 75cdf0e10cSrcweir virtual void StartRuby( const SwTxtNode& rNode, const SwFmtRuby& rRuby ); 76cdf0e10cSrcweir 77cdf0e10cSrcweir /// Output ruby end. 78cdf0e10cSrcweir virtual void EndRuby(); 79cdf0e10cSrcweir 80cdf0e10cSrcweir /// Output URL start. 81cdf0e10cSrcweir virtual bool StartURL( const String &rUrl, const String &rTarget ); 82cdf0e10cSrcweir 83cdf0e10cSrcweir /// Output URL end. 84cdf0e10cSrcweir virtual bool EndURL(); 85cdf0e10cSrcweir 86cdf0e10cSrcweir virtual void FieldVanish( const String& rTxt, ww::eField eType ); 87cdf0e10cSrcweir 88cdf0e10cSrcweir /// Output redlining. 89cdf0e10cSrcweir virtual void Redline( const SwRedlineData* pRedline ); 90cdf0e10cSrcweir 91cdf0e10cSrcweir virtual void FormatDrop( const SwTxtNode& rNode, const SwFmtDrop &rSwFmtDrop, sal_uInt16 nStyle, ww8::WW8TableNodeInfo::Pointer_t pTextNodeInfo, ww8::WW8TableNodeInfoInner::Pointer_t pTextNodeInfoInner ); 92cdf0e10cSrcweir 93cdf0e10cSrcweir /// Output FKP (Formatted disK Page) - necessary for binary formats only. 94cdf0e10cSrcweir /// FIXME having it in AttributeOutputBase is probably a hack, it 95cdf0e10cSrcweir /// should be in WW8AttributeOutput only... 96cdf0e10cSrcweir virtual void OutputFKP(); 97cdf0e10cSrcweir 98cdf0e10cSrcweir /// Output style. 99cdf0e10cSrcweir virtual void ParagraphStyle( sal_uInt16 nStyle ); 100cdf0e10cSrcweir 101cdf0e10cSrcweir virtual void TableInfoCell( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfo ); 102cdf0e10cSrcweir 103cdf0e10cSrcweir virtual void TableInfoRow( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfo ); 104cdf0e10cSrcweir 105cdf0e10cSrcweir virtual void TableDefinition( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfo ); 106cdf0e10cSrcweir 107cdf0e10cSrcweir virtual void TableDefaultBorders( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfo ); 108cdf0e10cSrcweir 109cdf0e10cSrcweir virtual void TableBackgrounds( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfo ); 110cdf0e10cSrcweir 111cdf0e10cSrcweir virtual void TableHeight( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfo ); 112cdf0e10cSrcweir 113cdf0e10cSrcweir virtual void TableCanSplit( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfo ); 114cdf0e10cSrcweir 115cdf0e10cSrcweir virtual void TableBidi( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfo ); 116cdf0e10cSrcweir 117cdf0e10cSrcweir virtual void TableVerticalCell( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfo ); 118cdf0e10cSrcweir 119cdf0e10cSrcweir virtual void TableNodeInfo( ww8::WW8TableNodeInfo::Pointer_t pNodeInfo ); 120cdf0e10cSrcweir 121cdf0e10cSrcweir virtual void TableNodeInfoInner( ww8::WW8TableNodeInfoInner::Pointer_t pNodeInfoInner ); 122cdf0e10cSrcweir 123cdf0e10cSrcweir virtual void TableOrientation( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ); 124cdf0e10cSrcweir 125cdf0e10cSrcweir virtual void TableSpacing( ww8::WW8TableNodeInfoInner::Pointer_t pTableTextNodeInfoInner ); 126cdf0e10cSrcweir 127cdf0e10cSrcweir virtual void TableRowEnd( sal_uInt32 nDepth = 1 ); 128cdf0e10cSrcweir 129cdf0e10cSrcweir /// Start of the styles table. 130cdf0e10cSrcweir virtual void StartStyles(); 131cdf0e10cSrcweir 132cdf0e10cSrcweir /// End of the styles table. 133cdf0e10cSrcweir virtual void EndStyles( sal_uInt16 nNumberOfStyles ); 134cdf0e10cSrcweir 135cdf0e10cSrcweir /// Write default style. 136cdf0e10cSrcweir virtual void DefaultStyle( sal_uInt16 nStyle ); 137cdf0e10cSrcweir 138cdf0e10cSrcweir /// Start of a style in the styles table. 139cdf0e10cSrcweir virtual void StartStyle( const String& rName, bool bPapFmt, 140cdf0e10cSrcweir sal_uInt16 nBase, sal_uInt16 nNext, sal_uInt16 nWwIdi, sal_uInt16 nId ); 141cdf0e10cSrcweir 142cdf0e10cSrcweir /// End of a style in the styles table. 143cdf0e10cSrcweir virtual void EndStyle(); 144cdf0e10cSrcweir 145cdf0e10cSrcweir /// Start of (paragraph or run) properties of a style. 146cdf0e10cSrcweir virtual void StartStyleProperties( bool bParProp, sal_uInt16 nStyle ); 147cdf0e10cSrcweir 148cdf0e10cSrcweir /// End of (paragraph or run) properties of a style. 149cdf0e10cSrcweir virtual void EndStyleProperties( bool bParProp ); 150cdf0e10cSrcweir 151cdf0e10cSrcweir /// Numbering rule and Id. 152cdf0e10cSrcweir virtual void OutlineNumbering( sal_uInt8 nLvl, const SwNumFmt &rNFmt, const SwFmt &rFmt ); 153cdf0e10cSrcweir 154cdf0e10cSrcweir /// Page break 155cdf0e10cSrcweir /// As a paragraph property - the paragraph should be on the next page. 156cdf0e10cSrcweir virtual void PageBreakBefore( bool bBreak ); 157cdf0e10cSrcweir 158cdf0e10cSrcweir /// Write a section break 159cdf0e10cSrcweir /// msword::ColumnBreak or msword::PageBreak 160cdf0e10cSrcweir virtual void SectionBreak( sal_uInt8 nC, const WW8_SepInfo* pSectionInfo = NULL ); 161cdf0e10cSrcweir 162cdf0e10cSrcweir /// Start of the section properties. 163cdf0e10cSrcweir virtual void StartSection(); 164cdf0e10cSrcweir 165cdf0e10cSrcweir /// End of the section properties. 166cdf0e10cSrcweir /// 167cdf0e10cSrcweir /// No-op for binary filters. EndSection()168cdf0e10cSrcweir virtual void EndSection() {} 169cdf0e10cSrcweir 170cdf0e10cSrcweir /// Protection of forms. 171cdf0e10cSrcweir virtual void SectionFormProtection( bool bProtected ); 172cdf0e10cSrcweir 173cdf0e10cSrcweir /// Numbering of the lines in the document. 174cdf0e10cSrcweir virtual void SectionLineNumbering( sal_uLong nRestartNo, const SwLineNumberInfo& rLnNumInfo ); 175cdf0e10cSrcweir 176cdf0e10cSrcweir /// Has different headers/footers for the title page. 177cdf0e10cSrcweir virtual void SectionTitlePage(); 178cdf0e10cSrcweir 179cdf0e10cSrcweir /// Description of the page borders. 180cdf0e10cSrcweir virtual void SectionPageBorders( const SwFrmFmt* pFmt, const SwFrmFmt* pFirstPageFmt ); 181cdf0e10cSrcweir 182cdf0e10cSrcweir /// Columns populated from right/numbers on the right side? 183cdf0e10cSrcweir virtual void SectionBiDi( bool bBiDi ); 184cdf0e10cSrcweir 185cdf0e10cSrcweir /// The style of the page numbers. 186cdf0e10cSrcweir /// 187cdf0e10cSrcweir /// nPageRestartNumberr being 0 means no restart. 188cdf0e10cSrcweir virtual void SectionPageNumbering( sal_uInt16 nNumType, sal_uInt16 nPageRestartNumber ); 189cdf0e10cSrcweir 190cdf0e10cSrcweir /// The type of breaking. 191cdf0e10cSrcweir virtual void SectionType( sal_uInt8 nBreakCode ); 192cdf0e10cSrcweir 193cdf0e10cSrcweir /// Special header/footer flags, needed for old versions only. 194cdf0e10cSrcweir virtual void SectionWW6HeaderFooterFlags( sal_uInt8 nHeadFootFlags ); 195cdf0e10cSrcweir 196cdf0e10cSrcweir /// Definition of a numbering instance. 197cdf0e10cSrcweir virtual void NumberingDefinition( sal_uInt16 nId, const SwNumRule &rRule ); 198cdf0e10cSrcweir 199cdf0e10cSrcweir /// All the numbering level information. 200cdf0e10cSrcweir virtual void NumberingLevel( sal_uInt8 nLevel, 201cdf0e10cSrcweir sal_uInt16 nStart, 202cdf0e10cSrcweir sal_uInt16 nNumberingType, 203cdf0e10cSrcweir SvxAdjust eAdjust, 204cdf0e10cSrcweir const sal_uInt8 *pNumLvlPos, 205cdf0e10cSrcweir sal_uInt8 nFollow, 206cdf0e10cSrcweir const wwFont *pFont, 207cdf0e10cSrcweir const SfxItemSet *pOutSet, 208cdf0e10cSrcweir sal_Int16 nIndentAt, 209cdf0e10cSrcweir sal_Int16 nFirstLineIndex, 210cdf0e10cSrcweir sal_Int16 nListTabPos, 211*41623124SJian Hong Cheng const String &rNumberingString, 212*41623124SJian Hong Cheng const SvxBrushItem* pBrush = 0); //For i120928,transfer graphic of bullet 213cdf0e10cSrcweir 214cdf0e10cSrcweir protected: 215cdf0e10cSrcweir /// Output frames - the implementation. 216cdf0e10cSrcweir void OutputFlyFrame_Impl( const sw::Frame& rFmt, const Point& rNdTopLeft ); 217cdf0e10cSrcweir 218cdf0e10cSrcweir /// Sfx item Sfx item RES_CHRATR_CASEMAP 219cdf0e10cSrcweir virtual void CharCaseMap( const SvxCaseMapItem& ); 220cdf0e10cSrcweir 221cdf0e10cSrcweir /// Sfx item Sfx item RES_CHRATR_COLOR 222cdf0e10cSrcweir virtual void CharColor( const SvxColorItem& ); 223cdf0e10cSrcweir 224cdf0e10cSrcweir /// Sfx item Sfx item RES_CHRATR_CONTOUR 225cdf0e10cSrcweir virtual void CharContour( const SvxContourItem& ); 226cdf0e10cSrcweir 227cdf0e10cSrcweir /// Sfx item RES_CHRATR_CROSSEDOUT 228cdf0e10cSrcweir virtual void CharCrossedOut( const SvxCrossedOutItem& rHt ); 229cdf0e10cSrcweir 230cdf0e10cSrcweir /// Sfx item RES_CHRATR_ESCAPEMENT 231cdf0e10cSrcweir virtual void CharEscapement( const SvxEscapementItem& ); 232cdf0e10cSrcweir 233cdf0e10cSrcweir /// Sfx item RES_CHRATR_FONT 234cdf0e10cSrcweir virtual void CharFont( const SvxFontItem& ); 235cdf0e10cSrcweir 236cdf0e10cSrcweir /// Sfx item RES_CHRATR_FONTSIZE 237cdf0e10cSrcweir virtual void CharFontSize( const SvxFontHeightItem& ); 238cdf0e10cSrcweir 239cdf0e10cSrcweir /// Sfx item RES_CHRATR_KERNING 240cdf0e10cSrcweir virtual void CharKerning( const SvxKerningItem& ); 241cdf0e10cSrcweir 242cdf0e10cSrcweir /// Sfx item RES_CHRATR_LANGUAGE 243cdf0e10cSrcweir virtual void CharLanguage( const SvxLanguageItem& ); 244cdf0e10cSrcweir 245cdf0e10cSrcweir /// Sfx item RES_CHRATR_POSTURE 246cdf0e10cSrcweir virtual void CharPosture( const SvxPostureItem& ); 247cdf0e10cSrcweir 248cdf0e10cSrcweir /// Sfx item RES_CHRATR_SHADOWED 249cdf0e10cSrcweir virtual void CharShadow( const SvxShadowedItem& ); 250cdf0e10cSrcweir 251cdf0e10cSrcweir /// Sfx item RES_CHRATR_UNDERLINE 252cdf0e10cSrcweir virtual void CharUnderline( const SvxUnderlineItem& ); 253cdf0e10cSrcweir 254cdf0e10cSrcweir /// Sfx item RES_CHRATR_WEIGHT 255cdf0e10cSrcweir virtual void CharWeight( const SvxWeightItem& ); 256cdf0e10cSrcweir 257cdf0e10cSrcweir /// Sfx item RES_CHRATR_AUTOKERN 258cdf0e10cSrcweir virtual void CharAutoKern( const SvxAutoKernItem& ); 259cdf0e10cSrcweir 260cdf0e10cSrcweir /// Sfx item RES_CHRATR_BLINK 261cdf0e10cSrcweir virtual void CharAnimatedText( const SvxBlinkItem& ); 262cdf0e10cSrcweir 263cdf0e10cSrcweir /// Sfx item RES_CHRATR_BACKGROUND 264cdf0e10cSrcweir virtual void CharBackground( const SvxBrushItem& ); 265cdf0e10cSrcweir 266cdf0e10cSrcweir /// Sfx item RES_CHRATR_CJK_FONT 267cdf0e10cSrcweir virtual void CharFontCJK( const SvxFontItem& ); 268cdf0e10cSrcweir 269cdf0e10cSrcweir /// Sfx item RES_CHRATR_CJK_FONTSIZE CharFontSizeCJK(const SvxFontHeightItem & rHt)270cdf0e10cSrcweir virtual void CharFontSizeCJK( const SvxFontHeightItem& rHt ) { CharFontSize( rHt ); } 271cdf0e10cSrcweir 272cdf0e10cSrcweir /// Sfx item RES_CHRATR_CJK_LANGUAGE CharLanguageCJK(const SvxLanguageItem & rHt)273cdf0e10cSrcweir virtual void CharLanguageCJK( const SvxLanguageItem& rHt ) { CharLanguage( rHt ); } 274cdf0e10cSrcweir 275cdf0e10cSrcweir /// Sfx item RES_CHRATR_CJK_POSTURE CharPostureCJK(const SvxPostureItem & rHt)276cdf0e10cSrcweir virtual void CharPostureCJK( const SvxPostureItem& rHt ) { CharPosture( rHt ); } 277cdf0e10cSrcweir 278cdf0e10cSrcweir /// Sfx item RES_CHRATR_CJK_WEIGHT CharWeightCJK(const SvxWeightItem & rHt)279cdf0e10cSrcweir virtual void CharWeightCJK( const SvxWeightItem& rHt ) { CharWeight( rHt ); } 280cdf0e10cSrcweir 281cdf0e10cSrcweir /// Sfx item RES_CHRATR_CTL_FONT 282cdf0e10cSrcweir virtual void CharFontCTL( const SvxFontItem& ); 283cdf0e10cSrcweir 284cdf0e10cSrcweir /// Sfx item RES_CHRATR_CTL_FONTSIZE CharFontSizeCTL(const SvxFontHeightItem & rHt)285cdf0e10cSrcweir virtual void CharFontSizeCTL( const SvxFontHeightItem& rHt ) { CharFontSize( rHt ); } 286cdf0e10cSrcweir 287cdf0e10cSrcweir /// Sfx item RES_CHRATR_CTL_LANGUAGE CharLanguageCTL(const SvxLanguageItem & rHt)288cdf0e10cSrcweir virtual void CharLanguageCTL( const SvxLanguageItem& rHt ) { CharLanguage( rHt ); } 289cdf0e10cSrcweir 290cdf0e10cSrcweir /// Sfx item RES_CHRATR_CTL_POSTURE 291cdf0e10cSrcweir virtual void CharPostureCTL( const SvxPostureItem& ); 292cdf0e10cSrcweir 293cdf0e10cSrcweir /// Sfx item RES_CHRATR_CTL_WEIGHT 294cdf0e10cSrcweir virtual void CharWeightCTL( const SvxWeightItem& ); 295cdf0e10cSrcweir 296ca2e0b95SLei De Bin /// Sfx item RES_CHRATR_BidiRTL 297ca2e0b95SLei De Bin virtual void CharBidiRTL( const SfxPoolItem& rHt ); 298ca2e0b95SLei De Bin 299ca2e0b95SLei De Bin /// Sfx item RES_CHRATR_IdctHint 300ca2e0b95SLei De Bin virtual void CharIdctHint( const SfxPoolItem& rHt ); 301ca2e0b95SLei De Bin 302cdf0e10cSrcweir /// Sfx item RES_CHRATR_ROTATE 303cdf0e10cSrcweir virtual void CharRotate( const SvxCharRotateItem& ); 304cdf0e10cSrcweir 305cdf0e10cSrcweir /// Sfx item RES_CHRATR_EMPHASIS_MARK 306cdf0e10cSrcweir virtual void CharEmphasisMark( const SvxEmphasisMarkItem& rHt ); 307cdf0e10cSrcweir 308cdf0e10cSrcweir /// Sfx item RES_CHRATR_TWO_LINES 309cdf0e10cSrcweir virtual void CharTwoLines( const SvxTwoLinesItem& ); 310cdf0e10cSrcweir 311cdf0e10cSrcweir /// Sfx item RES_CHRATR_SCALEW 312cdf0e10cSrcweir virtual void CharScaleWidth( const SvxCharScaleWidthItem& ); 313cdf0e10cSrcweir 314cdf0e10cSrcweir /// Sfx item RES_CHRATR_RELIEF 315cdf0e10cSrcweir virtual void CharRelief( const SvxCharReliefItem& ); 316cdf0e10cSrcweir 317cdf0e10cSrcweir /// Sfx item RES_CHRATR_HIDDEN 318cdf0e10cSrcweir virtual void CharHidden( const SvxCharHiddenItem& ); 319cdf0e10cSrcweir 320cdf0e10cSrcweir /// Sfx item RES_TXTATR_INETFMT 321cdf0e10cSrcweir virtual void TextINetFormat( const SwFmtINetFmt& ); 322cdf0e10cSrcweir 323cdf0e10cSrcweir /// Sfx item RES_TXTATR_CHARFMT 324cdf0e10cSrcweir virtual void TextCharFormat( const SwFmtCharFmt& ); 325cdf0e10cSrcweir 326cdf0e10cSrcweir /// Sfx item RES_TXTATR_FTN 327cdf0e10cSrcweir virtual void TextFootnote_Impl( const SwFmtFtn& ); 328cdf0e10cSrcweir 329cdf0e10cSrcweir /// Sfx item RES_PARATR_LINESPACING 330cdf0e10cSrcweir virtual void ParaLineSpacing_Impl( short nSpace, short nMulti ); 331cdf0e10cSrcweir 332cdf0e10cSrcweir /// Sfx item RES_PARATR_ADJUST 333cdf0e10cSrcweir virtual void ParaAdjust( const SvxAdjustItem& rHt ); 334cdf0e10cSrcweir 335cdf0e10cSrcweir /// Sfx item RES_PARATR_SPLIT 336cdf0e10cSrcweir virtual void ParaSplit( const SvxFmtSplitItem& ); 337cdf0e10cSrcweir 338cdf0e10cSrcweir /// Sfx item RES_PARATR_WIDOWS 339cdf0e10cSrcweir virtual void ParaWidows( const SvxWidowsItem& rHt ); 340cdf0e10cSrcweir 341cdf0e10cSrcweir /// Sfx item RES_PARATR_TABSTOP 342cdf0e10cSrcweir virtual void ParaTabStop( const SvxTabStopItem& rHt ); 343cdf0e10cSrcweir 344cdf0e10cSrcweir /// Sfx item RES_PARATR_HYPHENZONE 345cdf0e10cSrcweir virtual void ParaHyphenZone( const SvxHyphenZoneItem& ); 346cdf0e10cSrcweir 347cdf0e10cSrcweir /// Sfx item RES_PARATR_NUMRULE 348cdf0e10cSrcweir virtual void ParaNumRule_Impl( const SwTxtNode *pTxtNd, sal_Int32 nLvl, sal_Int32 nNumId ); 349cdf0e10cSrcweir 350cdf0e10cSrcweir /// Sfx item RES_PARATR_SCRIPTSPACE 351cdf0e10cSrcweir virtual void ParaScriptSpace( const SfxBoolItem& ); 352cdf0e10cSrcweir 353cdf0e10cSrcweir /// Sfx item RES_PARATR_VERTALIGN 354cdf0e10cSrcweir virtual void ParaVerticalAlign( const SvxParaVertAlignItem& ); 355cdf0e10cSrcweir 356cdf0e10cSrcweir /// Sfx item RES_PARATR_SNAPTOGRID 357cdf0e10cSrcweir virtual void ParaSnapToGrid( const SvxParaGridItem& ); 358cdf0e10cSrcweir 359cdf0e10cSrcweir /// Sfx item RES_FRM_SIZE 360cdf0e10cSrcweir virtual void FormatFrameSize( const SwFmtFrmSize& ); 361cdf0e10cSrcweir 362cdf0e10cSrcweir /// Sfx item RES_PAPER_BIN 363cdf0e10cSrcweir virtual void FormatPaperBin( const SvxPaperBinItem& ); 364cdf0e10cSrcweir 365cdf0e10cSrcweir /// Sfx item RES_LR_SPACE 366cdf0e10cSrcweir virtual void FormatLRSpace( const SvxLRSpaceItem& ); 367cdf0e10cSrcweir 368cdf0e10cSrcweir /// Sfx item RES_UL_SPACE 369cdf0e10cSrcweir virtual void FormatULSpace( const SvxULSpaceItem& rHt ); 370cdf0e10cSrcweir 371cdf0e10cSrcweir /// Sfx item RES_SURROUND 372cdf0e10cSrcweir virtual void FormatSurround( const SwFmtSurround& ); 373cdf0e10cSrcweir 374cdf0e10cSrcweir /// Sfx item RES_VERT_ORIENT 375cdf0e10cSrcweir virtual void FormatVertOrientation( const SwFmtVertOrient& ); 376cdf0e10cSrcweir 377cdf0e10cSrcweir /// Sfx item RES_HORI_ORIENT 378cdf0e10cSrcweir virtual void FormatHorizOrientation( const SwFmtHoriOrient& ); 379cdf0e10cSrcweir 380cdf0e10cSrcweir /// Sfx item RES_ANCHOR 381cdf0e10cSrcweir virtual void FormatAnchor( const SwFmtAnchor& ); 382cdf0e10cSrcweir 383cdf0e10cSrcweir /// Sfx item RES_BACKGROUND 384cdf0e10cSrcweir virtual void FormatBackground( const SvxBrushItem& ); 385cdf0e10cSrcweir 386cdf0e10cSrcweir /// Sfx item RES_BOX 387cdf0e10cSrcweir virtual void FormatBox( const SvxBoxItem& ); 388cdf0e10cSrcweir 389cdf0e10cSrcweir /// Sfx item RES_COL 390cdf0e10cSrcweir virtual void FormatColumns_Impl( sal_uInt16 nCols, const SwFmtCol & rCol, bool bEven, SwTwips nPageSize ); 391cdf0e10cSrcweir 392cdf0e10cSrcweir /// Sfx item RES_KEEP 393cdf0e10cSrcweir virtual void FormatKeep( const SvxFmtKeepItem& ); 394cdf0e10cSrcweir 395cdf0e10cSrcweir /// Sfx item RES_TEXTGRID 396cdf0e10cSrcweir virtual void FormatTextGrid( const SwTextGridItem& ); 397cdf0e10cSrcweir 398cdf0e10cSrcweir /// Sfx item RES_LINENUMBER 399cdf0e10cSrcweir virtual void FormatLineNumbering( const SwFmtLineNumber& ); 400cdf0e10cSrcweir 401cdf0e10cSrcweir /// Sfx item RES_FRAMEDIR 402cdf0e10cSrcweir virtual void FormatFrameDirection( const SvxFrameDirectionItem& ); 403cdf0e10cSrcweir 404cdf0e10cSrcweir /// Write the expanded field 405cdf0e10cSrcweir virtual void WriteExpand( const SwField* pFld ); 406cdf0e10cSrcweir 407cdf0e10cSrcweir virtual void RefField ( const SwField& rFld, const String& rRef ); 408cdf0e10cSrcweir virtual void HiddenField( const SwField& rFld ); 409cdf0e10cSrcweir virtual void SetField( const SwField& rFld, ww::eField eType, const String& rCmd ); 410cdf0e10cSrcweir virtual void PostitField( const SwField* pFld ); 411cdf0e10cSrcweir virtual bool DropdownField( const SwField* pFld ); 412cdf0e10cSrcweir 413cdf0e10cSrcweir virtual bool AnalyzeURL( const String& rURL, const String& rTarget, String* pLinkURL, String* pMark ); 414cdf0e10cSrcweir 415cdf0e10cSrcweir /// Reference to the export, where to get the data from 416cdf0e10cSrcweir WW8Export &m_rWW8Export; 417cdf0e10cSrcweir 418cdf0e10cSrcweir /// For output of styles. 419cdf0e10cSrcweir /// 420cdf0e10cSrcweir /// We have to remember these positions between the StartStyle() and 421cdf0e10cSrcweir /// EndStyle(). 422cdf0e10cSrcweir sal_uInt16 nPOPosStdLen1, nPOPosStdLen2; 423cdf0e10cSrcweir 424cdf0e10cSrcweir /// For output of styles. 425cdf0e10cSrcweir /// 426cdf0e10cSrcweir /// We have to remember this position between StartStyleProperties() and 427cdf0e10cSrcweir /// EndStyleProperties(). 428cdf0e10cSrcweir sal_uInt16 m_nStyleStartSize, m_nStyleLenPos; 429cdf0e10cSrcweir 430cdf0e10cSrcweir /// For output of styles. 431cdf0e10cSrcweir /// 432cdf0e10cSrcweir /// Used between StartStyles() and EndStyles(). 433cdf0e10cSrcweir sal_uLong m_nStyAnzPos; 434cdf0e10cSrcweir 435cdf0e10cSrcweir /// For output of run properties. 436cdf0e10cSrcweir /// 437cdf0e10cSrcweir /// We have to remember the number of field results, and do not export end 438cdf0e10cSrcweir /// of the field results if we were forced to split text. 439cdf0e10cSrcweir sal_uInt16 m_nFieldResults; 440cdf0e10cSrcweir 441f66c5aafSOliver-Rainer Wittmann bool mbOnTOXEnding; 442f66c5aafSOliver-Rainer Wittmann 443cdf0e10cSrcweir public: WW8AttributeOutput(WW8Export & rWW8Export)444f66c5aafSOliver-Rainer Wittmann WW8AttributeOutput( WW8Export &rWW8Export ) : AttributeOutputBase(), m_rWW8Export( rWW8Export ),mbOnTOXEnding(false) {} ~WW8AttributeOutput()445cdf0e10cSrcweir virtual ~WW8AttributeOutput() {} 446cdf0e10cSrcweir 447cdf0e10cSrcweir /// Return the right export class. GetExport()448cdf0e10cSrcweir virtual MSWordExportBase& GetExport() { return m_rWW8Export; } 449cdf0e10cSrcweir 450cdf0e10cSrcweir protected: 451cdf0e10cSrcweir /// Output the bold etc. attributes 452cdf0e10cSrcweir void OutputWW8Attribute( sal_uInt8 nId, bool bVal ); 453cdf0e10cSrcweir 454cdf0e10cSrcweir /// Output the bold etc. attributes, the Complex Text Layout version 455cdf0e10cSrcweir void OutputWW8AttributeCTL( sal_uInt8 nId, bool bVal ); 456cdf0e10cSrcweir 457cdf0e10cSrcweir }; 458cdf0e10cSrcweir 459cdf0e10cSrcweir #endif // _WW8ATTRIBUTEOUTPUT_HXX_ 460cdf0e10cSrcweir 461cdf0e10cSrcweir /* vi:set tabstop=4 shiftwidth=4 expandtab: */ 462