fdo#74697 Add Bluez 5 support for impress remote.
[LibreOffice.git] / include / svl / languageoptions.hxx
blobef8fb1b4ae5d743867a10e633107ad1842184a4a
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
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
37 class SvtCJKOptions;
38 class SvtCTLOptions;
40 class SVL_DLLPUBLIC SvtLanguageOptions : public ::utl::detail::Options
42 private:
43 SvtCJKOptions* m_pCJKOptions;
44 SvtCTLOptions* m_pCTLOptions;
46 public:
47 enum EOption
49 // cjk options
50 E_CJKFONT,
51 E_VERTICALTEXT,
52 E_ASIANTYPOGRAPHY,
53 E_JAPANESEFIND,
54 E_RUBY,
55 E_CHANGECASEMAP,
56 E_DOUBLELINES,
57 E_EMPHASISMARKS,
58 E_VERTICALCALLOUT,
59 E_ALLCJK,
60 // ctl options
61 E_CTLFONT,
62 E_CTLSEQUENCECHECKING,
63 E_CTLCURSORMOVEMENT,
64 E_CTLTEXTNUMERALS
67 // bDontLoad is for referencing purposes only
68 SvtLanguageOptions( sal_Bool _bDontLoad = sal_False );
69 ~SvtLanguageOptions();
71 // CJK options
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;
79 // CTL options
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
98 private:
99 OUString m_sWin16SystemLocale;
101 public:
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: */