-DEFINE_ONE_SHOT_HANDLER_GETTER( wxFontDialogEventHandler );
-
-// ---------------------------------------------------------------------------
-// wxFontDialog
-// ---------------------------------------------------------------------------
-
-wxFontDialog::wxFontDialog() :
- m_dialogParent(NULL), m_pEventHandlerRef(NULL)
-{
-}
-
-wxFontDialog::wxFontDialog(wxWindow *parent, const wxFontData& data)
-{
- Create(parent, data);
-}
-
-wxFontDialog::~wxFontDialog()
-{
- if (m_pEventHandlerRef)
- ::RemoveEventHandler((EventHandlerRef&)m_pEventHandlerRef);
-}
-
-void wxFontDialog::SetData(wxFontData& fontdata)
-{
- m_fontData = fontdata;
-}
-
-bool wxFontDialog::Create(wxWindow *parent, const wxFontData& data)
-{
- m_dialogParent = parent;
- m_fontData = data;
-
- //Register the events that will return this dialog
- EventTypeSpec ftEventList[] = { { kEventClassFont, kEventFontSelection } };
-
- OSStatus err = noErr;
-
-//FIXMEFIXME: Why doesn't it recieve events if there's a parent?
-// if (parent)
-// {
-// err = InstallWindowEventHandler(
-// MAC_WXHWND(parent->GetHandle()),
-// GetwxFontDialogEventHandlerUPP(),
-// GetEventTypeCount(ftEventList), ftEventList,
-// this, (&(EventHandlerRef&)m_pEventHandlerRef));
-//
-// }
-// else //no parent - send to app
-// {
- err = InstallApplicationEventHandler(
- GetwxFontDialogEventHandlerUPP(),
- GetEventTypeCount(ftEventList), ftEventList,
- this, (&(EventHandlerRef&)m_pEventHandlerRef));
-// }
-
- return err == noErr;
-}
-
-bool wxFontDialog::IsShown() const
-{
- return FPIsFontPanelVisible();
-}
-
-int wxFontDialog::ShowModal()
-{
- wxASSERT(!FPIsFontPanelVisible());
-
- //set up initial font
- wxFont theInitialFont = m_fontData.GetInitialFont();
-
- //create ATSU style
- ATSUStyle theStyle;
- OSStatus status = ATSUCreateStyle(&theStyle);
- check_noerr(status);