]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/fontdlg.cpp
Order fix.
[wxWidgets.git] / src / mac / carbon / fontdlg.cpp
index 5fafc36dbf2d00ce28a48ba8b0be1da4d719d301..410e8f08b547532f0cb019aaf10a02ea838b8916 100644 (file)
@@ -9,25 +9,55 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
+// ===========================================================================
+// declarations
+// ===========================================================================
+
+// ---------------------------------------------------------------------------
+// headers
+// ---------------------------------------------------------------------------
+
 #ifdef __GNUG__
 #pragma implementation "fontdlg.h"
 #endif
 
-#include "wx/mac/fontdlg.h"
-#include "wx/cmndata.h"
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
 
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+    #include "wx/cmndata.h"
+#endif
+
+#include "wx/mac/fontdlg.h"
+    
 #if !USE_SHARED_LIBRARY
 IMPLEMENT_DYNAMIC_CLASS(wxFontDialog, wxDialog)
 #endif
 
 #include "wx/mac/private.h"
 
+//Mac OSX 10.2+ only
 #if defined( __WXMAC__ ) && TARGET_API_MAC_OSX && ( MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_2 )
 
 #include <ATSUnicode.h>
 
 #include "wx/msgdlg.h"
 
+//color isn't working in carbon impl
+#define ISCOLORWORKING 0
+
+// ============================================================================
+// implementation
+// ============================================================================
+
+// ---------------------------------------------------------------------------
+// Carbon event callback(s)
+// ---------------------------------------------------------------------------
+
 pascal OSStatus wxFontDialogEventHandler(      EventHandlerCallRef inHandlerCallRef,
                                                                        EventRef event, void* pData)
 {
@@ -39,7 +69,9 @@ pascal OSStatus wxFontDialogEventHandler(     EventHandlerCallRef inHandlerCallRef,
     FMFontFamily fontfamily;
     FMFontStyle fontstyle;
     FMFontSize fontsize;
+#if ISCOLORWORKING
     RGBColor fontcolor;
+#endif
         
     status = GetEventParameter (event, kEventParamFMFontFamily,
                                     typeFMFontFamily, NULL,
@@ -60,19 +92,23 @@ pascal OSStatus wxFontDialogEventHandler(   EventHandlerCallRef inHandlerCallRef,
 
     check_noerr (status);
 
+#if ISCOLORWORKING
     status = GetEventParameter (event, kEventParamFontColor,
                                     typeRGBColor, NULL,
                                     sizeof( RGBColor ), NULL, &fontcolor); 
     check_noerr (status);
+#endif
     
     //now do the conversion to the wx font data
     wxFontData theFontData;
     wxFont        theFont;
+
+#if ISCOLORWORKING 
     //set color
     wxColour theColor;
     theColor.Set(&(WXCOLORREF&)fontcolor);
     theFontData.SetColour(theColor);
+#endif
         
     //set size
     theFont.SetPointSize(fontsize);
@@ -99,9 +135,9 @@ pascal OSStatus wxFontDialogEventHandler(    EventHandlerCallRef inHandlerCallRef,
 
 DEFINE_ONE_SHOT_HANDLER_GETTER( wxFontDialogEventHandler );
 
-//---------------------------
-//     Class implementation
-//---------------------------
+// ---------------------------------------------------------------------------
+// wxFontDialog
+// ---------------------------------------------------------------------------
 
 wxFontDialog::wxFontDialog() :
     m_dialogParent(NULL), m_pEventHandlerRef(NULL)
@@ -208,7 +244,7 @@ int wxFontDialog::ShowModal()
         while(FPIsFontPanelVisible()) 
         {
             //yeild so we can get events
-            ::wxSafeYield(m_dialogParent, false);
+            wxTheApp->Yield(false);
         }
     }
     else
@@ -221,10 +257,9 @@ int wxFontDialog::ShowModal()
 #else
    //10.2+ only
    
-   
-//
-//     no native implementation
-//
+// ---------------------------------------------------------------------------
+// wxFontDialog stub for mac OS's without a native font dialog
+// ---------------------------------------------------------------------------
 
 wxFontDialog::wxFontDialog()
 {
@@ -236,6 +271,11 @@ wxFontDialog::wxFontDialog(wxWindow *parent, const wxFontData&  data)
     Create(parent, data);
 }
 
+wxFontDialog::~wxFontDialog()
+{
+    // empty
+}
+
 void wxFontDialog::SetData(wxFontData& fontdata)
 {
     m_fontData = fontdata;