Browse Source

Merge branch 'master' into feature/windowstate-fullscreen

pull/3849/head
danwalmsley 7 years ago
committed by GitHub
parent
commit
5b4a060f6e
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      native/Avalonia.Native/src/OSX/window.h
  2. 20
      native/Avalonia.Native/src/OSX/window.mm

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

@ -19,6 +19,8 @@ class WindowBaseImpl;
-(void) pollModalSession: (NSModalSession _Nonnull) session;
-(void) restoreParentWindow;
-(bool) shouldTryToHandleEvents;
-(bool) isModal;
-(void) setModal: (bool) isModal;
-(void) showAppMenuOnly;
-(void) showWindowMenuWithAppMenu;
-(void) applyMenu:(NSMenu* _Nullable)menu;

20
native/Avalonia.Native/src/OSX/window.mm

@ -440,6 +440,9 @@ private:
{
if([Window parentWindow] != nil)
[[Window parentWindow] removeChildWindow:Window];
[Window setModal:FALSE];
WindowBaseImpl::Show();
return SetWindowState(_lastWindowState);
@ -457,6 +460,8 @@ private:
if(cparent == nullptr)
return E_INVALIDARG;
[Window setModal:TRUE];
[cparent->Window addChildWindow:Window ordered:NSWindowAbove];
WindowBaseImpl::Show();
@ -1253,6 +1258,7 @@ NSArray* AllLoopModes = [NSArray arrayWithObjects: NSDefaultRunLoopMode, NSEvent
ComPtr<WindowBaseImpl> _parent;
bool _canBecomeKeyAndMain;
bool _closed;
bool _isModal;
AvnMenu* _menu;
double _lastScaling;
}
@ -1445,11 +1451,25 @@ NSArray* AllLoopModes = [NSArray arrayWithObjects: NSDefaultRunLoopMode, NSEvent
auto ch = objc_cast<AvnWindow>(uch);
if(ch == nil)
continue;
if(![ch isModal])
continue;
return FALSE;
}
return TRUE;
}
-(bool) isModal
{
return _isModal;
}
-(void) setModal: (bool) isModal
{
_isModal = isModal;
}
-(void)makeKeyWindow
{
if([self activateAppropriateChild: true])

Loading…
Cancel
Save