36 if (aUserValueReleaseFunc)
37 aUserValueReleaseFunc(nUserValue);
39 pSubMenu.disposeAndClear();
44 if (aTextGlyphs.IsValid())
49 std::unique_ptr<SalLayout> pLayout
50 = pOutputDevice->
ImplLayout(aNonMnemonicString, 0, aNonMnemonicString.getLength(),
56 aTextGlyphs = pLayout->GetGlyphs();
89 aSalMIData.
eType = eType;
90 aSalMIData.
nBits = nBits;
91 aSalMIData.
pMenu = pMenu;
92 aSalMIData.
aText = rStr;
97 if( nPos < maItemList.size() ) {
98 maItemList.insert( maItemList.begin() + nPos, std::unique_ptr<MenuItemData>(pData) );
100 maItemList.emplace_back( pData );
123 aSalMIData.
pMenu =
nullptr;
124 aSalMIData.
aText.clear();
130 if( nPos < maItemList.size() ) {
131 maItemList.insert( maItemList.begin() + nPos, std::unique_ptr<MenuItemData>(pData) );
133 maItemList.emplace_back( pData );
139 if( nPos < maItemList.size() )
141 maItemList.erase( maItemList.begin() + nPos );
152 for(
size_t i = 0,
n = maItemList.size();
i <
n; ++
i )
154 if ( maItemList[
i ]->
nId == nSVId )
157 return maItemList[
i ].get();
173 size_t nListCount = maItemList.size();
176 nDuplicates = GetItemCount( cSelectChar );
181 for ( rPos = 0; rPos < nListCount; rPos++)
186 if (nDuplicates == 1)
188 if (rPos > nCurrentPos)
205 nDuplicates = GetItemCount( aKeyCode );
211 ascii = sal::static_int_cast<char>(
'A' + (aKeyCode.
GetCode() -
KEY_A));
215 for ( rPos = 0; rPos < nListCount; rPos++)
220 sal_Int32
n = pData->
aText.indexOf(
'~');
236 if (nDuplicates == 1)
238 if (rPos > nCurrentPos)
265 for (
size_t nPos = maItemList.size();
nPos; )
282 ascii = sal::static_int_cast<char>(
'A' + (aKeyCode.
GetCode() -
KEY_A));
285 for (
size_t nPos = maItemList.size();
nPos; )
290 sal_Int32
n = pData->
aText.indexOf(
'~');
const LanguageTag & GetUILanguageTag() const
std::unique_ptr< ContentProperties > pData
LanguageType getLanguageType(bool bResolveSystem=true) const
static const AllSettings & GetSettings()
Gets the application's settings.
constexpr sal_uInt16 KEY_A
virtual std::unique_ptr< SalMenuItem > CreateMenuItem(const SalItemParams &pItemData)
sal_uInt16 GetCode() const
const vcl::I18nHelper & GetUILocaleI18nHelper() const
ImplSVData * ImplGetSVData()
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
bool MatchMnemonic(const OUString &rString, sal_Unicode cMnemonicChar) const
std::unique_ptr< SalLayout > ImplLayout(const OUString &, sal_Int32 nIndex, sal_Int32 nLen, const Point &rLogicPos=Point(0, 0), tools::Long nLogicWidth=0, const tools::Long *pLogicDXArray=nullptr, SalLayoutFlags flags=SalLayoutFlags::NONE, vcl::TextLayoutCache const *=nullptr, const SalLayoutGlyphs *pGlyphs=nullptr) const
SalFrame * ImplGetFrame() const
constexpr sal_uInt16 KEY_Z
virtual bool MapUnicodeToKeyCode(sal_Unicode aUnicode, LanguageType aLangType, vcl::KeyCode &rKeyCode)=0
static OUString GetNonMnemonicString(const OUString &rStr, sal_Int32 &rMnemonicPos)
vcl::Window * ImplGetDefaultWindow()
Returns either the application window, or the default GL context window.