diff options
Diffstat (limited to 'sw/inc/IDocumentSettingAccess.hxx')
-rw-r--r-- | sw/inc/IDocumentSettingAccess.hxx | 212 |
1 files changed, 212 insertions, 0 deletions
diff --git a/sw/inc/IDocumentSettingAccess.hxx b/sw/inc/IDocumentSettingAccess.hxx new file mode 100644 index 000000000000..6be53158ddc8 --- /dev/null +++ b/sw/inc/IDocumentSettingAccess.hxx @@ -0,0 +1,212 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef IDOCUMENTSETTINGACCESS_HXX_INCLUDED +#define IDOCUMENTSETTINGACCESS_HXX_INCLUDED + +#include <tools/solar.h> +#ifndef _VOS_REF_HXX +#include <vos/ref.hxx> +#endif +#include <chcmprse.hxx> +#include <fldupde.hxx> + +class SvxForbiddenCharactersTable; +namespace com { namespace sun { namespace star { namespace i18n { struct ForbiddenCharacters; } } } } + + /** Provides access to settings of a document + */ + class IDocumentSettingAccess + { + public: + enum DocumentSettingId + { + // COMPATIBILITY FLAGS START + PARA_SPACE_MAX, + PARA_SPACE_MAX_AT_PAGES, + + TAB_COMPAT, + + ADD_FLY_OFFSETS, + + OLD_NUMBERING, + + ADD_EXT_LEADING, + USE_VIRTUAL_DEVICE, + USE_HIRES_VIRTUAL_DEVICE, + OLD_LINE_SPACING, + ADD_PARA_SPACING_TO_TABLE_CELLS, + USE_FORMER_OBJECT_POS, + USE_FORMER_TEXT_WRAPPING, + CONSIDER_WRAP_ON_OBJECT_POSITION, + + IGNORE_FIRST_LINE_INDENT_IN_NUMBERING, + DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK, + DO_NOT_RESET_PARA_ATTRS_FOR_NUM_FONT, + OUTLINE_LEVEL_YIELDS_OUTLINE_RULE, + + DO_NOT_CAPTURE_DRAW_OBJS_ON_PAGE, + TABLE_ROW_KEEP, + IGNORE_TABS_AND_BLANKS_FOR_LINE_CALCULATION, + CLIP_AS_CHARACTER_ANCHORED_WRITER_FLY_FRAME, + + UNIX_FORCE_ZERO_EXT_LEADING, + USE_OLD_PRINTER_METRICS, + TABS_RELATIVE_TO_INDENT, + PROTECT_FORM, + // --> OD 2008-06-05 #i89181# + TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST, + // <-- + // COMPATIBILITY FLAGS END + + BROWSE_MODE, + HTML_MODE, + GLOBAL_DOCUMENT, + GLOBAL_DOCUMENT_SAVE_LINKS, + LABEL_DOCUMENT, + PURGE_OLE, + KERN_ASIAN_PUNCTUATION + }; + + public: + /** Return the specified document setting. + + @param id + [in] the identifier of the document setting to be returned. + See above for a list of valid document setting identifiers. + + @returns + the value of the requested document setting. + */ + virtual bool get(/*[in]*/ DocumentSettingId id) const = 0; + + /** Set the specified document setting. + + @param id + [in] the identifier of the document setting to be set. + See above for a list of valid document setting identifiers. + + @param value + [in] the new value of the specified document setting. + */ + virtual void set(/*[in]*/ DocumentSettingId id, /*[in]*/ bool value) = 0; + + /** Return the forbidden characters. + + @param nLang + [in] the language for which the forbidden character list is returned. + + @param bLocaleData + [in] if set and there is no user defined forbidden character list for + language lang, the default list for language lang will be returned. + + @returns + a list of forbidden characters. + */ + virtual const com::sun::star::i18n::ForbiddenCharacters* + getForbiddenCharacters(/*[in]*/ USHORT nLang, /*[in]*/ bool bLocaleData ) const = 0; + + /** Set the forbidden characters. + + @param nLang + [in] the language for which the forbidden character list should be set. + + @param rForbiddenCharacters + [in] the new list of forbidden characters for language lang. + */ + virtual void setForbiddenCharacters(/*[in]*/ USHORT nLang, + /*[in]*/ const com::sun::star::i18n::ForbiddenCharacters& rForbiddenCharacters ) = 0; + + /** Get the forbidden character table and creates one if necessary. + + @returns + the forbidden characters table. + */ + virtual vos::ORef<SvxForbiddenCharactersTable>& getForbiddenCharacterTable() = 0; + + /** Get the forbidden character table. + + @returns + the forbidden characters table. + */ + virtual const vos::ORef<SvxForbiddenCharactersTable>& getForbiddenCharacterTable() const = 0; + + /** Get the current link update mode. + + @param bGlobalSettings + [in] if set, the link update mode is obtained from the module, + if it is set to GLOBALSETTING + + @returns + the current link update mode. + */ + virtual sal_uInt16 getLinkUpdateMode( /*[in]*/bool bGlobalSettings ) const = 0; + + /** Set the current link update mode. + + @param nMode + [in] the new link update mode. + */ + virtual void setLinkUpdateMode( /*[in]*/ sal_uInt16 nMode ) = 0; + + /** Get the current field update mode. + + @param bGlobalSettings + [in] if set, the field update mode is obtained from the module, + if it is set to GLOBALSETTING + + @returns + the current field update mode. + */ + virtual SwFldUpdateFlags getFieldUpdateFlags( /*[in]*/bool bGlobalSettings ) const = 0; + + /** Set the current field update mode. + + @param nMode + [in] the new field update mode. + */ + virtual void setFieldUpdateFlags( /*[in]*/ SwFldUpdateFlags nMode ) = 0; + + /** Get the character compression type for Asian characters. + + @returns + the current character compression mode. + */ + virtual SwCharCompressType getCharacterCompressionType() const = 0; + + /** Set the character compression type for Asian characters. + + @param nMode + [in] the new character compression type. + */ + virtual void setCharacterCompressionType( /*[in]*/SwCharCompressType nType ) = 0; + +protected: + virtual ~IDocumentSettingAccess() {}; + }; + + #endif // IDOCUMENTSETTINGACCESS_HXX_INCLUDED |