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))
57 css::uno::Reference< css::i18n::XCharacterClassification >
mxCharClass;
59 SAL_DLLPRIVATE
static sal_uInt16 ImplGetMnemonicIndex(
sal_Unicode c );
60 SAL_DLLPRIVATE
sal_Unicode ImplFindMnemonic(
const OUString& rKey );
65 void RegisterMnemonic(
const OUString& rKey );
66 [[nodiscard]] OUString CreateMnemonic(
const OUString& rKey);
67 css::uno::Reference< css::i18n::XCharacterClassification >
const & GetCharClass();
70 static OUString EraseAllMnemonicChars(
const OUString& rStr );
73 #endif // INCLUDED_VCL_MNEMONIC_HXX
css::uno::Reference< css::i18n::XCharacterClassification > mxCharClass