#define kWindowUnifiedTitleAndToolbarAttribute (1 << 7)
// trace mask for activation tracing messages
-static const wxChar *TRACE_ACTIVATE = _T("activation");
+#define TRACE_ACTIVATE "activation"
// ----------------------------------------------------------------------------
// globals
{
event.m_keyCode = WXK_CONTROL ;
event.SetEventType( ( modifiers & controlKey ) ? wxEVT_KEY_DOWN : wxEVT_KEY_UP ) ;
- focus->GetEventHandler()->ProcessEvent( event ) ;
+ focus->HandleWindowEvent( event ) ;
}
if ( /* focus && */ (modifiers ^ wxApp::s_lastModifiers ) & shiftKey )
{
event.m_keyCode = WXK_SHIFT ;
event.SetEventType( ( modifiers & shiftKey ) ? wxEVT_KEY_DOWN : wxEVT_KEY_UP ) ;
- focus->GetEventHandler()->ProcessEvent( event ) ;
+ focus->HandleWindowEvent( event ) ;
}
if ( /* focus && */ (modifiers ^ wxApp::s_lastModifiers ) & optionKey )
{
event.m_keyCode = WXK_ALT ;
event.SetEventType( ( modifiers & optionKey ) ? wxEVT_KEY_DOWN : wxEVT_KEY_UP ) ;
- focus->GetEventHandler()->ProcessEvent( event ) ;
+ focus->HandleWindowEvent( event ) ;
}
if ( /* focus && */ (modifiers ^ wxApp::s_lastModifiers ) & cmdKey )
{
event.m_keyCode = WXK_COMMAND ;
event.SetEventType( ( modifiers & cmdKey ) ? wxEVT_KEY_DOWN : wxEVT_KEY_UP ) ;
- focus->GetEventHandler()->ProcessEvent( event ) ;
+ focus->HandleWindowEvent( event ) ;
}
wxApp::s_lastModifiers = modifiers ;
wxToolTip::RelayEvent( g_MacLastWindow , eventleave);
#endif
- g_MacLastWindow->GetEventHandler()->ProcessEvent(eventleave);
+ g_MacLastWindow->HandleWindowEvent(eventleave);
}
if ( currentMouseWindow )
wxToolTip::RelayEvent( currentMouseWindow , evententer );
#endif
- currentMouseWindow->GetEventHandler()->ProcessEvent(evententer);
+ currentMouseWindow->HandleWindowEvent(evententer);
}
g_MacLastWindow = currentMouseWindow ;
wxToolTip::RelayEvent( currentMouseWindow , wxevent );
#endif
- if ( currentMouseWindow->GetEventHandler()->ProcessEvent(wxevent) )
+ if ( currentMouseWindow->HandleWindowEvent(wxevent) )
{
if ((currentMouseWindowParent != NULL) &&
(currentMouseWindowParent->GetChildren().Find(currentMouseWindow) == NULL))
if (currentMouseWindow->CanAcceptFocus() && wxWindow::FindFocus()!=currentMouseWindow)
currentMouseWindow->SetFocus();
}
-
- // if built-in find control is finding the wrong control (ie static box instead of overlaid
- // button, we cannot let the standard handler do its job, but must handle manually
-
- if ( cEvent.GetKind() == kEventMouseDown )
- {
- if ( currentMouseWindow->MacIsReallyEnabled() )
- {
- EventModifiers modifiers = cEvent.GetParameter<EventModifiers>(kEventParamKeyModifiers, typeUInt32) ;
- Point clickLocation = windowMouseLocation ;
-
- currentMouseWindow->MacRootWindowToWindow( &clickLocation.h , &clickLocation.v ) ;
-
- HandleControlClick( (ControlRef) currentMouseWindow->GetHandle() , clickLocation ,
- modifiers , (ControlActionUPP ) -1 ) ;
-
- if ((currentMouseWindowParent != NULL) &&
- (currentMouseWindowParent->GetChildren().Find(currentMouseWindow) == NULL))
- {
- currentMouseWindow = NULL;
- }
- }
-
- result = noErr ;
- }
}
if ( cEvent.GetKind() == kEventMouseUp && wxApp::s_captureWindow )
wxWindow* cursorTarget = currentMouseWindow ;
wxPoint cursorPoint( wxevent.m_x , wxevent.m_y ) ;
- while ( cursorTarget && !cursorTarget->MacSetupCursor( cursorPoint ) )
+ extern wxCursor gGlobalCursor;
+
+ if (!gGlobalCursor.IsOk())
{
- cursorTarget = cursorTarget->GetParent() ;
- if ( cursorTarget )
- cursorPoint += cursorTarget->GetPosition();
+ while ( cursorTarget && !cursorTarget->MacSetupCursor( cursorPoint ) )
+ {
+ cursorTarget = cursorTarget->GetParent() ;
+ if ( cursorTarget )
+ cursorPoint += cursorTarget->GetPosition();
+ }
}
}
wxActivateEvent wxevent(wxEVT_ACTIVATE, true , toplevelWindow->GetId());
wxevent.SetTimestamp( cEvent.GetTicks() ) ;
wxevent.SetEventObject(toplevelWindow);
- toplevelWindow->GetEventHandler()->ProcessEvent(wxevent);
+ toplevelWindow->HandleWindowEvent(wxevent);
// we still sending an eventNotHandledErr in order to allow for default processing
}
break ;
wxActivateEvent wxevent(wxEVT_ACTIVATE, false , toplevelWindow->GetId());
wxevent.SetTimestamp( cEvent.GetTicks() ) ;
wxevent.SetEventObject(toplevelWindow);
- toplevelWindow->GetEventHandler()->ProcessEvent(wxevent);
+ toplevelWindow->HandleWindowEvent(wxevent);
// we still sending an eventNotHandledErr in order to allow for default processing
}
break ;
wxSizeEvent event( r.GetSize() , toplevelWindow->GetId() ) ;
event.SetEventObject( toplevelWindow ) ;
- toplevelWindow->GetEventHandler()->ProcessEvent(event) ;
+ toplevelWindow->HandleWindowEvent(event) ;
toplevelWindow->wxWindowMac::MacSuperChangedPosition() ; // like this only children will be notified
}
{
wxMoveEvent event( r.GetLeftTop() , toplevelWindow->GetId() ) ;
event.SetEventObject( toplevelWindow ) ;
- toplevelWindow->GetEventHandler()->ProcessEvent(event) ;
+ toplevelWindow->HandleWindowEvent(event) ;
}
result = noErr ;
wxSizeEvent wxevent( r , toplevelWindow->GetId() ) ;
wxevent.SetEventObject( toplevelWindow ) ;
wxRect adjustR = r ;
- if ( toplevelWindow->GetEventHandler()->ProcessEvent(wxevent) )
+ if ( toplevelWindow->HandleWindowEvent(wxevent) )
adjustR = wxevent.GetRect() ;
if ( toplevelWindow->GetMaxWidth() != -1 && adjustR.GetWidth() > toplevelWindow->GetMaxWidth() )
return wxPoint(0, 0) ;
}
-bool wxTopLevelWindowMac::SetBackgroundColour(const wxColour& col )
+bool wxTopLevelWindowMac::SetBackgroundColour(const wxColour& c )
{
+ wxColour col = c;
+ if ( col == wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) )
+ col = wxColour(wxMacCreateCGColorFromHITheme(kThemeBrushDocumentWindowBackground));
+ else if ( col == wxSystemSettings::GetColour( wxSYS_COLOUR_3DFACE ) )
+ col = wxColour(wxMacCreateCGColorFromHITheme(kThemeBrushDialogBackgroundActive));
+
if ( !wxTopLevelWindowBase::SetBackgroundColour(col) && m_hasBgCol )
return false ;
- if ( col == wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) || col == wxColour(wxMacCreateCGColorFromHITheme(kThemeBrushDocumentWindowBackground)) )
+ if ( col == wxColour(wxMacCreateCGColorFromHITheme(kThemeBrushDocumentWindowBackground)) )
{
SetThemeWindowBackground( (WindowRef) m_macWindow, kThemeBrushDocumentWindowBackground, false ) ;
SetBackgroundStyle(wxBG_STYLE_CUSTOM);
}
- else if ( col == wxSystemSettings::GetColour( wxSYS_COLOUR_3DFACE ) || col == wxColour(wxMacCreateCGColorFromHITheme(kThemeBrushDialogBackgroundActive)) )
+ else if ( col == wxColour(wxMacCreateCGColorFromHITheme(kThemeBrushDialogBackgroundActive)) )
{
SetThemeWindowBackground( (WindowRef) m_macWindow, kThemeBrushDialogBackgroundActive, false ) ;
SetBackgroundStyle(wxBG_STYLE_CUSTOM);
SetWindowBounds( (WindowRef) m_macWindow , kWindowStructureRgn , &theBoundsRect ) ;
wxAssociateWinWithMacWindow( (WindowRef) m_macWindow , this ) ;
- SetWindowTitleWithCFString( (WindowRef) m_macWindow , wxMacCFStringHolder( title , m_font.GetEncoding() ) );
+ SetWindowTitleWithCFString( (WindowRef) m_macWindow , wxCFStringRef( title , GetFont().GetEncoding() ) );
m_peer = new wxMacControl(this , true /*isRootControl*/) ;
// There is a bug in 10.2.X for ::GetRootControl returning the window view instead of
}
wxWindowCreateEvent event(this);
- GetEventHandler()->ProcessEvent(event);
+ HandleWindowEvent(event);
}
void wxTopLevelWindowMac::ClearBackground()
void wxTopLevelWindowMac::SetTitle(const wxString& title)
{
wxWindow::SetLabel( title ) ;
- SetWindowTitleWithCFString( (WindowRef) m_macWindow , wxMacCFStringHolder( title , m_font.GetEncoding() ) ) ;
+ SetWindowTitleWithCFString( (WindowRef) m_macWindow , wxCFStringRef( title , GetFont().GetEncoding() ) ) ;
}
wxString wxTopLevelWindowMac::GetTitle() const
// because apps expect a size event to occur at this moment
wxSizeEvent event(GetSize() , m_windowId);
event.SetEventObject(this);
- GetEventHandler()->ProcessEvent(event);
+ HandleWindowEvent(event);
}
else
{
// because apps expect a size event to occur at this moment
wxSizeEvent event(GetSize() , m_windowId);
event.SetEventObject(this);
- GetEventHandler()->ProcessEvent(event);
+ HandleWindowEvent(event);
return true;
}
// for wx.
// TODO: Determine if we need this on Leopard as well. (should be harmless either way,
// though)
- SetBackgroundColour( wxSYS_COLOUR_WINDOW ) ;
+ SetBackgroundColour( wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW) ) ;
}
bool wxTopLevelWindowMac::MacGetUnifiedAppearance() const
// Make a copy of the region
RgnHandle shapeRegion = NewRgn();
- CopyRgn( (RgnHandle)region.GetWXHRGN(), shapeRegion );
+ HIShapeGetAsQDRgn( region.GetWXHRGN(), shapeRegion );
// Dispose of any shape region we may already have
RgnHandle oldRgn = (RgnHandle)GetWRefCon( (WindowRef)MacGetWindowRef() );
*(OptionBits*)param =
//kWindowCanGrow |
//kWindowCanZoom |
- //kWindowCanCollapse |
+ kWindowCanCollapse |
//kWindowCanGetWindowRegion |
//kWindowHasTitleBar |
//kWindowSupportsDragHilite |