wxWidgets/include/wx/osx/fontdlg.h
Vadim Zeitlin d05ff890b4 Add wxFontDialog ctor not taking wxFontData to wxOSX.
wxFontDialog should have ctor and Create() overload taking just wxWindow
parent in addition to the one taking parent and wxFontData used to initialize
the dialog but it didn't have them in wxOSX, do add them now.

Closes #13908.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70497 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-02 14:19:34 +00:00

175 lines
4.4 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: wx/osx/fontdlg.h
// Purpose: wxFontDialog class using fonts window services (10.2+).
// Author: Ryan Norton
// Modified by:
// Created: 2004-09-25
// RCS-ID: $Id$
// Copyright: (c) Ryan Norton
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_FONTDLG_H_
#define _WX_FONTDLG_H_
#include "wx/dialog.h"
/*
* Font dialog
*/
/*
* support old notation
*/
#ifdef wxMAC_USE_EXPERIMENTAL_FONTDIALOG
#define wxOSX_USE_EXPERIMENTAL_FONTDIALOG wxMAC_USE_EXPERIMENTAL_FONTDIALOG
#endif
#ifndef wxOSX_USE_EXPERIMENTAL_FONTDIALOG
#define wxOSX_USE_EXPERIMENTAL_FONTDIALOG 1
#endif
#if wxOSX_USE_EXPERIMENTAL_FONTDIALOG
class WXDLLIMPEXP_CORE wxFontDialog : public wxDialog
{
public:
wxFontDialog();
wxFontDialog(wxWindow *parent);
wxFontDialog(wxWindow *parent, const wxFontData& data);
virtual ~wxFontDialog();
bool Create(wxWindow *parent);
bool Create(wxWindow *parent, const wxFontData& data);
int ShowModal();
wxFontData& GetFontData() { return m_fontData; }
protected:
wxFontData m_fontData;
DECLARE_DYNAMIC_CLASS_NO_COPY(wxFontDialog)
};
extern "C" int RunMixedFontDialog(wxFontDialog* dialog) ;
#else // wxOSX_USE_EXPERIMENTAL_FONTDIALOG
#if !USE_NATIVE_FONT_DIALOG_FOR_MACOSX
/*!
* Forward declarations
*/
class wxFontColourSwatchCtrl;
class wxFontPreviewCtrl;
class WXDLLIMPEXP_FWD_CORE wxSpinCtrl;
class WXDLLIMPEXP_FWD_CORE wxSpinEvent;
class WXDLLIMPEXP_FWD_CORE wxListBox;
class WXDLLIMPEXP_FWD_CORE wxChoice;
class WXDLLIMPEXP_FWD_CORE wxButton;
class WXDLLIMPEXP_FWD_CORE wxStaticText;
class WXDLLIMPEXP_FWD_CORE wxCheckBox;
/*!
* Control identifiers
*/
#define wxID_FONTDIALOG_FACENAME 20001
#define wxID_FONTDIALOG_FONTSIZE 20002
#define wxID_FONTDIALOG_BOLD 20003
#define wxID_FONTDIALOG_ITALIC 20004
#define wxID_FONTDIALOG_UNDERLINED 20005
#define wxID_FONTDIALOG_COLOUR 20006
#define wxID_FONTDIALOG_PREVIEW 20007
#endif
// !USE_NATIVE_FONT_DIALOG_FOR_MACOSX
class WXDLLIMPEXP_CORE wxFontDialog: public wxDialog
{
DECLARE_DYNAMIC_CLASS(wxFontDialog)
#if !USE_NATIVE_FONT_DIALOG_FOR_MACOSX
DECLARE_EVENT_TABLE()
#endif
public:
wxFontDialog();
wxFontDialog(wxWindow *parent, const wxFontData& data);
virtual ~wxFontDialog();
bool Create(wxWindow *parent, const wxFontData& data);
int ShowModal();
wxFontData& GetFontData() { return m_fontData; }
bool IsShown() const;
void OnPanelClose();
void SetData(const wxFontData& data);
#if !USE_NATIVE_FONT_DIALOG_FOR_MACOSX
/// Creates the controls and sizers
void CreateControls();
/// Initialize font
void InitializeFont();
/// Set controls according to current font
void InitializeControls();
/// Respond to font change
void ChangeFont();
/// Respond to colour change
void OnColourChanged(wxCommandEvent& event);
/// wxEVT_COMMAND_LISTBOX_SELECTED event handler for wxID_FONTDIALOG_FACENAME
void OnFontdialogFacenameSelected( wxCommandEvent& event );
/// wxEVT_COMMAND_SPINCTRL_UPDATED event handler for wxID_FONTDIALOG_FONTSIZE
void OnFontdialogFontsizeUpdated( wxSpinEvent& event );
/// wxEVT_COMMAND_TEXT_UPDATED event handler for wxID_FONTDIALOG_FONTSIZE
void OnFontdialogFontsizeTextUpdated( wxCommandEvent& event );
/// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for wxID_FONTDIALOG_BOLD
void OnFontdialogBoldClick( wxCommandEvent& event );
/// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for wxID_FONTDIALOG_ITALIC
void OnFontdialogItalicClick( wxCommandEvent& event );
/// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for wxID_FONTDIALOG_UNDERLINED
void OnFontdialogUnderlinedClick( wxCommandEvent& event );
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK
void OnOkClick( wxCommandEvent& event );
/// Should we show tooltips?
static bool ShowToolTips();
wxListBox* m_facenameCtrl;
wxSpinCtrl* m_sizeCtrl;
wxCheckBox* m_boldCtrl;
wxCheckBox* m_italicCtrl;
wxCheckBox* m_underlinedCtrl;
wxFontColourSwatchCtrl* m_colourCtrl;
wxFontPreviewCtrl* m_previewCtrl;
wxFont m_dialogFont;
bool m_suppressUpdates;
#endif
// !USE_NATIVE_FONT_DIALOG_FOR_MACOSX
protected:
wxWindow* m_dialogParent;
wxFontData m_fontData;
void* m_pEventHandlerRef;
};
#endif
#endif
// _WX_FONTDLG_H_