static const EventTypeSpec eventList[] =
{
// TODO remove control related event like key and mouse (except for WindowLeave events)
-#if !TARGET_API_MAC_OSX
+#if 1
{ kEventClassTextInput, kEventTextInputUnicodeForKeyEvent } ,
{ kEventClassKeyboard, kEventRawKeyDown } ,
case kEventWindowActivated :
{
toplevelWindow->MacActivate( cEvent.GetTicks() , true) ;
-
wxActivateEvent wxevent(wxEVT_ACTIVATE, true , toplevelWindow->GetId());
wxevent.SetTimestamp( cEvent.GetTicks() ) ;
wxevent.SetEventObject(toplevelWindow);
toplevelWindow->GetEventHandler()->ProcessEvent(wxevent);
- result = noErr ;
+ // we still sending an eventNotHandledErr in order to allow for default processing
break ;
}
case kEventWindowDeactivated :
wxevent.SetTimestamp( cEvent.GetTicks() ) ;
wxevent.SetEventObject(toplevelWindow);
toplevelWindow->GetEventHandler()->ProcessEvent(wxevent);
- result = noErr ;
+ // we still sending an eventNotHandledErr in order to allow for default processing
break ;
}
case kEventWindowShown :
}
if ( toplevelWindow->GetMaxWidth() != -1 && adjustR.GetWidth() > toplevelWindow->GetMaxWidth() )
adjustR.SetWidth( toplevelWindow->GetMaxWidth() ) ;
- if ( toplevelWindow->GetMaxHeight() != -1 && adjustR.GetWidth() > toplevelWindow->GetMaxHeight() )
+ if ( toplevelWindow->GetMaxHeight() != -1 && adjustR.GetHeight() > toplevelWindow->GetMaxHeight() )
adjustR.SetHeight( toplevelWindow->GetMaxHeight() ) ;
if ( toplevelWindow->GetMinWidth() != -1 && adjustR.GetWidth() < toplevelWindow->GetMinWidth() )
adjustR.SetWidth( toplevelWindow->GetMinWidth() ) ;
- if ( toplevelWindow->GetMinHeight() != -1 && adjustR.GetWidth() < toplevelWindow->GetMinHeight() )
+ if ( toplevelWindow->GetMinHeight() != -1 && adjustR.GetHeight() < toplevelWindow->GetMinHeight() )
adjustR.SetHeight( toplevelWindow->GetMinHeight() ) ;
Rect adjustedRect = { adjustR.y , adjustR.x , adjustR.y + adjustR.height , adjustR.x + adjustR.width } ;
if ( !EqualRect( &newRect , &adjustedRect ) )
}
}
+void wxTopLevelWindowMac::MacInstallTopLevelWindowEventHandler()
+{
+ if ( m_macEventHandler != NULL )
+ {
+ verify_noerr( ::RemoveEventHandler( (EventHandlerRef) m_macEventHandler ) ) ;
+ }
+ InstallWindowEventHandler(MAC_WXHWND(m_macWindow), GetwxMacTopLevelEventHandlerUPP(),
+ GetEventTypeCount(eventList), eventList, this, (EventHandlerRef *)&m_macEventHandler);
+}
+
void wxTopLevelWindowMac::MacCreateRealWindow( const wxString& title,
const wxPoint& pos,
const wxSize& size,
else
{
::CreateRootControl( (WindowRef)m_macWindow , (ControlRef*)&m_macControl ) ;
- MacInstallEventHandler() ;
}
+ // the root control level handleer
+ MacInstallEventHandler() ;
+ // the frame window event handler
InstallStandardEventHandler( GetWindowEventTarget(MAC_WXHWND(m_macWindow)) ) ;
- InstallWindowEventHandler(MAC_WXHWND(m_macWindow), GetwxMacTopLevelEventHandlerUPP(),
- GetEventTypeCount(eventList), eventList, this, (EventHandlerRef *)&m_macEventHandler);
-
+ MacInstallTopLevelWindowEventHandler() ;
+
m_macFocus = NULL ;
if ( HasFlag(wxFRAME_SHAPED) )
if(s_macDeactivateWindow==this)
s_macDeactivateWindow=NULL;
MacDelayedDeactivation(timestamp);
+ MacPropagateHiliteChanged() ;
}
void wxTopLevelWindowMac::SetTitle(const wxString& title)
#endif
}
+bool wxTopLevelWindowMac::MacGetMetalAppearance() const
+{
+#if TARGET_API_MAC_OSX
+ return MacGetWindowAttributes() & kWindowMetalAttribute ;
+#else
+ return false ;
+#endif
+}
+
void wxTopLevelWindowMac::MacChangeWindowAttributes( wxUint32 attributesToSet , wxUint32 attributesToClear )
{
ChangeWindowAttributes ( (WindowRef) m_macWindow , attributesToSet, attributesToClear ) ;