]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/control.cpp
common code, cleanup of measurement
[wxWidgets.git] / src / mac / control.cpp
index 84e0822c5478bc7fedaac4008ef2eb0a1b51e020..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 ) ;
     
@@ -573,123 +575,6 @@ void  wxControl::DoSetSize(int x, int y,
     }
 #endif
     return ;
     }
 #endif
     return ;
-/*
-
-    if ( (ControlHandle) m_macControl == NULL )
-    {
-        wxWindow::DoSetSize( x , y ,width , height ,sizeFlags ) ;
-        return ;
-    }
-
-     Rect oldbounds;
-     int new_x, new_y, new_width, new_height;
-     int mac_x, mac_y;
-     new_x = m_x;
-     new_y = m_y;
-     new_width  = m_width;
-     new_height = m_height;
-     if (sizeFlags & wxSIZE_ALLOW_MINUS_ONE)
-     {
-         new_x      = x;
-         new_y      = y;
-         new_width  = width;
-         new_height = height;
-     }
-     else
-     {
-         if (x != -1)      new_x      = x;
-         if (y != -1)      new_y      = y;
-         if (width != -1)  new_width  = width;
-         if (height != -1) new_height = height;
-     }
-     if(sizeFlags & wxSIZE_AUTO)
-     {
-         wxSize size = GetBestSize();
-         if (sizeFlags & wxSIZE_AUTO_WIDTH)
-         {
-             if (width == -1)   new_width = size.x;
-         }
-         if (sizeFlags & wxSIZE_AUTO_HEIGHT)
-         {
-             if (height == -1)   new_height = size.y;
-         }
-     }
-     AdjustForParentClientOrigin(new_x, new_y, sizeFlags);
-     mac_x = new_x;
-     mac_y = new_y;
-     if(GetParent()) {
-         GetParent()->MacWindowToRootWindow(&mac_x, &mac_y);
-     }
-     GetControlBounds( (ControlHandle) m_macControl, &oldbounds);
-     oldbounds.right = oldbounds.left + m_width;
-     oldbounds.bottom = oldbounds.top + m_height;
-     bool doMove = false;
-     bool doResize = false;
-     if ( mac_x != (oldbounds.left - m_macHorizontalBorder) ||
-          mac_y != (oldbounds.top - m_macVerticalBorder) )
-     {
-         doMove = true ;
-     }
-     if ( new_width != oldbounds.right - oldbounds.left - 2 * m_macHorizontalBorder ||
-          new_height != oldbounds.bottom - oldbounds.top - 2 * m_macVerticalBorder)
-     {
-         doResize = true ;
-     }
-     if ( doMove || doResize )
-     {
-         Refresh() ;
-     
-         // Ensure resize is within constraints
-         if ((m_minWidth != -1) && (new_width < m_minWidth)) {
-             new_width = m_minWidth;
-         }
-         if ((m_minHeight != -1) && (new_height < m_minHeight)) {
-             new_height = m_minHeight;
-         }
-         if ((m_maxWidth != -1) && (new_width > m_maxWidth)) {
-             new_width = m_maxWidth;
-         }
-         if ((m_maxHeight != -1) && (new_height > m_maxHeight)) {
-             new_height = m_maxHeight;
-         }
-         if ( doMove )
-         {
-             m_x = new_x;
-             m_y = new_y;
-             UMAMoveControl( (ControlHandle) m_macControl,
-                            mac_x + m_macHorizontalBorder, mac_y + m_macVerticalBorder);
-
-             wxMoveEvent event(wxPoint(m_x, m_y), m_windowId);
-             event.SetEventObject(this);
-             GetEventHandler()->ProcessEvent(event) ;
-         }
-         if ( doResize )
-         {
-             m_width = new_width;
-             m_height = new_height;
-             UMASizeControl( (ControlHandle) m_macControl,
-                             m_width - 2 * m_macHorizontalBorder,
-                             m_height -  2 * m_macVerticalBorder ) ;
-             wxSizeEvent event(wxSize(m_width, m_height), m_windowId);
-             event.SetEventObject(this);
-             GetEventHandler()->ProcessEvent(event);
-         }
-          Refresh() ;
-     }
-*/
 }
 
 bool  wxControl::Show(bool show) 
 }
 
 bool  wxControl::Show(bool show)