// even when the programmer explicitly wants to hide it.
- (NSRect)constrainFrameRect:(NSRect)frameRect toScreen:(NSScreen *)screen
{
+ wxUnusedVar(screen);
return frameRect;
}
- (void)windowDidBecomeKey:(NSNotification *)notification;
- (void)windowDidMove:(NSNotification *)notification;
- (BOOL)windowShouldClose:(id)window;
+- (BOOL)windowShouldZoom:(NSWindow *)window toFrame:(NSRect)newFrame;
@end
return nil;
}
+- (BOOL)windowShouldZoom:(NSWindow *)window toFrame:(NSRect)newFrame
+{
+ wxNonOwnedWindowCocoaImpl* windowimpl = [(wxNSWindow*)window implementation];
+ if ( windowimpl )
+ {
+ wxNonOwnedWindow* wxpeer = windowimpl->GetWXPeer();
+ wxMaximizeEvent event(wxpeer->GetId());
+ event.SetEventObject(wxpeer);
+ return !wxpeer->HandleWindowEvent(event);
+ }
+ return true;
+}
+
@end
IMPLEMENT_DYNAMIC_CLASS( wxNonOwnedWindowCocoaImpl , wxNonOwnedWindowImpl )
bool wxNonOwnedWindowCocoaImpl::IsMaximized() const
{
- return [m_macWindow isZoomed];
+ if (([m_macWindow styleMask] & NSResizableWindowMask) != 0)
+ {
+ return [m_macWindow isZoomed];
+ }
+ else
+ {
+ NSRect rectScreen = [[NSScreen mainScreen] visibleFrame];
+ NSRect rectWindow = [m_macWindow frame];
+ return (rectScreen.origin.x == rectWindow.origin.x &&
+ rectScreen.origin.y == rectWindow.origin.y &&
+ rectScreen.size.width == rectWindow.size.width &&
+ rectScreen.size.height == rectWindow.size.height);
+ }
}
bool wxNonOwnedWindowCocoaImpl::IsIconized() const
void wxNonOwnedWindowCocoaImpl::RequestUserAttention(int flagsWX)
{
- int flagsOSX;
+ NSRequestUserAttentionType flagsOSX;
switch ( flagsWX )
{
case wxUSER_ATTENTION_INFO: