1*1d2dbeb0SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*1d2dbeb0SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*1d2dbeb0SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*1d2dbeb0SAndrew Rist * distributed with this work for additional information 6*1d2dbeb0SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*1d2dbeb0SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*1d2dbeb0SAndrew Rist * "License"); you may not use this file except in compliance 9*1d2dbeb0SAndrew Rist * with the License. You may obtain a copy of the License at 10*1d2dbeb0SAndrew Rist * 11*1d2dbeb0SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*1d2dbeb0SAndrew Rist * 13*1d2dbeb0SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*1d2dbeb0SAndrew Rist * software distributed under the License is distributed on an 15*1d2dbeb0SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*1d2dbeb0SAndrew Rist * KIND, either express or implied. See the License for the 17*1d2dbeb0SAndrew Rist * specific language governing permissions and limitations 18*1d2dbeb0SAndrew Rist * under the License. 19*1d2dbeb0SAndrew Rist * 20*1d2dbeb0SAndrew Rist *************************************************************/ 21*1d2dbeb0SAndrew Rist 22*1d2dbeb0SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef IDOCUMENTSETTINGACCESS_HXX_INCLUDED 25cdf0e10cSrcweir #define IDOCUMENTSETTINGACCESS_HXX_INCLUDED 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include <tools/solar.h> 28cdf0e10cSrcweir #ifndef _VOS_REF_HXX 29cdf0e10cSrcweir #include <vos/ref.hxx> 30cdf0e10cSrcweir #endif 31cdf0e10cSrcweir #include <chcmprse.hxx> 32cdf0e10cSrcweir #include <fldupde.hxx> 33cdf0e10cSrcweir 34cdf0e10cSrcweir class SvxForbiddenCharactersTable; 35cdf0e10cSrcweir namespace com { namespace sun { namespace star { namespace i18n { struct ForbiddenCharacters; } } } } 36cdf0e10cSrcweir 37cdf0e10cSrcweir /** Provides access to settings of a document 38cdf0e10cSrcweir */ 39cdf0e10cSrcweir class IDocumentSettingAccess 40cdf0e10cSrcweir { 41cdf0e10cSrcweir public: 42cdf0e10cSrcweir enum DocumentSettingId 43cdf0e10cSrcweir { 44cdf0e10cSrcweir // COMPATIBILITY FLAGS START 45cdf0e10cSrcweir PARA_SPACE_MAX, 46cdf0e10cSrcweir PARA_SPACE_MAX_AT_PAGES, 47cdf0e10cSrcweir 48cdf0e10cSrcweir TAB_COMPAT, 49cdf0e10cSrcweir 50cdf0e10cSrcweir ADD_FLY_OFFSETS, 51cdf0e10cSrcweir 52cdf0e10cSrcweir OLD_NUMBERING, 53cdf0e10cSrcweir 54cdf0e10cSrcweir ADD_EXT_LEADING, 55cdf0e10cSrcweir USE_VIRTUAL_DEVICE, 56cdf0e10cSrcweir USE_HIRES_VIRTUAL_DEVICE, 57cdf0e10cSrcweir OLD_LINE_SPACING, 58cdf0e10cSrcweir ADD_PARA_SPACING_TO_TABLE_CELLS, 59cdf0e10cSrcweir USE_FORMER_OBJECT_POS, 60cdf0e10cSrcweir USE_FORMER_TEXT_WRAPPING, 61cdf0e10cSrcweir CONSIDER_WRAP_ON_OBJECT_POSITION, 62cdf0e10cSrcweir 63cdf0e10cSrcweir IGNORE_FIRST_LINE_INDENT_IN_NUMBERING, 64cdf0e10cSrcweir DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK, 65cdf0e10cSrcweir DO_NOT_RESET_PARA_ATTRS_FOR_NUM_FONT, 66cdf0e10cSrcweir OUTLINE_LEVEL_YIELDS_OUTLINE_RULE, 67cdf0e10cSrcweir 68cdf0e10cSrcweir DO_NOT_CAPTURE_DRAW_OBJS_ON_PAGE, 69cdf0e10cSrcweir TABLE_ROW_KEEP, 70cdf0e10cSrcweir IGNORE_TABS_AND_BLANKS_FOR_LINE_CALCULATION, 71cdf0e10cSrcweir CLIP_AS_CHARACTER_ANCHORED_WRITER_FLY_FRAME, 72cdf0e10cSrcweir 73cdf0e10cSrcweir UNIX_FORCE_ZERO_EXT_LEADING, 74cdf0e10cSrcweir USE_OLD_PRINTER_METRICS, 75cdf0e10cSrcweir TABS_RELATIVE_TO_INDENT, 76cdf0e10cSrcweir PROTECT_FORM, 77cdf0e10cSrcweir // --> OD 2008-06-05 #i89181# 78cdf0e10cSrcweir TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST, 79cdf0e10cSrcweir // <-- 80cdf0e10cSrcweir // COMPATIBILITY FLAGS END 81cdf0e10cSrcweir 82cdf0e10cSrcweir BROWSE_MODE, 83cdf0e10cSrcweir HTML_MODE, 84cdf0e10cSrcweir GLOBAL_DOCUMENT, 85cdf0e10cSrcweir GLOBAL_DOCUMENT_SAVE_LINKS, 86cdf0e10cSrcweir LABEL_DOCUMENT, 87cdf0e10cSrcweir PURGE_OLE, 88cdf0e10cSrcweir KERN_ASIAN_PUNCTUATION, 89cdf0e10cSrcweir MATH_BASELINE_ALIGNMENT 90cdf0e10cSrcweir }; 91cdf0e10cSrcweir 92cdf0e10cSrcweir public: 93cdf0e10cSrcweir /** Return the specified document setting. 94cdf0e10cSrcweir 95cdf0e10cSrcweir @param id 96cdf0e10cSrcweir [in] the identifier of the document setting to be returned. 97cdf0e10cSrcweir See above for a list of valid document setting identifiers. 98cdf0e10cSrcweir 99cdf0e10cSrcweir @returns 100cdf0e10cSrcweir the value of the requested document setting. 101cdf0e10cSrcweir */ 102cdf0e10cSrcweir virtual bool get(/*[in]*/ DocumentSettingId id) const = 0; 103cdf0e10cSrcweir 104cdf0e10cSrcweir /** Set the specified document setting. 105cdf0e10cSrcweir 106cdf0e10cSrcweir @param id 107cdf0e10cSrcweir [in] the identifier of the document setting to be set. 108cdf0e10cSrcweir See above for a list of valid document setting identifiers. 109cdf0e10cSrcweir 110cdf0e10cSrcweir @param value 111cdf0e10cSrcweir [in] the new value of the specified document setting. 112cdf0e10cSrcweir */ 113cdf0e10cSrcweir virtual void set(/*[in]*/ DocumentSettingId id, /*[in]*/ bool value) = 0; 114cdf0e10cSrcweir 115cdf0e10cSrcweir /** Return the forbidden characters. 116cdf0e10cSrcweir 117cdf0e10cSrcweir @param nLang 118cdf0e10cSrcweir [in] the language for which the forbidden character list is returned. 119cdf0e10cSrcweir 120cdf0e10cSrcweir @param bLocaleData 121cdf0e10cSrcweir [in] if set and there is no user defined forbidden character list for 122cdf0e10cSrcweir language lang, the default list for language lang will be returned. 123cdf0e10cSrcweir 124cdf0e10cSrcweir @returns 125cdf0e10cSrcweir a list of forbidden characters. 126cdf0e10cSrcweir */ 127cdf0e10cSrcweir virtual const com::sun::star::i18n::ForbiddenCharacters* 128cdf0e10cSrcweir getForbiddenCharacters(/*[in]*/ sal_uInt16 nLang, /*[in]*/ bool bLocaleData ) const = 0; 129cdf0e10cSrcweir 130cdf0e10cSrcweir /** Set the forbidden characters. 131cdf0e10cSrcweir 132cdf0e10cSrcweir @param nLang 133cdf0e10cSrcweir [in] the language for which the forbidden character list should be set. 134cdf0e10cSrcweir 135cdf0e10cSrcweir @param rForbiddenCharacters 136cdf0e10cSrcweir [in] the new list of forbidden characters for language lang. 137cdf0e10cSrcweir */ 138cdf0e10cSrcweir virtual void setForbiddenCharacters(/*[in]*/ sal_uInt16 nLang, 139cdf0e10cSrcweir /*[in]*/ const com::sun::star::i18n::ForbiddenCharacters& rForbiddenCharacters ) = 0; 140cdf0e10cSrcweir 141cdf0e10cSrcweir /** Get the forbidden character table and creates one if necessary. 142cdf0e10cSrcweir 143cdf0e10cSrcweir @returns 144cdf0e10cSrcweir the forbidden characters table. 145cdf0e10cSrcweir */ 146cdf0e10cSrcweir virtual vos::ORef<SvxForbiddenCharactersTable>& getForbiddenCharacterTable() = 0; 147cdf0e10cSrcweir 148cdf0e10cSrcweir /** Get the forbidden character table. 149cdf0e10cSrcweir 150cdf0e10cSrcweir @returns 151cdf0e10cSrcweir the forbidden characters table. 152cdf0e10cSrcweir */ 153cdf0e10cSrcweir virtual const vos::ORef<SvxForbiddenCharactersTable>& getForbiddenCharacterTable() const = 0; 154cdf0e10cSrcweir 155cdf0e10cSrcweir /** Get the current link update mode. 156cdf0e10cSrcweir 157cdf0e10cSrcweir @param bGlobalSettings 158cdf0e10cSrcweir [in] if set, the link update mode is obtained from the module, 159cdf0e10cSrcweir if it is set to GLOBALSETTING 160cdf0e10cSrcweir 161cdf0e10cSrcweir @returns 162cdf0e10cSrcweir the current link update mode. 163cdf0e10cSrcweir */ 164cdf0e10cSrcweir virtual sal_uInt16 getLinkUpdateMode( /*[in]*/bool bGlobalSettings ) const = 0; 165cdf0e10cSrcweir 166cdf0e10cSrcweir /** Set the current link update mode. 167cdf0e10cSrcweir 168cdf0e10cSrcweir @param nMode 169cdf0e10cSrcweir [in] the new link update mode. 170cdf0e10cSrcweir */ 171cdf0e10cSrcweir virtual void setLinkUpdateMode( /*[in]*/ sal_uInt16 nMode ) = 0; 172cdf0e10cSrcweir 173cdf0e10cSrcweir /** Get the current field update mode. 174cdf0e10cSrcweir 175cdf0e10cSrcweir @param bGlobalSettings 176cdf0e10cSrcweir [in] if set, the field update mode is obtained from the module, 177cdf0e10cSrcweir if it is set to GLOBALSETTING 178cdf0e10cSrcweir 179cdf0e10cSrcweir @returns 180cdf0e10cSrcweir the current field update mode. 181cdf0e10cSrcweir */ 182cdf0e10cSrcweir virtual SwFldUpdateFlags getFieldUpdateFlags( /*[in]*/bool bGlobalSettings ) const = 0; 183cdf0e10cSrcweir 184cdf0e10cSrcweir /** Set the current field update mode. 185cdf0e10cSrcweir 186cdf0e10cSrcweir @param nMode 187cdf0e10cSrcweir [in] the new field update mode. 188cdf0e10cSrcweir */ 189cdf0e10cSrcweir virtual void setFieldUpdateFlags( /*[in]*/ SwFldUpdateFlags nMode ) = 0; 190cdf0e10cSrcweir 191cdf0e10cSrcweir /** Get the character compression type for Asian characters. 192cdf0e10cSrcweir 193cdf0e10cSrcweir @returns 194cdf0e10cSrcweir the current character compression mode. 195cdf0e10cSrcweir */ 196cdf0e10cSrcweir virtual SwCharCompressType getCharacterCompressionType() const = 0; 197cdf0e10cSrcweir 198cdf0e10cSrcweir /** Set the character compression type for Asian characters. 199cdf0e10cSrcweir 200cdf0e10cSrcweir @param nMode 201cdf0e10cSrcweir [in] the new character compression type. 202cdf0e10cSrcweir */ 203cdf0e10cSrcweir virtual void setCharacterCompressionType( /*[in]*/SwCharCompressType nType ) = 0; 204cdf0e10cSrcweir 205cdf0e10cSrcweir protected: ~IDocumentSettingAccess()206cdf0e10cSrcweir virtual ~IDocumentSettingAccess() {}; 207cdf0e10cSrcweir }; 208cdf0e10cSrcweir 209cdf0e10cSrcweir #endif // IDOCUMENTSETTINGACCESS_HXX_INCLUDED 210