20#ifndef INCLUDED_VCL_MNEMONIC_HXX
21#define INCLUDED_VCL_MNEMONIC_HXX
23#include <com/sun/star/uno/Reference.h>
24#include <rtl/ustring.hxx>
31#define MNEMONIC_RANGE_1_START 0x30
32#define MNEMONIC_RANGE_1_END 0x39
34#define MNEMONIC_RANGE_2_START 0x61
35#define MNEMONIC_RANGE_2_END 0x7A
37#define MNEMONIC_RANGE_3_START 0x0430
38#define MNEMONIC_RANGE_3_END 0x044F
40#define MNEMONIC_RANGE_4_START 0x03B1
41#define MNEMONIC_RANGE_4_END 0x03CB
42#define MNEMONIC_RANGES 4
43#define MAX_MNEMONICS ((MNEMONIC_RANGE_1_END-MNEMONIC_RANGE_1_START+1)+\
44 (MNEMONIC_RANGE_2_END-MNEMONIC_RANGE_2_START+1)+\
45 (MNEMONIC_RANGE_3_END-MNEMONIC_RANGE_3_START+1)+\
46 (MNEMONIC_RANGE_4_END-MNEMONIC_RANGE_4_START+1))
48#define MNEMONIC_CHAR u'~'
49#define MNEMONIC_INDEX_NOTFOUND (sal_uInt16(0xFFFF))
59 css::uno::Reference< css::i18n::XCharacterClassification >
mxCharClass;
61 SAL_DLLPRIVATE
static sal_uInt16 ImplGetMnemonicIndex(
sal_Unicode c );
62 SAL_DLLPRIVATE
sal_Unicode ImplFindMnemonic(
const OUString& rKey );
70 void RegisterMnemonic(
const OUString& rKey );
71 [[nodiscard]] OUString CreateMnemonic(
const OUString& rKey);
72 css::uno::Reference< css::i18n::XCharacterClassification >
const & GetCharClass();
75 static OUString EraseAllMnemonicChars(
const OUString& rStr );
css::uno::Reference< css::i18n::XCharacterClassification > mxCharClass
MnemonicGenerator(MnemonicGenerator const &)
MnemonicGenerator & operator=(MnemonicGenerator const &)
VCL_DLLPUBLIC OUString removeMnemonicFromString(OUString const &rStr, sal_Int32 &rMnemonicPos)