Browse Source

Add SetIsChecked to AvnAppMenuItem

pull/3762/head
Michael Babienco 6 years ago
committed by Dan Walmsley
parent
commit
bc62352b76
  1. 1
      native/Avalonia.Native/inc/avalonia-native.h
  2. 2
      native/Avalonia.Native/src/OSX/menu.h
  3. 6
      native/Avalonia.Native/src/OSX/menu.mm

1
native/Avalonia.Native/inc/avalonia-native.h

@ -407,6 +407,7 @@ AVNCOM(IAvnAppMenuItem, 19) : IUnknown
virtual HRESULT SetTitle (void* utf8String) = 0;
virtual HRESULT SetGesture (void* utf8String, AvnInputModifiers modifiers) = 0;
virtual HRESULT SetAction (IAvnPredicateCallback* predicate, IAvnActionCallback* callback) = 0;
virtual HRESULT SetIsChecked (bool isChecked) = 0;
};
extern "C" IAvaloniaNativeFactory* CreateAvaloniaNative();

2
native/Avalonia.Native/src/OSX/menu.h

@ -46,6 +46,8 @@ public:
virtual HRESULT SetAction (IAvnPredicateCallback* predicate, IAvnActionCallback* callback) override;
virtual HRESULT SetIsChecked (bool isChecked) override;
bool EvaluateItemEnabled();
void RaiseOnClicked();

6
native/Avalonia.Native/src/OSX/menu.mm

@ -110,6 +110,12 @@ HRESULT AvnAppMenuItem::SetAction (IAvnPredicateCallback* predicate, IAvnActionC
return S_OK;
}
HRESULT AvnAppMenuItem::SetIsChecked (bool isChecked)
{
[_native setState:(isChecked ? NSOnState : NSOffState)];
return S_OK;
}
bool AvnAppMenuItem::EvaluateItemEnabled()
{
if(_predicate != nullptr)

Loading…
Cancel
Save