]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/checklst.cpp
A little clarification
[wxWidgets.git] / src / mac / checklst.cpp
index c50773b137ed9ff0bd6e24380e6a75030a63d6be..677dc0016311b4669b6da0ac8d326a0af33ad901 100644 (file)
 #include "wx/mac/uma.h"
 #include "Appearance.h"
 
+// ============================================================================
+// implementation of wxCheckListBoxBase
+// ============================================================================
+
+wxCheckListBoxBase::wxCheckListBoxBase()
+{
+}
+
 // ============================================================================
 // implementation of wxCheckListBox
 // ============================================================================
@@ -102,13 +110,12 @@ static pascal void wxMacCheckListDefinition( short message, Boolean isSelected,
             ClipRect( drawRect );
             EraseRect( drawRect );
             
-            wxFontRefData * font = (wxFontRefData*) (list->GetFont().GetRefData()) ;
-
-            if ( font )
+            const wxFont& font = list->GetFont();
+            if ( font.Ok() )
             {
-                ::TextFont( font->m_macFontNum ) ;
-                ::TextSize( font->m_macFontSize)  ;
-                ::TextFace( font->m_macFontStyle ) ;
+                ::TextFont( font.GetMacFontNum() ) ;
+                ::TextSize( font.GetMacFontSize())  ;
+                ::TextFace( font.GetMacFontStyle() ) ;
             }
                        
             ThemeButtonDrawInfo info ;
@@ -183,6 +190,10 @@ bool wxCheckListBox::Create(wxWindow *parent,
                             const wxValidator& validator,
                             const wxString &name)
 {
+    if ( !wxCheckListBoxBase::Create(parent, id, pos, size,
+                                     n, choices, style, validator, name) )
+        return false;
+
     m_noItems = 0 ; // this will be increased by our append command
     m_selected = 0;
     
@@ -194,10 +205,11 @@ bool wxCheckListBox::Create(wxWindow *parent,
     GetThemeMetric(kThemeMetricCheckBoxWidth,(long *)&m_checkBoxWidth);    
     GetThemeMetric(kThemeMetricCheckBoxHeight,&h);
 #endif
-      wxFontRefData * font = (wxFontRefData*) (GetFont().GetRefData()) ;
+
+    const wxFont& font = GetFont();
 
     FontInfo finfo;
-    FetchFontInfo(font->m_macFontNum,short(font->m_macFontSize),font->m_macFontStyle,&finfo);
+    FetchFontInfo(font.GetMacFontNum(),font.GetMacFontSize(),font.GetMacFontStyle(),&finfo);
     
     m_TextBaseLineOffset= finfo.leading+finfo.ascent;
     m_checkBoxHeight= finfo.leading+finfo.ascent+finfo.descent;
@@ -211,7 +223,7 @@ bool wxCheckListBox::Create(wxWindow *parent,
     Rect bounds ;
     Str255 title ;
     
-    MacPreControlCreate( parent , id ,  "" , pos , size ,style, validator , name , &bounds , title ) ;
+    MacPreControlCreate( parent , id ,  wxEmptyString , pos , size ,style, validator , name , &bounds , title ) ;
 
     ListDefSpec listDef;
     listDef.defType = kListDefUserProcType;