/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #ifndef _VIEWOPT_HXX #define _VIEWOPT_HXX #include #include #include #include #include #include #include "swdllapi.h" #include "authratr.hxx" class SwRect; class Window; class OutputDevice; class ViewShell; class SwDocShell; namespace svtools{ class ColorConfig;} #define VIEWOPT_1_TAB 0x00000002L #define VIEWOPT_1_BLANK 0x00000004L #define VIEWOPT_1_HARDBLANK 0x00000008L #define VIEWOPT_1_PARAGRAPH 0x00000010L #define VIEWOPT_1_LINEBREAK 0x00000020L #define VIEWOPT_1_PAGEBREAK 0x00000040L #define VIEWOPT_1_COLUMNBREAK 0x00000080L #define VIEWOPT_1_SOFTHYPH 0x00000100L #define VIEWOPT_1_REF 0x00000400L #define VIEWOPT_1_FLDNAME 0x00000800L #define VIEWOPT_1_POSTITS 0x00004000L #define VIEWOPT_1_FLD_HIDDEN 0x00008000L #define VIEWOPT_1_CHAR_HIDDEN 0x00010000L #define VIEWOPT_1_GRAPHIC 0x00020000L #define VIEWOPT_1_TABLE 0x00040000L #define VIEWOPT_1_DRAW 0x00080000L #define VIEWOPT_1_CONTROL 0x00100000L #define VIEWOPT_1_CROSSHAIR 0x00400000L #define VIEWOPT_1_SNAP 0x00800000L #define VIEWOPT_1_SYNCHRONIZE 0x01000000L #define VIEWOPT_1_GRIDVISIBLE 0x02000000L #define VIEWOPT_1_ONLINESPELL 0x04000000L #define VIEWOPT_1_RESERVED1 0x10000000L #define VIEWOPT_1_VIEWMETACHARS 0x20000000L #define VIEWOPT_1_PAGEBACK 0x40000000L #define VIEWOPT_CORE2_BLACKFONT 0x00000001L #define VIEWOPT_CORE2_HIDDENPARA 0x00000002L #define VIEWOPT_CORE2_SMOOTHSCROLL 0x00000004L #define VIEWOPT_CORE2_CRSR_IN_PROT 0x00000008L #define VIEWOPT_CORE2_PDF_EXPORT 0x00000010L #define VIEWOPT_CORE2_PRINTING 0x00000020L #define VIEWOPT_2_UNUSED1 0x00000100L #define VIEWOPT_2_UNUSED2 0x00000200L #define VIEWOPT_2_H_RULER 0x00000400L #define VIEWOPT_2_VSCROLLBAR 0x00000800L #define VIEWOPT_2_HSCROLLBAR 0x00001000L #define VIEWOPT_2_STATUSLINE 0x00002000L #define VIEWOPT_2_V_RULER 0x00004000L #define VIEWOPT_2_ANY_RULER 0x00008000L #define VIEWOPT_2_MODIFIED 0x00010000L #define VIEWOPT_2_KEEPASPECTRATIO 0x00020000L #define VIEWOPT_2_GRFKEEPZOOM 0x00040000L #define VIEWOPT_2_CONTENT_TIPS 0x00100000L #define VIEWOPT_2_RESERVED3 0x00200000L #define VIEWOPT_2_RESERVED4 0x00400000L #define VIEWOPT_2_PRTFORMAT 0x00800000L #define VIEWOPT_2_SHADOWCRSR 0x01000000L #define VIEWOPT_2_V_RULER_RIGHT 0x02000000L // Table background. #define TBL_DEST_CELL 0 #define TBL_DEST_ROW 1 #define TBL_DEST_TBL 2 // Appearance flags. #define VIEWOPT_DOC_BOUNDARIES 0x0001 #define VIEWOPT_OBJECT_BOUNDARIES 0x0002 #define VIEWOPT_TABLE_BOUNDARIES 0x0004 #define VIEWOPT_INDEX_SHADINGS 0x0008 #define VIEWOPT_LINKS 0x0010 #define VIEWOPT_VISITED_LINKS 0x0020 #define VIEWOPT_FIELD_SHADINGS 0x0040 #define VIEWOPT_SECTION_BOUNDARIES 0x0080 #define VIEWOPT_SHADOW 0x0100 // Implementation in core/text/txtpaint.cxx. extern void SyncVout( const OutputDevice *pOut ); class SwViewOption { static Color aDocColor; // color of document boundaries static Color aDocBoundColor; // color of document boundaries static Color aObjectBoundColor; // color of object boundaries static Color aAppBackgroundColor; // application background static Color aTableBoundColor; // color of table boundaries static Color aFontColor; static Color aIndexShadingsColor; // background color of indexes static Color aLinksColor; static Color aVisitedLinksColor; static Color aDirectCursorColor; static Color aTextGridColor; static Color aSpellColor; // mark color of online spell checking static Color aSmarttagColor; static Color aFieldShadingsColor; static Color aSectionBoundColor; static Color aPageBreakColor; static Color aScriptIndicatorColor; static Color aShadowColor; static Color aHeaderFooterMarkColor; static sal_Int32 nAppearanceFlags; protected: static sal_uInt16 nPixelTwips;// 1 Pixel == ? Twips OUString sSymbolFont; // Symbolfont. sal_uInt32 nCoreOptions; // Bits for ViewShell. sal_uInt32 nCore2Options; // Bits for ViewShell. sal_uInt32 nUIOptions; // UI-Bits Color aRetoucheColor; // DefaultBackground for BrowseView Size aSnapSize; // Describes horizontal and vertical snap. sal_uInt16 mnViewLayoutColumns;// # columns for edit view short nDivisionX; // Grid division. short nDivisionY; sal_uInt8 nPagePrevRow; // Page Preview Row/Columns. sal_uInt8 nPagePrevCol; // Page Preview Row/Columns. sal_uInt8 nShdwCrsrFillMode; // FillMode for ShadowCrsr. sal_Bool bReadonly : 1; // Readonly-Doc. sal_Bool bStarOneSetting : 1;// Prevent from UI automatics (no scrollbars in readonly documents). sal_Bool bIsPagePreview : 1; // The preview mustn't print field/footnote/... shadings. sal_Bool bSelectionInReadonly : 1; // Determines whether selection is switched on in readonly documents. sal_Bool mbFormView : 1; sal_Bool mbBrowseMode : 1; // swmod 080130. sal_Bool mbBookView : 1; // View mode for page preview. sal_Bool mbViewLayoutBookMode : 1; // Book view mode for edit view. sal_Bool bShowPlaceHolderFields : 1; // Only used in printing! mutable bool bIdle; // Scale sal_uInt16 nZoom; // In percent. SvxZoomType eZoom; // 'enum' for zoom. sal_uInt8 nTblDest; // Destination for table background. #ifdef DBG_UTIL // Corresponds to statements in ui/config/cfgvw.src. bool m_bTest1 :1; // Test-flag "Layout not loading" bool m_bTest2 :1; // Test-flag "WYSIWYG++" bool m_bTest3 :1; // Test-flag "" bool m_bTest4 :1; // Test-flag "WYSIWYG debug" bool m_bTest5 :1; // Test-flag "No idle format" bool m_bTest6 :1; // Test-flag "No screen adj" bool m_bTest7 :1; // Test-flag "win format" bool m_bTest8 :1; // Test-flag "" static bool s_bTest9; // Test-Flag "DrawingLayerNotLoading" bool m_bTest10 :1; // Test-Flag "Format by Input" #endif public: SwViewOption(); // CTOR SwViewOption(const SwViewOption&); ~SwViewOption(); void Init( Window *pWin ); // Initializing of static data. sal_uInt16 GetPixelTwips() const { return nPixelTwips; } inline sal_uInt32 GetCoreOptions() const {return nCoreOptions;} inline void SetUIOptions( const SwViewOption& ); /*--------------------------------------------------------------------------- Options from nCoreOptions ----------------------------------------------------------------------------*/ inline sal_Bool IsIdle() const { return bIdle; } // Logically this is a const function since it does not modify the viewoptions // but only effects idle formatting. Of course that member is already implement // in the wrong place here... Also currently there are many const modifying casts in the code // just to call this function on otherwise const objects. Thus declaring it as const now. inline void SetIdle( sal_Bool b ) const { bIdle = b; } inline sal_Bool IsTab(sal_Bool bHard = sal_False) const { return !bReadonly && (nCoreOptions & VIEWOPT_1_TAB) && ((nCoreOptions & VIEWOPT_1_VIEWMETACHARS)||bHard) ? sal_True : sal_False; } inline void SetTab( sal_Bool b ) { (b != 0) ? (nCoreOptions |= VIEWOPT_1_TAB ) : ( nCoreOptions &= ~VIEWOPT_1_TAB); } inline sal_Bool IsBlank(sal_Bool bHard = sal_False) const { return !bReadonly && (nCoreOptions & VIEWOPT_1_BLANK) && ((nCoreOptions & VIEWOPT_1_VIEWMETACHARS)||bHard) ? sal_True : sal_False; } inline void SetBlank( sal_Bool b ) { (b != 0) ? (nCoreOptions |= VIEWOPT_1_BLANK ) : ( nCoreOptions &= ~VIEWOPT_1_BLANK); } inline sal_Bool IsHardBlank() const { return !bReadonly && nCoreOptions & VIEWOPT_1_HARDBLANK ? sal_True : sal_False; } inline void SetHardBlank( sal_Bool b ) { (b != 0) ? (nCoreOptions |= VIEWOPT_1_HARDBLANK ) : ( nCoreOptions &= ~VIEWOPT_1_HARDBLANK); } inline sal_Bool IsParagraph(sal_Bool bHard = sal_False) const { return !bReadonly && (nCoreOptions & VIEWOPT_1_PARAGRAPH) && ((nCoreOptions & VIEWOPT_1_VIEWMETACHARS)||bHard) ? sal_True : sal_False; } inline void SetParagraph( sal_Bool b ) { (b != 0) ? (nCoreOptions |= VIEWOPT_1_PARAGRAPH ) : ( nCoreOptions &= ~VIEWOPT_1_PARAGRAPH); } inline sal_Bool IsLineBreak(sal_Bool bHard = sal_False) const { return !bReadonly && (nCoreOptions & VIEWOPT_1_LINEBREAK) && ((nCoreOptions & VIEWOPT_1_VIEWMETACHARS)||bHard) ? sal_True : sal_False; } inline void SetLineBreak( sal_Bool b ) { (b != 0) ? (nCoreOptions |= VIEWOPT_1_LINEBREAK ) : ( nCoreOptions &= ~VIEWOPT_1_LINEBREAK); } inline void SetPageBreak( sal_Bool b ) { (b != 0) ? (nCoreOptions |= VIEWOPT_1_PAGEBREAK ) : ( nCoreOptions &= ~VIEWOPT_1_PAGEBREAK); } inline void SetColumnBreak( sal_Bool b) { (b != 0) ? (nCoreOptions |= VIEWOPT_1_COLUMNBREAK ) : ( nCoreOptions &= ~VIEWOPT_1_COLUMNBREAK); } inline sal_Bool IsSoftHyph() const { return !bReadonly && (nCoreOptions & VIEWOPT_1_SOFTHYPH) ? sal_True : sal_False; } inline void SetSoftHyph( sal_Bool b ) { (b != 0) ? (nCoreOptions |= VIEWOPT_1_SOFTHYPH ) : ( nCoreOptions &= ~VIEWOPT_1_SOFTHYPH); } inline sal_Bool IsFldName() const { return !bReadonly && (nCoreOptions & VIEWOPT_1_FLDNAME) ? sal_True : sal_False; } inline void SetFldName( sal_Bool b ) { (b != 0) ? (nCoreOptions |= VIEWOPT_1_FLDNAME ) : ( nCoreOptions &= ~VIEWOPT_1_FLDNAME); } inline sal_Bool IsPostIts() const { return (nCoreOptions & VIEWOPT_1_POSTITS) ? sal_True : sal_False; } inline void SetPostIts( sal_Bool b ) { (b != 0) ? (nCoreOptions |= VIEWOPT_1_POSTITS ) : ( nCoreOptions &= ~VIEWOPT_1_POSTITS); } void PaintPostIts( OutputDevice *pOut, const SwRect &rRect, sal_Bool bIsScript ) const; sal_uInt16 GetPostItsWidth( const OutputDevice *pOut = 0 ) const; inline sal_Bool IsShowHiddenChar(sal_Bool bHard = sal_False) const { return !bReadonly && (nCoreOptions & VIEWOPT_1_CHAR_HIDDEN) && ((nCoreOptions & VIEWOPT_1_VIEWMETACHARS)||bHard) ? sal_True : sal_False; } inline void SetShowHiddenChar( sal_Bool b ) { (b != 0) ? (nCoreOptions |= VIEWOPT_1_CHAR_HIDDEN ) : ( nCoreOptions &= ~VIEWOPT_1_CHAR_HIDDEN); } inline sal_Bool IsShowHiddenField() const { return !bReadonly && (nCoreOptions & VIEWOPT_1_FLD_HIDDEN) ? sal_True : sal_False; } inline void SetShowHiddenField( sal_Bool b ) { (b != 0) ? (nCoreOptions |= VIEWOPT_1_FLD_HIDDEN ) : ( nCoreOptions &= ~VIEWOPT_1_FLD_HIDDEN); } inline sal_Bool IsGraphic() const { return nCoreOptions & VIEWOPT_1_GRAPHIC ? sal_True : sal_False; } inline void SetGraphic( sal_Bool b ) { (b != 0) ? (nCoreOptions |= VIEWOPT_1_GRAPHIC ) : ( nCoreOptions &= ~VIEWOPT_1_GRAPHIC); } inline sal_Bool IsPageBack() const { return nCoreOptions & VIEWOPT_1_PAGEBACK ? sal_True : sal_False; } inline void SetPageBack( sal_Bool b ) { (b != 0) ? (nCoreOptions |= VIEWOPT_1_PAGEBACK) : ( nCoreOptions &= ~VIEWOPT_1_PAGEBACK); } inline sal_Bool IsTable() const { return nCoreOptions & VIEWOPT_1_TABLE ? sal_True : sal_False; } inline void SetTable( sal_Bool b ) { (b != 0) ? (nCoreOptions |= VIEWOPT_1_TABLE ) : ( nCoreOptions &= ~VIEWOPT_1_TABLE); } inline sal_Bool IsDraw() const { return nCoreOptions & VIEWOPT_1_DRAW ? sal_True : sal_False; } inline void SetDraw( sal_Bool b ) { (b != 0) ? (nCoreOptions |= VIEWOPT_1_DRAW ) : ( nCoreOptions &= ~VIEWOPT_1_DRAW); } inline sal_Bool IsControl() const { return nCoreOptions & VIEWOPT_1_CONTROL ? sal_True : sal_False; } inline void SetControl( sal_Bool b ) { (b != 0) ? (nCoreOptions |= VIEWOPT_1_CONTROL ) : ( nCoreOptions &= ~VIEWOPT_1_CONTROL); } inline sal_Bool IsSnap() const { return nCoreOptions & VIEWOPT_1_SNAP ? sal_True : sal_False; } inline void SetSnap( sal_Bool b ) { (b != 0) ? (nCoreOptions |= VIEWOPT_1_SNAP ) : ( nCoreOptions &= ~VIEWOPT_1_SNAP); } inline void SetSnapSize( Size &rSz ){ aSnapSize = rSz; } inline const Size &GetSnapSize() const { return aSnapSize; } inline sal_Bool IsGridVisible() const { return !bReadonly && (nCoreOptions & VIEWOPT_1_GRIDVISIBLE) ? sal_True : sal_False; } inline void SetGridVisible( sal_Bool b ) { (b != 0) ? (nCoreOptions |= VIEWOPT_1_GRIDVISIBLE ) : ( nCoreOptions &= ~VIEWOPT_1_GRIDVISIBLE); } inline sal_Bool IsOnlineSpell() const { return !bReadonly && (nCoreOptions & VIEWOPT_1_ONLINESPELL) ? sal_True : sal_False; } inline void SetOnlineSpell( sal_Bool b ) { (b != 0) ? (nCoreOptions |= VIEWOPT_1_ONLINESPELL ) : ( nCoreOptions &= ~VIEWOPT_1_ONLINESPELL); } inline sal_Bool IsViewMetaChars() const { return !bReadonly && (nCoreOptions & VIEWOPT_1_VIEWMETACHARS) ? sal_True : sal_False; } inline void SetViewMetaChars( sal_Bool b) { (b != 0) ? (nCoreOptions |= VIEWOPT_1_VIEWMETACHARS ) : ( nCoreOptions &= ~VIEWOPT_1_VIEWMETACHARS); } inline sal_Bool IsSynchronize() const { return nCoreOptions & VIEWOPT_1_SYNCHRONIZE ? sal_True : sal_False;} inline void SetSynchronize( sal_Bool b ) { (b != 0) ? (nCoreOptions |= VIEWOPT_1_SYNCHRONIZE ) : ( nCoreOptions &= ~VIEWOPT_1_SYNCHRONIZE); } inline sal_Bool IsCrossHair() const { return nCoreOptions & VIEWOPT_1_CROSSHAIR ? sal_True : sal_False; } inline void SetCrossHair( sal_Bool b ) { (b != 0) ? (nCoreOptions |= VIEWOPT_1_CROSSHAIR ) : ( nCoreOptions &= ~VIEWOPT_1_CROSSHAIR); } /*--------------------------------------------------------------------------- Options from nCore2Options ----------------------------------------------------------------------------*/ inline sal_Bool IsBlackFont() const {return nCore2Options & VIEWOPT_CORE2_BLACKFONT ? sal_True : sal_False;} inline void SetBlackFont(sal_Bool b) { (b != 0) ? (nCore2Options |= VIEWOPT_CORE2_BLACKFONT) : (nCore2Options &= ~VIEWOPT_CORE2_BLACKFONT);} inline sal_Bool IsShowHiddenPara() const {return nCore2Options & VIEWOPT_CORE2_HIDDENPARA ? sal_True : sal_False;} inline void SetShowHiddenPara(sal_Bool b) { (b != 0) ? (nCore2Options |= VIEWOPT_CORE2_HIDDENPARA) : (nCore2Options &= ~VIEWOPT_CORE2_HIDDENPARA);} inline sal_Bool IsSmoothScroll() const {return nCore2Options & VIEWOPT_CORE2_SMOOTHSCROLL ? sal_True : sal_False;} inline void SetSmoothScroll(sal_Bool b) { (b != 0) ? (nCore2Options |= VIEWOPT_CORE2_SMOOTHSCROLL) : (nCore2Options &= ~VIEWOPT_CORE2_SMOOTHSCROLL);} inline sal_Bool IsCursorInProtectedArea() const {return nCore2Options & VIEWOPT_CORE2_CRSR_IN_PROT ? sal_True : sal_False;} inline void SetCursorInProtectedArea(sal_Bool b) { (b != 0) ? (nCore2Options |= VIEWOPT_CORE2_CRSR_IN_PROT) : (nCore2Options &= ~VIEWOPT_CORE2_CRSR_IN_PROT);} inline sal_Bool IsPDFExport() const {return nCore2Options & VIEWOPT_CORE2_PDF_EXPORT ? sal_True : sal_False;} inline void SetPDFExport(sal_Bool b) { (b != 0) ? (nCore2Options |= VIEWOPT_CORE2_PDF_EXPORT) : (nCore2Options &= ~VIEWOPT_CORE2_PDF_EXPORT);} inline sal_Bool IsPrinting() const {return nCore2Options & VIEWOPT_CORE2_PRINTING ? sal_True : sal_False;} inline void SetPrinting(sal_Bool b) { (b != 0) ? (nCore2Options |= VIEWOPT_CORE2_PRINTING) : (nCore2Options &= ~VIEWOPT_CORE2_PRINTING);} inline short GetDivisionX() const { return nDivisionX; } inline void SetDivisionX( short n ){ nDivisionX = n; } inline short GetDivisionY() const { return nDivisionY; } inline void SetDivisionY( short n ){ nDivisionY = n; } inline sal_uInt8 GetPagePrevRow() const { return nPagePrevRow; } inline void SetPagePrevRow( sal_uInt8 n ) { nPagePrevRow = n; } inline sal_uInt8 GetPagePrevCol() const { return nPagePrevCol; } inline void SetPagePrevCol( sal_uInt8 n ) { nPagePrevCol = n; } sal_Bool IsReadonly() const { return bReadonly; } void SetReadonly(sal_Bool bSet) { bReadonly = bSet; } sal_Bool IsSelectionInReadonly() const {return bSelectionInReadonly;} void SetSelectionInReadonly(sal_Bool bSet) {bSelectionInReadonly = bSet;} sal_Bool IsFormView() const { return mbFormView; } void SetFormView( sal_Bool bSet ) { mbFormView = bSet; } inline sal_Bool getBrowseMode() const { return mbBrowseMode; } inline void setBrowseMode(sal_Bool bSet) { mbBrowseMode = bSet; } inline sal_Bool IsPagePrevBookview() const { return mbBookView; } inline void SetPagePrevBookview(sal_Bool bSet) { mbBookView = bSet; } sal_Bool IsAutoCompleteWords() const; bool IsViewLayoutBookMode() const { return mbViewLayoutBookMode; } void SetViewLayoutBookMode( bool bNew ) { mbViewLayoutBookMode = bNew; } sal_uInt16 GetViewLayoutColumns() const { return mnViewLayoutColumns; } void SetViewLayoutColumns( sal_uInt16 nNew ) { mnViewLayoutColumns = nNew; } #ifdef DBG_UTIL // Correspond to statements in ui/config/cfgvw.src. inline bool IsTest1() const { return m_bTest1; } inline void SetTest1( bool b ) { m_bTest1 = b; } inline bool IsTest2() const { return m_bTest2; } inline void SetTest2( bool b ) { m_bTest2 = b; } inline bool IsTest3() const { return m_bTest3; } inline void SetTest3( bool b ) { m_bTest3 = b; } inline bool IsTest4() const { return m_bTest4; } inline void SetTest4( bool b ) { m_bTest4 = b; } inline bool IsTest5() const { return m_bTest5; } inline void SetTest5( bool b ) { m_bTest5 = b; } inline bool IsTest6() const { return m_bTest6; } inline void SetTest6( bool b ) { m_bTest6 = b; } inline bool IsTest7() const { return m_bTest7; } inline void SetTest7( bool b ) { m_bTest7 = b; } inline bool IsTest8() const { return m_bTest8; } inline void SetTest8( bool b ) { m_bTest8 = b; } static inline bool IsTest9() { return s_bTest9; } static inline void SetTest9( bool b ) { s_bTest9 = b; } inline bool IsTest10() const { return m_bTest10; } inline void SetTest10( bool b ) { m_bTest10 = b; } #endif inline sal_uInt16 GetZoom() const { return nZoom; } inline void SetZoom( sal_uInt16 n ){ nZoom = n; } void DrawRect( OutputDevice* pOut, const SwRect &rRect, long nCol ) const; void DrawRectPrinter( OutputDevice* pOut, const SwRect& rRect ) const; SwViewOption& operator=( const SwViewOption &rOpt ); // Compare methods. bool IsEqualFlags ( const SwViewOption &rOpt ) const; inline bool operator == ( const SwViewOption &rOpt ) const; inline bool operator != ( const SwViewOption &rOpt ) const { return !(*this == rOpt); } /*--------------------------------------------------------------------------- Options from nUIOptions ----------------------------------------------------------------------------*/ sal_Bool IsViewVScrollBar() const { #if HAVE_FEATURE_DESKTOP_GUI_ELEMENTS return nUIOptions & VIEWOPT_2_VSCROLLBAR ? sal_True : sal_False; #else return sal_False; #endif } sal_Bool IsViewHScrollBar() const { #if HAVE_FEATURE_DESKTOP_GUI_ELEMENTS return nUIOptions & VIEWOPT_2_HSCROLLBAR ? sal_True : sal_False; #else return sal_False; #endif } sal_Bool IsKeepRatio() const { return nUIOptions & VIEWOPT_2_KEEPASPECTRATIO ? sal_True : sal_False; } sal_Bool IsGrfKeepZoom() const { return nUIOptions & VIEWOPT_2_GRFKEEPZOOM ? sal_True : sal_False; } sal_Bool IsShowContentTips() const { return nUIOptions & VIEWOPT_2_CONTENT_TIPS ? sal_True : sal_False; } sal_Bool IsPrtFormat() const { return nUIOptions & VIEWOPT_2_PRTFORMAT ? sal_True : sal_False; } SvxZoomType GetZoomType() const { return eZoom; } sal_uInt8 GetTblDest() const { return nTblDest; } void SetViewVScrollBar(sal_Bool b) { b ? (nUIOptions |= VIEWOPT_2_VSCROLLBAR ) : ( nUIOptions &= ~VIEWOPT_2_VSCROLLBAR); } void SetViewHScrollBar(sal_Bool b) { b ? (nUIOptions |= VIEWOPT_2_HSCROLLBAR ) : ( nUIOptions &= ~VIEWOPT_2_HSCROLLBAR); } void SetKeepRatio (sal_Bool b) { b ? (nUIOptions |= VIEWOPT_2_KEEPASPECTRATIO ) : ( nUIOptions &= ~VIEWOPT_2_KEEPASPECTRATIO); } void SetGrfKeepZoom (sal_Bool b) { b ? (nUIOptions |= VIEWOPT_2_GRFKEEPZOOM ) : ( nUIOptions &= ~VIEWOPT_2_GRFKEEPZOOM); } void SetShowContentTips( sal_Bool b) { b ? (nUIOptions |= VIEWOPT_2_CONTENT_TIPS) : (nUIOptions &= ~VIEWOPT_2_CONTENT_TIPS); } void SetPrtFormat( sal_Bool b) { b ? (nUIOptions |= VIEWOPT_2_PRTFORMAT) : (nUIOptions &= ~VIEWOPT_2_PRTFORMAT); } void SetZoomType (SvxZoomType eZoom_){ eZoom = eZoom_; } void SetTblDest( sal_uInt8 nNew ) { nTblDest = nNew; } const OUString& GetSymbolFont() const {return sSymbolFont;} void SetSymbolFont(const OUString& sSet) {sSymbolFont = sSet;} const Color& GetRetoucheColor() const { return aRetoucheColor;} void SetRetoucheColor(const Color&r) { aRetoucheColor = r; } sal_Bool IsViewAnyRuler() const { #if HAVE_FEATURE_DESKTOP_GUI_ELEMENTS return 0 != (nUIOptions & VIEWOPT_2_ANY_RULER); #else return sal_False; #endif } void SetViewAnyRuler(sal_Bool bSet) { bSet ? (nUIOptions |= VIEWOPT_2_ANY_RULER) : (nUIOptions &= ~VIEWOPT_2_ANY_RULER);} sal_Bool IsViewHRuler(sal_Bool bDirect = sal_False) const { #if HAVE_FEATURE_DESKTOP_GUI_ELEMENTS sal_Bool bRet = sal::static_int_cast< sal_Bool >( bDirect ? 0 != (nUIOptions & VIEWOPT_2_H_RULER) : !bReadonly ? (nUIOptions & (VIEWOPT_2_ANY_RULER|VIEWOPT_2_H_RULER)) == (VIEWOPT_2_ANY_RULER|VIEWOPT_2_H_RULER) : sal_False ); return bRet; #else (void) bDirect; return sal_False; #endif } void SetViewHRuler (sal_Bool b) { b ? (nUIOptions |= VIEWOPT_2_H_RULER ) : ( nUIOptions &= ~VIEWOPT_2_H_RULER);} sal_Bool IsViewVRuler(sal_Bool bDirect = sal_False) const { #if HAVE_FEATURE_DESKTOP_GUI_ELEMENTS sal_Bool bRet = sal::static_int_cast< sal_Bool >( bDirect ? 0 !=(nUIOptions & VIEWOPT_2_V_RULER) : !bReadonly ? (nUIOptions & (VIEWOPT_2_ANY_RULER|VIEWOPT_2_V_RULER)) == (VIEWOPT_2_ANY_RULER|VIEWOPT_2_V_RULER) : sal_False ); return bRet; #else (void) bDirect; return sal_False; #endif } void SetViewVRuler (sal_Bool b) { b ? (nUIOptions |= VIEWOPT_2_V_RULER ) : ( nUIOptions &= ~VIEWOPT_2_V_RULER);} // ShadowCursor, switch on/off, get/set color/mode. sal_Bool IsShadowCursor() const { return nUIOptions & VIEWOPT_2_SHADOWCRSR ? sal_True : sal_False; } void SetShadowCursor(sal_Bool b) { b ? (nUIOptions |= VIEWOPT_2_SHADOWCRSR ) : ( nUIOptions &= ~VIEWOPT_2_SHADOWCRSR); } //move vertical ruler to the right sal_Bool IsVRulerRight() const { return nUIOptions & VIEWOPT_2_V_RULER_RIGHT ? sal_True : sal_False; } void SetVRulerRight(sal_Bool b) { b ? (nUIOptions |= VIEWOPT_2_V_RULER_RIGHT ) : ( nUIOptions &= ~VIEWOPT_2_V_RULER_RIGHT); } sal_Bool IsStarOneSetting() const {return bStarOneSetting; } void SetStarOneSetting(sal_Bool bSet) {bStarOneSetting = bSet; } sal_Bool IsPagePreview() const {return bIsPagePreview; } void SetPagePreview(sal_Bool bSet) { bIsPagePreview= bSet; } sal_uInt8 GetShdwCrsrFillMode() const { return nShdwCrsrFillMode; } void SetShdwCrsrFillMode( sal_uInt8 nMode ) { nShdwCrsrFillMode = nMode; }; sal_Bool IsShowPlaceHolderFields() const { return bShowPlaceHolderFields; } void SetShowPlaceHolderFields(sal_Bool bSet) { bShowPlaceHolderFields = bSet; } static Color& GetDocColor(); static Color& GetDocBoundariesColor(); static Color& GetAppBackgroundColor(); static Color& GetObjectBoundariesColor(); static Color& GetTableBoundariesColor(); static Color& GetIndexShadingsColor(); static Color& GetLinksColor(); static Color& GetVisitedLinksColor(); static Color& GetDirectCursorColor(); static Color& GetTextGridColor(); static Color& GetSpellColor(); static Color& GetSmarttagColor(); static Color& GetShadowColor(); SW_DLLPUBLIC static Color& GetFontColor(); static Color& GetFieldShadingsColor(); static Color& GetSectionBoundColor(); static Color& GetPageBreakColor(); static Color& GetHeaderFooterMarkColor(); static sal_Bool IsAppearanceFlag(sal_Int32 nFlag); static sal_Bool IsDocBoundaries() {return IsAppearanceFlag(VIEWOPT_DOC_BOUNDARIES);} static sal_Bool IsObjectBoundaries(){return IsAppearanceFlag(VIEWOPT_OBJECT_BOUNDARIES);} static sal_Bool IsTableBoundaries() {return IsAppearanceFlag(VIEWOPT_TABLE_BOUNDARIES );} static sal_Bool IsIndexShadings() {return IsAppearanceFlag(VIEWOPT_INDEX_SHADINGS );} static sal_Bool IsLinks() {return IsAppearanceFlag(VIEWOPT_LINKS );} static sal_Bool IsVisitedLinks() {return IsAppearanceFlag(VIEWOPT_VISITED_LINKS );} static sal_Bool IsFieldShadings() {return IsAppearanceFlag(VIEWOPT_FIELD_SHADINGS);} static sal_Bool IsSectionBoundaries() {return IsAppearanceFlag(VIEWOPT_SECTION_BOUNDARIES);} static sal_Bool IsShadow() {return IsAppearanceFlag(VIEWOPT_SHADOW );} static void SetAppearanceFlag(sal_Int32 nFlag, sal_Bool bSet, sal_Bool bSaveInConfig = sal_False); void SetDocBoundaries(sal_Bool bSet) {SetAppearanceFlag(VIEWOPT_DOC_BOUNDARIES, bSet);} static void ApplyColorConfigValues(const svtools::ColorConfig& rConfig); }; inline bool SwViewOption::operator==( const SwViewOption &rOpt ) const { return IsEqualFlags( rOpt ) && nZoom == rOpt.GetZoom(); } inline void SwViewOption::SetUIOptions( const SwViewOption& rVOpt ) { nUIOptions = rVOpt.nUIOptions; nTblDest = rVOpt.nTblDest; nShdwCrsrFillMode = rVOpt.nShdwCrsrFillMode; } // Helper function for checking HTML-capabilities. SW_DLLPUBLIC sal_uInt16 GetHtmlMode(const SwDocShell*); #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */