]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/control.cpp
corrected GetCharWidth and implemented MacSuperChangedPosition for toolbars
[wxWidgets.git] / src / mac / carbon / control.cpp
index cbbd8e34297699b9c6876a35dba98028cbce2c58..8268b03c8bd330f30ab81154a84394cfbe15087e 100644 (file)
@@ -16,6 +16,7 @@
 #include "wx/control.h"
 #include "wx/panel.h"
 #include "wx/app.h"
+#include "wx/dc.h"
 #include "wx/notebook.h"
 #include "wx/tabctrl.h"
 #include "wx/radiobox.h"
@@ -69,7 +70,7 @@ wxControl::wxControl()
 
        if ( wxMacLiveScrollbarActionUPP == NULL )
        {
-#ifdef __UNIX__
+#if defined(UNIVERSAL_INTERFACES_VERSION) && (UNIVERSAL_INTERFACES_VERSION >= 0x0340)
         wxMacLiveScrollbarActionUPP = NewControlActionUPP( wxMacLiveScrollbarActionProc );
 #else
                wxMacLiveScrollbarActionUPP = NewControlActionProc( wxMacLiveScrollbarActionProc ) ;
@@ -302,6 +303,8 @@ void wxControl::MacAdjustControlRect()
                        if ( IsKindOf( CLASSINFO( wxButton ) ) )
                        {
                                m_width = m_label.Length() * 8 + 12 ;
+                               if ( m_width < 70 )
+                                 m_width = 70 ;
                        }
                        else if ( IsKindOf( CLASSINFO( wxStaticText ) ) )
                        {
@@ -643,7 +646,6 @@ void wxControl::MacRedrawControl()
                                
                                UMADrawControl( m_macControl ) ;
                                UMASetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , win->MacGetWindowData()->m_macWindowBackgroundTheme , false ) ;
-                               wxDC::MacInvalidateSetup() ;
                        }
                }
        }
@@ -662,8 +664,9 @@ void wxControl::OnPaint(wxPaintEvent& event)
                                wxMacDrawingHelper help( win ) ;
                                // the mac control manager always assumes to have the origin at 0,0
                                SetOrigin( 0 , 0 ) ;
+
                                
-                               bool                    hasTabBehind = false ;
+                               bool hasTabBehind = false ;
                                wxWindow* parent = GetParent() ;
                                while ( parent )
                                {
@@ -682,10 +685,9 @@ void wxControl::OnPaint(wxPaintEvent& event)
                                        
                                        parent = parent->GetParent() ;
                                } 
-                               
+
                                UMADrawControl( m_macControl ) ;
                                UMASetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , win->MacGetWindowData()->m_macWindowBackgroundTheme , false ) ;
-                               wxDC::MacInvalidateSetup() ;
                        }
                }
        }