1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2 /* 3 * This file is part of the LibreOffice project. 4 * 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/. 8 * 9 * This file incorporates work covered by the following license notice: 10 * 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 . 18 */ 19 #ifndef INCLUDED_SVL_CTLOPTIONS_HXX 20 #define INCLUDED_SVL_CTLOPTIONS_HXX 21 22 #include <svl/svldllapi.h> 23 #include <unotools/options.hxx> 24 #include <memory> 25 26 class SvtCTLOptions_Impl; 27 28 // class SvtCTLOptions -------------------------------------------------------- 29 30 class SVL_DLLPUBLIC SvtCTLOptions final : public utl::detail::Options 31 { 32 private: 33 std::shared_ptr<SvtCTLOptions_Impl> m_pImpl; 34 35 public: 36 37 // bDontLoad is for referencing purposes only 38 SvtCTLOptions( bool bDontLoad = false ); 39 virtual ~SvtCTLOptions() override; 40 41 void SetCTLFontEnabled( bool _bEnabled ); 42 bool IsCTLFontEnabled() const; 43 44 void SetCTLSequenceChecking( bool _bEnabled ); 45 bool IsCTLSequenceChecking() const; 46 47 void SetCTLSequenceCheckingRestricted( bool _bEnable ); 48 bool IsCTLSequenceCheckingRestricted() const; 49 50 void SetCTLSequenceCheckingTypeAndReplace( bool _bEnable ); 51 bool IsCTLSequenceCheckingTypeAndReplace() const; 52 53 enum CursorMovement 54 { 55 MOVEMENT_LOGICAL = 0, 56 MOVEMENT_VISUAL 57 }; 58 void SetCTLCursorMovement( CursorMovement _eMovement ); 59 CursorMovement GetCTLCursorMovement() const; 60 61 enum TextNumerals 62 { 63 NUMERALS_ARABIC = 0, 64 NUMERALS_HINDI, 65 NUMERALS_SYSTEM, 66 NUMERALS_CONTEXT 67 }; 68 void SetCTLTextNumerals( TextNumerals _eNumerals ); 69 TextNumerals GetCTLTextNumerals() const; 70 71 enum EOption 72 { 73 E_CTLFONT, 74 E_CTLSEQUENCECHECKING, 75 E_CTLCURSORMOVEMENT, 76 E_CTLTEXTNUMERALS, 77 E_CTLSEQUENCECHECKINGRESTRICTED, 78 E_CTLSEQUENCECHECKINGTYPEANDREPLACE 79 }; 80 bool IsReadOnly(EOption eOption) const; 81 }; 82 83 #endif // INCLUDED_SVL_CTLOPTIONS_HXX 84 85 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 86