ce7fe42e84
Use the same short names as are used by the event table macros for the event type constants themselves. This makes them much more comfortable to use, e.g. Bind(wxEVT_BUTTON) compared to Bind(wxEVT_COMMAND_BUTTON_CLICKED). The old long names are still kept for backwards compatibility and shouldn't be removed as it doesn't really cost anything to continue providing them, but all new event types should only use the short versions. Closes #10661. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
175 lines
4.3 KiB
C++
175 lines
4.3 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_LISTBOX event handler for wxID_FONTDIALOG_FACENAME
|
|
void OnFontdialogFacenameSelected( wxCommandEvent& event );
|
|
|
|
/// wxEVT_SPINCTRL event handler for wxID_FONTDIALOG_FONTSIZE
|
|
void OnFontdialogFontsizeUpdated( wxSpinEvent& event );
|
|
|
|
/// wxEVT_TEXT event handler for wxID_FONTDIALOG_FONTSIZE
|
|
void OnFontdialogFontsizeTextUpdated( wxCommandEvent& event );
|
|
|
|
/// wxEVT_CHECKBOX event handler for wxID_FONTDIALOG_BOLD
|
|
void OnFontdialogBoldClick( wxCommandEvent& event );
|
|
|
|
/// wxEVT_CHECKBOX event handler for wxID_FONTDIALOG_ITALIC
|
|
void OnFontdialogItalicClick( wxCommandEvent& event );
|
|
|
|
/// wxEVT_CHECKBOX event handler for wxID_FONTDIALOG_UNDERLINED
|
|
void OnFontdialogUnderlinedClick( wxCommandEvent& event );
|
|
|
|
/// wxEVT_BUTTON 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_
|