]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/control.cpp
common code, cleanup of measurement
[wxWidgets.git] / src / mac / control.cpp
index 8f7542389aac05e2f96f55c3d297a8f6c8aa6cd2..b469c40ef48241b7e69d86d69524d09729236aae 100644 (file)
@@ -207,7 +207,7 @@ void wxControl::SetLabel(const wxString& title)
 
     if ( m_macControl )
     {
 
     if ( m_macControl )
     {
-               UMASetControlTitle( (ControlHandle) m_macControl , m_label ) ;
+               UMASetControlTitle( (ControlHandle) m_macControl , m_label , m_font.GetEncoding() ) ;
     }
     Refresh() ;
 }
     }
     Refresh() ;
 }
@@ -290,7 +290,8 @@ void wxAssociateControlWithMacControl(ControlHandle inControl, wxControl *contro
 
 void wxRemoveMacControlAssociation(wxControl *control)
 {
 
 void wxRemoveMacControlAssociation(wxControl *control)
 {
-    wxWinMacControlList->DeleteObject(control);
+    if ( wxWinMacControlList )
+        wxWinMacControlList->DeleteObject(control);
 }
 
 void wxControl::MacPreControlCreate( wxWindow *parent, wxWindowID id, wxString label , 
 }
 
 void wxControl::MacPreControlCreate( wxWindow *parent, wxWindowID id, wxString label , 
@@ -337,7 +338,7 @@ void wxControl::MacPostControlCreate()
         controlstyle.flags = kControlUseFontMask ;
         
         if (IsKindOf( CLASSINFO( wxButton ) ) )
         controlstyle.flags = kControlUseFontMask ;
         
         if (IsKindOf( CLASSINFO( wxButton ) ) )
-            controlstyle.font = kControlFontSmallSystemFont ; // eventually kControlFontBigSystemFont ;
+            controlstyle.font = kControlFontBigSystemFont ; // eventually kControlFontBigSystemFont ;
         else
             controlstyle.font = kControlFontSmallSystemFont ;
         
         else
             controlstyle.font = kControlFontSmallSystemFont ;
         
@@ -346,7 +347,7 @@ void wxControl::MacPostControlCreate()
     ControlHandle container = (ControlHandle) GetParent()->MacGetContainerForEmbedding() ;
     wxASSERT_MSG( container != NULL , wxT("No valid mac container control") ) ;
     ::EmbedControl( (ControlHandle) m_macControl , container ) ;
     ControlHandle container = (ControlHandle) GetParent()->MacGetContainerForEmbedding() ;
     wxASSERT_MSG( container != NULL , wxT("No valid mac container control") ) ;
     ::EmbedControl( (ControlHandle) m_macControl , container ) ;
-    m_macControlIsShown  = true ;
+    m_macControlIsShown  = MacIsReallyShown() ;
 
     wxAssociateControlWithMacControl( (ControlHandle) m_macControl , this ) ;
     if ( wxMacSetupControlBackgroundUPP == NULL )
 
     wxAssociateControlWithMacControl( (ControlHandle) m_macControl , this ) ;
     if ( wxMacSetupControlBackgroundUPP == NULL )
@@ -399,10 +400,11 @@ void wxControl::MacPostControlCreate()
     SetSize(pos.x, pos.y, new_size.x, new_size.y);
     
 #if wxUSE_UNICODE
     SetSize(pos.x, pos.y, new_size.x, new_size.y);
     
 #if wxUSE_UNICODE
-    UMASetControlTitle( (ControlHandle) m_macControl , wxStripMenuCodes(m_label) ) ;
+    UMASetControlTitle( (ControlHandle) m_macControl , wxStripMenuCodes(m_label) , m_font.GetEncoding() ) ;
 #endif
 
 #endif
 
-    UMAShowControl( (ControlHandle) m_macControl ) ;
+    if ( m_macControlIsShown )
+        UMAShowControl( (ControlHandle) m_macControl ) ;
     
     SetCursor( *wxSTANDARD_CURSOR ) ;
     
     
     SetCursor( *wxSTANDARD_CURSOR ) ;