mirror of
https://github.com/ZDoom/zdoom-macos-deps.git
synced 2024-11-26 13:50:50 +00:00
174 lines
4.3 KiB
C
174 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
|
||
|
// 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() wxOVERRIDE;
|
||
|
wxFontData& GetFontData() { return m_fontData; }
|
||
|
|
||
|
protected:
|
||
|
wxFontData m_fontData;
|
||
|
|
||
|
wxDECLARE_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
|
||
|
{
|
||
|
wxDECLARE_DYNAMIC_CLASS(wxFontDialog);
|
||
|
|
||
|
#if !USE_NATIVE_FONT_DIALOG_FOR_MACOSX
|
||
|
wxDECLARE_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_
|