2010-10-14 01:30:41 -05:00
|
|
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2006-08-14 09:13:28 -05:00
|
|
|
/*************************************************************************
|
2007-05-10 07:09:58 -05:00
|
|
|
*
|
2008-04-10 04:40:08 -05:00
|
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
2006-08-14 09:13:28 -05:00
|
|
|
*
|
2010-02-12 08:01:35 -06:00
|
|
|
* Copyright 2000, 2010 Oracle and/or its affiliates.
|
2006-08-14 09:13:28 -05:00
|
|
|
*
|
2008-04-10 04:40:08 -05:00
|
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
2006-08-14 09:13:28 -05:00
|
|
|
*
|
2008-04-10 04:40:08 -05:00
|
|
|
* This file is part of OpenOffice.org.
|
2006-08-14 09:13:28 -05:00
|
|
|
*
|
2008-04-10 04:40:08 -05:00
|
|
|
* 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.
|
2006-08-14 09:13:28 -05:00
|
|
|
*
|
2008-04-10 04:40:08 -05:00
|
|
|
* 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).
|
2006-08-14 09:13:28 -05:00
|
|
|
*
|
2008-04-10 04:40:08 -05:00
|
|
|
* 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.
|
2006-08-14 09:13:28 -05:00
|
|
|
*
|
|
|
|
************************************************************************/
|
|
|
|
|
|
|
|
#ifndef IDOCUMENTSETTINGACCESS_HXX_INCLUDED
|
|
|
|
#define IDOCUMENTSETTINGACCESS_HXX_INCLUDED
|
|
|
|
|
|
|
|
#include <tools/solar.h>
|
2010-10-15 11:44:38 -05:00
|
|
|
#include <rtl/ref.hxx>
|
2006-08-14 09:13:28 -05:00
|
|
|
#include <chcmprse.hxx>
|
2007-09-27 01:54:04 -05:00
|
|
|
#include <fldupde.hxx>
|
2006-08-14 09:13:28 -05:00
|
|
|
|
|
|
|
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,
|
2006-10-27 05:58:22 -05:00
|
|
|
|
|
|
|
UNIX_FORCE_ZERO_EXT_LEADING,
|
2007-06-20 04:10:38 -05:00
|
|
|
USE_OLD_PRINTER_METRICS,
|
2008-01-10 05:27:36 -06:00
|
|
|
TABS_RELATIVE_TO_INDENT,
|
2008-09-04 04:15:49 -05:00
|
|
|
PROTECT_FORM,
|
2010-11-15 05:59:57 -06:00
|
|
|
// #i89181#
|
2008-07-08 02:17:09 -05:00
|
|
|
TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST,
|
2011-10-31 11:39:16 -05:00
|
|
|
INVERT_BORDER_SPACING,
|
2010-09-14 07:40:15 -05:00
|
|
|
COLLAPSE_EMPTY_CELL_PARA,
|
2011-05-20 07:44:03 -05:00
|
|
|
SMALL_CAPS_PERCENTAGE_66,
|
2011-10-31 11:39:16 -05:00
|
|
|
TAB_OVERFLOW,
|
2011-11-10 09:10:25 -06:00
|
|
|
UNBREAKABLE_NUMBERINGS,
|
2006-08-14 09:13:28 -05:00
|
|
|
// COMPATIBILITY FLAGS END
|
|
|
|
|
|
|
|
BROWSE_MODE,
|
|
|
|
HTML_MODE,
|
|
|
|
GLOBAL_DOCUMENT,
|
|
|
|
GLOBAL_DOCUMENT_SAVE_LINKS,
|
|
|
|
LABEL_DOCUMENT,
|
|
|
|
PURGE_OLE,
|
2010-11-03 09:50:00 -05:00
|
|
|
KERN_ASIAN_PUNCTUATION,
|
|
|
|
MATH_BASELINE_ALIGNMENT
|
2006-08-14 09:13:28 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
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*
|
2011-01-17 08:06:54 -06:00
|
|
|
getForbiddenCharacters(/*[in]*/ sal_uInt16 nLang, /*[in]*/ bool bLocaleData ) const = 0;
|
2006-08-14 09:13:28 -05:00
|
|
|
|
|
|
|
/** 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.
|
|
|
|
*/
|
2011-01-17 08:06:54 -06:00
|
|
|
virtual void setForbiddenCharacters(/*[in]*/ sal_uInt16 nLang,
|
2006-08-14 09:13:28 -05:00
|
|
|
/*[in]*/ const com::sun::star::i18n::ForbiddenCharacters& rForbiddenCharacters ) = 0;
|
|
|
|
|
|
|
|
/** Get the forbidden character table and creates one if necessary.
|
|
|
|
|
|
|
|
@returns
|
|
|
|
the forbidden characters table.
|
|
|
|
*/
|
2010-10-15 11:44:38 -05:00
|
|
|
virtual rtl::Reference<SvxForbiddenCharactersTable>& getForbiddenCharacterTable() = 0;
|
2006-08-14 09:13:28 -05:00
|
|
|
|
|
|
|
/** Get the forbidden character table.
|
|
|
|
|
|
|
|
@returns
|
|
|
|
the forbidden characters table.
|
|
|
|
*/
|
2010-10-15 11:44:38 -05:00
|
|
|
virtual const rtl::Reference<SvxForbiddenCharactersTable>& getForbiddenCharacterTable() const = 0;
|
2006-08-14 09:13:28 -05:00
|
|
|
|
|
|
|
/** 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.
|
|
|
|
*/
|
2007-09-27 01:54:04 -05:00
|
|
|
virtual SwFldUpdateFlags getFieldUpdateFlags( /*[in]*/bool bGlobalSettings ) const = 0;
|
2006-08-14 09:13:28 -05:00
|
|
|
|
|
|
|
/** Set the current field update mode.
|
|
|
|
|
|
|
|
@param nMode
|
|
|
|
[in] the new field update mode.
|
|
|
|
*/
|
2007-09-27 01:54:04 -05:00
|
|
|
virtual void setFieldUpdateFlags( /*[in]*/ SwFldUpdateFlags nMode ) = 0;
|
2006-08-14 09:13:28 -05:00
|
|
|
|
|
|
|
/** 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() {};
|
|
|
|
};
|
|
|
|
|
2010-11-04 03:22:42 -05:00
|
|
|
#endif // IDOCUMENTSETTINGACCESS_HXX_INCLUDED
|
2010-10-14 01:30:41 -05:00
|
|
|
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|