Browse Source
Merge pull request #8258 from AvaloniaUI/fixes/osx-keyboard-input
OSX: fix call to virtual method from ctor.
pull/8264/head
Dan Walmsley
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with
5 additions and
16 deletions
-
native/Avalonia.Native/src/OSX/PopupImpl.mm
-
native/Avalonia.Native/src/OSX/WindowBaseImpl.h
-
native/Avalonia.Native/src/OSX/WindowBaseImpl.mm
-
native/Avalonia.Native/src/OSX/WindowImpl.h
-
native/Avalonia.Native/src/OSX/WindowImpl.mm
|
|
@ -26,17 +26,13 @@ private: |
|
|
PopupImpl(IAvnWindowEvents* events, IAvnGlContext* gl) : WindowBaseImpl(events, gl) |
|
|
PopupImpl(IAvnWindowEvents* events, IAvnGlContext* gl) : WindowBaseImpl(events, gl) |
|
|
{ |
|
|
{ |
|
|
WindowEvents = events; |
|
|
WindowEvents = events; |
|
|
|
|
|
[Window setLevel:NSPopUpMenuWindowLevel]; |
|
|
} |
|
|
} |
|
|
protected: |
|
|
protected: |
|
|
virtual NSWindowStyleMask GetStyle() override |
|
|
virtual NSWindowStyleMask GetStyle() override |
|
|
{ |
|
|
{ |
|
|
return NSWindowStyleMaskBorderless; |
|
|
return NSWindowStyleMaskBorderless; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
virtual void OnInitialiseNSWindow () override |
|
|
|
|
|
{ |
|
|
|
|
|
[Window setLevel:NSPopUpMenuWindowLevel]; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public: |
|
|
public: |
|
|
virtual bool ShouldTakeFocusOnShow() override |
|
|
virtual bool ShouldTakeFocusOnShow() override |
|
|
|
|
|
@ -106,8 +106,6 @@ protected: |
|
|
virtual NSWindowStyleMask GetStyle(); |
|
|
virtual NSWindowStyleMask GetStyle(); |
|
|
|
|
|
|
|
|
void UpdateStyle(); |
|
|
void UpdateStyle(); |
|
|
|
|
|
|
|
|
virtual void OnInitialiseNSWindow (); |
|
|
|
|
|
|
|
|
|
|
|
private: |
|
|
private: |
|
|
void CreateNSWindow (bool isDialog); |
|
|
void CreateNSWindow (bool isDialog); |
|
|
|
|
|
@ -567,11 +567,6 @@ void WindowBaseImpl::CreateNSWindow(bool isDialog) { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void WindowBaseImpl::OnInitialiseNSWindow() |
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void WindowBaseImpl::InitialiseNSWindow() { |
|
|
void WindowBaseImpl::InitialiseNSWindow() { |
|
|
if(Window != nullptr) { |
|
|
if(Window != nullptr) { |
|
|
[Window setContentView:StandardContainer]; |
|
|
[Window setContentView:StandardContainer]; |
|
|
@ -594,8 +589,6 @@ void WindowBaseImpl::InitialiseNSWindow() { |
|
|
[GetWindowProtocol() showWindowMenuWithAppMenu]; |
|
|
[GetWindowProtocol() showWindowMenuWithAppMenu]; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
OnInitialiseNSWindow(); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -93,8 +93,6 @@ BEGIN_INTERFACE_MAP() |
|
|
|
|
|
|
|
|
virtual bool IsDialog() override; |
|
|
virtual bool IsDialog() override; |
|
|
|
|
|
|
|
|
virtual void OnInitialiseNSWindow() override; |
|
|
|
|
|
|
|
|
|
|
|
virtual void BringToFront () override; |
|
|
virtual void BringToFront () override; |
|
|
|
|
|
|
|
|
bool CanBecomeKeyWindow (); |
|
|
bool CanBecomeKeyWindow (); |
|
|
@ -103,6 +101,7 @@ protected: |
|
|
virtual NSWindowStyleMask GetStyle() override; |
|
|
virtual NSWindowStyleMask GetStyle() override; |
|
|
|
|
|
|
|
|
private: |
|
|
private: |
|
|
|
|
|
void OnInitialiseNSWindow(); |
|
|
NSString *_lastTitle; |
|
|
NSString *_lastTitle; |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
@ -24,6 +24,8 @@ WindowImpl::WindowImpl(IAvnWindowEvents *events, IAvnGlContext *gl) : WindowBase |
|
|
_lastTitle = @""; |
|
|
_lastTitle = @""; |
|
|
_parent = nullptr; |
|
|
_parent = nullptr; |
|
|
WindowEvents = events; |
|
|
WindowEvents = events; |
|
|
|
|
|
|
|
|
|
|
|
OnInitialiseNSWindow(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void WindowImpl::HideOrShowTrafficLights() { |
|
|
void WindowImpl::HideOrShowTrafficLights() { |
|
|
@ -41,6 +43,7 @@ void WindowImpl::HideOrShowTrafficLights() { |
|
|
|
|
|
|
|
|
void WindowImpl::OnInitialiseNSWindow(){ |
|
|
void WindowImpl::OnInitialiseNSWindow(){ |
|
|
[GetWindowProtocol() setCanBecomeKeyWindow:true]; |
|
|
[GetWindowProtocol() setCanBecomeKeyWindow:true]; |
|
|
|
|
|
|
|
|
[Window disableCursorRects]; |
|
|
[Window disableCursorRects]; |
|
|
[Window setTabbingMode:NSWindowTabbingModeDisallowed]; |
|
|
[Window setTabbingMode:NSWindowTabbingModeDisallowed]; |
|
|
[Window setCollectionBehavior:NSWindowCollectionBehaviorFullScreenPrimary]; |
|
|
[Window setCollectionBehavior:NSWindowCollectionBehaviorFullScreenPrimary]; |
|
|
|