1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef _SVTOOLS_LANGUAGEOPTIONS_HXX
20 #define _SVTOOLS_LANGUAGEOPTIONS_HXX
22 #include "svl/svldllapi.h"
23 #include <sal/types.h>
24 #include <svl/brdcst.hxx>
25 #include <svl/lstner.hxx>
26 #include <unotools/configitem.hxx>
27 #include <unotools/options.hxx>
28 #include <i18nlangtag/lang.h>
30 // class SvtLanguageOptions ----------------------------------------------------
32 // these defines can be ored
33 #define SCRIPTTYPE_LATIN 0x01
34 #define SCRIPTTYPE_ASIAN 0x02
35 #define SCRIPTTYPE_COMPLEX 0x04
40 class SVL_DLLPUBLIC SvtLanguageOptions
: public ::utl::detail::Options
43 SvtCJKOptions
* m_pCJKOptions
;
44 SvtCTLOptions
* m_pCTLOptions
;
62 E_CTLSEQUENCECHECKING
,
67 // bDontLoad is for referencing purposes only
68 SvtLanguageOptions( sal_Bool _bDontLoad
= sal_False
);
69 ~SvtLanguageOptions();
72 sal_Bool
IsCJKFontEnabled() const;
73 sal_Bool
IsVerticalTextEnabled() const;
74 sal_Bool
IsAsianTypographyEnabled() const;
75 sal_Bool
IsJapaneseFindEnabled() const;
76 void SetAll( sal_Bool _bSet
);
77 sal_Bool
IsAnyEnabled() const;
80 void SetCTLFontEnabled( sal_Bool _bEnabled
);
81 sal_Bool
IsCTLFontEnabled() const;
83 void SetCTLSequenceChecking( sal_Bool _bEnabled
);
85 void SetCTLSequenceCheckingRestricted( sal_Bool _bEnable
);
87 void SetCTLSequenceCheckingTypeAndReplace( sal_Bool _bEnable
);
89 sal_Bool
IsReadOnly(EOption eOption
) const;
91 // returns for a language the scripttype
92 static sal_uInt16
GetScriptTypeOfLanguage( sal_uInt16 nLang
);
94 /** #i42730# Gives access to the Windows 16bit system locale
96 class SVL_DLLPUBLIC SvtSystemLanguageOptions
: public utl::ConfigItem
99 OUString m_sWin16SystemLocale
;
102 SvtSystemLanguageOptions();
103 ~SvtSystemLanguageOptions();
105 virtual void Commit();
106 virtual void Notify( const com::sun::star::uno::Sequence
< OUString
>& rPropertyNames
);
108 LanguageType
GetWin16SystemLanguage();
111 #endif // _SVTOOLS_LANGUAGEOPTIONS_HXX
113 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */