]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/control.cpp
old mingw32 compilation fix
[wxWidgets.git] / src / mac / control.cpp
index cc93410764b4515916c2c0267e74ced50e9b622e..b56dee0d186b0f1114d6571817b4063df8ecb024 100644 (file)
@@ -36,7 +36,7 @@ IMPLEMENT_ABSTRACT_CLASS(wxControl, wxWindow)
 
 BEGIN_EVENT_TABLE(wxControl, wxWindow)
     EVT_MOUSE_EVENTS( wxControl::OnMouseEvent ) 
-    EVT_CHAR( wxControl::OnKeyDown ) 
+//    EVT_CHAR( wxControl::OnKeyDown ) 
     EVT_PAINT( wxControl::OnPaint ) 
 END_EVENT_TABLE()
 #endif
@@ -60,6 +60,32 @@ pascal void wxMacLiveScrollbarActionProc( ControlHandle control , ControlPartCod
     }
 }
 
+ControlColorUPP wxMacSetupControlBackgroundUPP = NULL ;
+
+pascal OSStatus wxMacSetupControlBackground( ControlRef iControl , SInt16 iMessage , SInt16 iDepth , Boolean iIsColor )
+{
+       OSStatus status = noErr ;
+       switch( iMessage )
+       {
+               case kControlMsgSetUpBackground :
+               wxControl*  wx = (wxControl*) GetControlReference( iControl ) ;
+               if ( wx != NULL && wx->IsKindOf( CLASSINFO( wxControl ) ) )
+               {
+                       wxDC::MacSetupBackgroundForCurrentPort( wx->MacGetBackgroundBrush() ) ;
+//                             SetThemeBackground( iDepth , iIsColor ) ;
+                       }
+                       else
+                       {
+                               status = paramErr ;
+                       }
+                       break ;
+               default :
+                       status = paramErr ;
+                       break ;
+       }
+       return status ;
+}
 wxControl::wxControl()
 {
     m_macControl = NULL ;
@@ -292,7 +318,7 @@ void wxControl::MacPostControlCreate()
     {
         // no font
     }
-    else if ( IsKindOf( CLASSINFO( wxStaticBox ) ) || IsKindOf( CLASSINFO( wxRadioBox ) ) || IsKindOf( CLASSINFO( wxButton ) ) )
+    else if ( !UMAHasAquaLayout() && (IsKindOf( CLASSINFO( wxStaticBox ) ) || IsKindOf( CLASSINFO( wxRadioBox ) ) || IsKindOf( CLASSINFO( wxButton ) ) ) )
     {
         ControlFontStyleRec     controlstyle ;
         controlstyle.flags = kControlUseFontMask ;
@@ -315,6 +341,11 @@ void wxControl::MacPostControlCreate()
 
     wxAssociateControlWithMacControl( (ControlHandle) m_macControl , this ) ;
 
+       if ( wxMacSetupControlBackgroundUPP == NULL )
+       {
+               wxMacSetupControlBackgroundUPP = NewControlColorUPP( wxMacSetupControlBackground ) ;
+       }
+       SetControlColorProc( (ControlHandle) m_macControl , wxMacSetupControlBackgroundUPP ) ;
  
      // Adjust the controls size and position
      wxPoint pos(m_x, m_y);