]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/choice.cpp
remove unneccessary header dependencies on wx/thread.h
[wxWidgets.git] / src / mac / carbon / choice.cpp
index 13a5f77c37c8be1d40a0fe1f6f55071a31870931..e5f7c54da458b413af1a69151b92493b12ec3c37 100644 (file)
@@ -24,7 +24,7 @@
 
 extern MenuHandle NewUniqueMenu() ;
 
-IMPLEMENT_DYNAMIC_CLASS(wxChoice, wxControl)
+IMPLEMENT_DYNAMIC_CLASS(wxChoice, wxControlWithItems)
 
 
 wxChoice::~wxChoice()
@@ -268,70 +268,34 @@ wxSize wxChoice::DoGetBestSize() const
     int lbHeight = 20;
     int wLine;
 
-#if TARGET_CARBON
     SInt32 metric ;
 
     GetThemeMetric( kThemeMetricPopupButtonHeight , &metric );
     lbHeight = metric ;
-#endif
 
     {
-#if wxMAC_USE_CORE_GRAPHICS
         wxClientDC dc(const_cast<wxChoice*>(this));
-#else
-        wxMacPortStateHelper st( UMAGetWindowPort( (WindowRef) MacGetTopLevelWindowRef() ) ) ;
-        if ( m_font.Ok() )
-        {
-            ::TextFont( m_font.MacGetFontNum() ) ;
-            ::TextSize( m_font.MacGetFontSize() ) ;
-            ::TextFace( m_font.MacGetFontStyle() ) ;
-        }
-        else
-        {
-            ::TextFont( kFontIDMonaco ) ;
-            ::TextSize( 9 ) ;
-            ::TextFace( 0 ) ;
-        }
-#endif
+
         // Find the widest line
         for(unsigned int i = 0; i < GetCount(); i++)
         {
             wxString str(GetString(i));
-#if wxMAC_USE_CORE_GRAPHICS
+
             wxCoord width, height ;
             dc.GetTextExtent( str , &width, &height);
             wLine = width ;
-#else
-#if wxUSE_UNICODE
-            Point bounds = { 0, 0 } ;
-            SInt16 baseline ;
-
-            ::GetThemeTextDimensions( wxMacCFStringHolder( str , m_font.GetEncoding() ) ,
-                kThemeCurrentPortFont,
-                kThemeStateActive,
-                false,
-                &bounds,
-                &baseline );
-
-            wLine = bounds.h ;
-#else
-            wLine = ::TextWidth( str.c_str() , 0 , str.length() ) ;
-#endif
-#endif
+
             lbWidth = wxMax( lbWidth, wLine ) ;
         }
 
         // Add room for the popup arrow
         lbWidth += 2 * lbHeight ;
-#if wxMAC_USE_CORE_GRAPHICS
+
         wxCoord width, height ;
         dc.GetTextExtent( wxT("X"), &width, &height);
         int cx = width ;
         lbHeight += 4;
-#else
-        // And just a bit more
-        int cx = ::TextWidth( "X" , 0 , 1 ) ;
-#endif
+
         lbWidth += cx ;
     }