#define wxWINDOW_VSCROLL 5997
#define MAC_SCROLLBAR_SIZE 16
-#include <wx/mac/uma.h>
+#include "wx/mac/uma.h"
#if wxUSE_DRAG_AND_DROP
#include "wx/dnd.h"
}
#endif // wxUSE_CARET
// panel wants to track the window which was the last to have focus in it
- wxPanel *panel = wxDynamicCast(GetParent(), wxPanel);
- if ( panel )
- {
- panel->SetLastFocus((wxWindow*)this);
- }
+ wxChildFocusEvent eventFocus(this);
+ (void)GetEventHandler()->ProcessEvent(eventFocus);
+
#ifndef __WXUNIVERSAL__
wxControl* control = wxDynamicCast( gFocusWindow , wxControl ) ;
if ( control && control->GetMacControl() )
frame->PositionStatusBar();
frame->PositionToolBar();
}
+ if ( doMove )
+ wxWindowMac::MacTopLevelWindowChangedPosition() ; // like this only children will be notified
}
else
{
{
if (show)
{
- UMAShowWindow( m_macWindowData->m_macWindow ) ;
- UMASelectWindow( m_macWindowData->m_macWindow ) ;
+ ::ShowWindow( m_macWindowData->m_macWindow ) ;
+ ::SelectWindow( m_macWindowData->m_macWindow ) ;
// no need to generate events here, they will get them triggered by macos
// actually they should be , but apparently they are not
wxSize size(m_width, m_height);
}
else
{
- UMAHideWindow( m_macWindowData->m_macWindow ) ;
+ ::HideWindow( m_macWindowData->m_macWindow ) ;
}
}
MacSuperShown( show ) ;
attr |= kWindowCloseBoxAttribute ;
}
- UMACreateNewWindow( wclass , attr , &theBoundsRect , &m_macWindowData->m_macWindow ) ;
+ ::CreateNewWindow( wclass , attr , &theBoundsRect , &m_macWindowData->m_macWindow ) ;
wxAssociateWinWithMacWindow( m_macWindowData->m_macWindow , this ) ;
wxString label ;
if( wxApp::s_macDefaultEncodingIsPC )
else
label = title ;
UMASetWTitleC( m_macWindowData->m_macWindow , label ) ;
- UMACreateRootControl( m_macWindowData->m_macWindow , &m_macWindowData->m_macRootControl ) ;
+ ::CreateRootControl( m_macWindowData->m_macWindow , &m_macWindowData->m_macRootControl ) ;
m_macWindowData->m_macFocus = NULL ;
m_macWindowData->m_macHasReceivedFirstActivate = true ;
// notice that it's also important to do it upwards the tree becaus
// otherwise when the top level panel gets focus, it won't set it back to
// us, but to some other sibling
- wxWindowMac *win = this;
- while ( win )
- {
- wxWindowMac *parent = win->GetParent();
- wxPanel *panel = wxDynamicCast(parent, wxPanel);
- if ( panel )
- {
- panel->SetLastFocus(win);
- }
-
- win = parent;
- }
+
+ // CS:don't know if this is still needed:
+ //wxChildFocusEvent eventFocus(this);
+ //(void)GetEventHandler()->ProcessEvent(eventFocus);
event.Skip();
}
int w ,h ;
wxPoint origin = GetClientAreaOrigin() ;
GetClientSize( &w , &h ) ;
- UMASetThemeWindowBackground( m_macWindowData->m_macWindow , m_macWindowData->m_macWindowBackgroundTheme , false ) ;
+ ::SetThemeWindowBackground( m_macWindowData->m_macWindow , m_macWindowData->m_macWindowBackgroundTheme , false ) ;
Rect r = { origin.y , origin.x, origin.y+h , origin.x+w } ;
EraseRect( &r ) ;
}
{
if ( m_macWindowData )
{
- UMABringToFront( m_macWindowData->m_macWindow ) ;
+ ::BringToFront( m_macWindowData->m_macWindow ) ;
}
}
{
if ( m_macWindowData )
{
- UMASendBehind( m_macWindowData->m_macWindow , NULL ) ;
+ ::SendBehind( m_macWindowData->m_macWindow , NULL ) ;
}
}
eraseBackground = true ;
if ( m_backgroundColour == wxSystemSettings::GetSystemColour(wxSYS_COLOUR_APPWORKSPACE) )
{
- UMASetThemeWindowBackground( window , kThemeBrushDocumentWindowBackground , false ) ;
+ ::SetThemeWindowBackground( window , kThemeBrushDocumentWindowBackground , false ) ;
}
else if ( m_backgroundColour == wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE ) )
{
{
Rect box ;
GetRegionBounds( updatergn , &box) ;
- UMAApplyThemeBackground(kThemeBackgroundTabPane, &box , kThemeStateActive,8,true);
+ ::ApplyThemeBackground(kThemeBackgroundTabPane, &box , kThemeStateActive,8,true);
break ;
}
}
if ( !parent )
{
// if there is nothing special -> use default
- UMASetThemeWindowBackground( window , kThemeBrushDialogBackgroundActive , false ) ;
+ ::SetThemeWindowBackground( window , kThemeBrushDialogBackgroundActive , false ) ;
}
}
else
}
}
+void wxWindowMac::MacTopLevelWindowChangedPosition()
+{
+ // only screen-absolute structures have to be moved i.e. glcanvas
+
+ wxNode *node = GetChildren().First();
+ while ( node )
+ {
+ wxWindowMac *child = (wxWindowMac *)node->Data();
+ child->MacTopLevelWindowChangedPosition() ;
+ node = node->Next();
+ }
+}
+
bool wxWindowMac::MacSetPortFocusParams( const Point & localOrigin, const Rect & clipRect, WindowRef window , wxWindowMac* win )
{
if ( window == NULL )
Pattern whiteColor ;
::BackPat( GetQDGlobalsWhite( &whiteColor) ) ;
- ::UMASetThemeWindowBackground( win->m_macWindowData->m_macWindow , win->m_macWindowData->m_macWindowBackgroundTheme , false ) ;
+ ::SetThemeWindowBackground( win->m_macWindowData->m_macWindow , win->m_macWindowData->m_macWindowBackgroundTheme , false ) ;
return true;
}