Don't send dummy wxCommandEvent. Make members private and use wxW coding standards for them.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37865 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Włodzimierz Skiba
2006-03-07 18:54:41 +00:00
parent 0e4e783cf0
commit cececf4db5
2 changed files with 136 additions and 130 deletions

View File

@@ -71,21 +71,26 @@ public:
#endif #endif
protected: protected:
// common part of all ctors
void Init();
virtual bool DoCreate(wxWindow *parent); virtual bool DoCreate(wxWindow *parent);
wxFont dialogFont; private:
wxChoice *familyChoice; // common part of all ctors
wxChoice *styleChoice; void Init();
wxChoice *weightChoice;
wxChoice *colourChoice; void DoChangeFont();
wxCheckBox *underLineCheckBox;
wxFont m_dialogFont;
wxChoice *m_familyChoice;
wxChoice *m_styleChoice;
wxChoice *m_weightChoice;
wxChoice *m_colourChoice;
wxCheckBox *m_underLineCheckBox;
#if !USE_SPINCTRL_FOR_POINT_SIZE #if !USE_SPINCTRL_FOR_POINT_SIZE
wxChoice *pointSizeChoice; wxChoice *m_pointSizeChoice;
#endif #endif
wxFontPreviewer *m_previewer; wxFontPreviewer *m_previewer;

View File

@@ -174,9 +174,9 @@ static wxString wxColourDialogNames[NUM_COLS]={wxT("ORANGE"),
void wxGenericFontDialog::Init() void wxGenericFontDialog::Init()
{ {
m_useEvents = false; m_useEvents = false;
m_previewer = NULL; m_previewer = NULL;
Create( m_parent ) ; Create( m_parent ) ;
} }
wxGenericFontDialog::~wxGenericFontDialog() wxGenericFontDialog::~wxGenericFontDialog()
@@ -201,8 +201,7 @@ bool wxGenericFontDialog::DoCreate(wxWindow *parent)
CreateWidgets(); CreateWidgets();
// sets initial font in preview area // sets initial font in preview area
wxCommandEvent dummy; DoChangeFont();
OnChangeFont(dummy);
return true; return true;
} }
@@ -213,7 +212,7 @@ int wxGenericFontDialog::ShowModal()
if (ret != wxID_CANCEL) if (ret != wxID_CANCEL)
{ {
m_fontData.m_chosenFont = dialogFont; m_fontData.m_chosenFont = m_dialogFont;
} }
return ret; return ret;
@@ -224,10 +223,9 @@ static bool ShowToolTips() { return false; }
void wxGenericFontDialog::CreateWidgets() void wxGenericFontDialog::CreateWidgets()
{ {
wxString wxString *families = new wxString[6],
*families = new wxString[6], *styles = new wxString[3],
*styles = new wxString[3], *weights = new wxString[3];
*weights = new wxString[3];
families[0] = _("Roman"); families[0] = _("Roman");
families[1] = _("Decorative"); families[1] = _("Decorative");
families[2] = _("Modern"); families[2] = _("Modern");
@@ -267,8 +265,8 @@ void wxGenericFontDialog::CreateWidgets()
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL); wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
this->SetSizer(itemBoxSizer2); this->SetSizer(itemBoxSizer2);
this->SetAutoLayout(TRUE); this->SetAutoLayout(true);
wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL); wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL);
itemBoxSizer2->Add(itemBoxSizer3, 1, wxGROW|wxALL, 5); itemBoxSizer2->Add(itemBoxSizer3, 1, wxGROW|wxALL, 5);
@@ -314,7 +312,7 @@ void wxGenericFontDialog::CreateWidgets()
{ {
wxStaticText* itemStaticText15 = new wxStaticText( this, wxID_STATIC, _("C&olour:"), wxDefaultPosition, wxDefaultSize, 0 ); wxStaticText* itemStaticText15 = new wxStaticText( this, wxID_STATIC, _("C&olour:"), wxDefaultPosition, wxDefaultSize, 0 );
itemBoxSizer14->Add(itemStaticText15, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5); itemBoxSizer14->Add(itemStaticText15, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
wxSize colourSize = wxDefaultSize; wxSize colourSize = wxDefaultSize;
if (is_pda) if (is_pda)
colourSize.x = 100; colourSize.x = 100;
@@ -332,11 +330,11 @@ void wxGenericFontDialog::CreateWidgets()
itemBoxSizer17->Add(itemStaticText18, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5); itemBoxSizer17->Add(itemStaticText18, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
#if USE_SPINCTRL_FOR_POINT_SIZE #if USE_SPINCTRL_FOR_POINT_SIZE
wxSpinCtrl* spinCtrl = new wxSpinCtrl(this, wxID_FONT_SIZE, wxT("12"), wxDefaultPosition, wxSize(80, -1), wxSP_ARROW_KEYS, 1, 500, 12); wxSpinCtrl* spinCtrl = new wxSpinCtrl(this, wxID_FONT_SIZE, wxT("12"), wxDefaultPosition, wxSize(80, wxDefaultCoord), wxSP_ARROW_KEYS, 1, 500, 12);
spinCtrl->SetHelpText(_("The font point size.")); spinCtrl->SetHelpText(_("The font point size."));
if (ShowToolTips()) if (ShowToolTips())
spinCtrl->SetToolTip(_("The font point size.")); spinCtrl->SetToolTip(_("The font point size."));
itemBoxSizer17->Add(spinCtrl, 0, wxALIGN_LEFT|wxALL, 5); itemBoxSizer17->Add(spinCtrl, 0, wxALIGN_LEFT|wxALL, 5);
#else #else
wxChoice* itemChoice19 = new wxChoice( this, wxID_FONT_SIZE, wxDefaultPosition, wxDefaultSize, 40, pointSizes, 0 ); wxChoice* itemChoice19 = new wxChoice( this, wxID_FONT_SIZE, wxDefaultPosition, wxDefaultSize, 40, pointSizes, 0 );
@@ -351,7 +349,7 @@ void wxGenericFontDialog::CreateWidgets()
wxBoxSizer* itemBoxSizer20 = new wxBoxSizer(wxVERTICAL); wxBoxSizer* itemBoxSizer20 = new wxBoxSizer(wxVERTICAL);
itemGridSizer4->Add(itemBoxSizer20, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); itemGridSizer4->Add(itemBoxSizer20, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
wxCheckBox* itemCheckBox21 = new wxCheckBox( this, wxID_FONT_UNDERLINE, _("&Underline"), wxDefaultPosition, wxDefaultSize, 0 ); wxCheckBox* itemCheckBox21 = new wxCheckBox( this, wxID_FONT_UNDERLINE, _("&Underline"), wxDefaultPosition, wxDefaultSize, 0 );
itemCheckBox21->SetValue(FALSE); itemCheckBox21->SetValue(false);
itemCheckBox21->SetHelpText(_("Whether the font is underlined.")); itemCheckBox21->SetHelpText(_("Whether the font is underlined."));
if (ShowToolTips()) if (ShowToolTips())
itemCheckBox21->SetToolTip(_("Whether the font is underlined.")); itemCheckBox21->SetToolTip(_("Whether the font is underlined."));
@@ -363,7 +361,7 @@ void wxGenericFontDialog::CreateWidgets()
wxStaticText* itemStaticText23 = new wxStaticText( this, wxID_STATIC, _("Preview:"), wxDefaultPosition, wxDefaultSize, 0 ); wxStaticText* itemStaticText23 = new wxStaticText( this, wxID_STATIC, _("Preview:"), wxDefaultPosition, wxDefaultSize, 0 );
itemBoxSizer3->Add(itemStaticText23, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5); itemBoxSizer3->Add(itemStaticText23, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
wxFontPreviewer* itemWindow24 = new wxFontPreviewer( this ); wxFontPreviewer* itemWindow24 = new wxFontPreviewer( this );
m_previewer = itemWindow24; m_previewer = itemWindow24;
itemWindow24->SetHelpText(_("Shows the font preview.")); itemWindow24->SetHelpText(_("Shows the font preview."));
@@ -401,41 +399,41 @@ void wxGenericFontDialog::CreateWidgets()
itemBoxSizer25->Add(itemButton28, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); itemBoxSizer25->Add(itemButton28, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
#endif #endif
familyChoice = (wxChoice*) FindWindow(wxID_FONT_FAMILY); m_familyChoice = (wxChoice*) FindWindow(wxID_FONT_FAMILY);
styleChoice = (wxChoice*) FindWindow(wxID_FONT_STYLE); m_styleChoice = (wxChoice*) FindWindow(wxID_FONT_STYLE);
weightChoice = (wxChoice*) FindWindow(wxID_FONT_WEIGHT); m_weightChoice = (wxChoice*) FindWindow(wxID_FONT_WEIGHT);
colourChoice = (wxChoice*) FindWindow(wxID_FONT_COLOUR); m_colourChoice = (wxChoice*) FindWindow(wxID_FONT_COLOUR);
underLineCheckBox = (wxCheckBox*) FindWindow(wxID_FONT_UNDERLINE); m_underLineCheckBox = (wxCheckBox*) FindWindow(wxID_FONT_UNDERLINE);
familyChoice->SetStringSelection( wxFontFamilyIntToString(dialogFont.GetFamily()) );
styleChoice->SetStringSelection(wxFontStyleIntToString(dialogFont.GetStyle()));
weightChoice->SetStringSelection(wxFontWeightIntToString(dialogFont.GetWeight()));
if (colourChoice) m_familyChoice->SetStringSelection( wxFontFamilyIntToString(m_dialogFont.GetFamily()) );
m_styleChoice->SetStringSelection(wxFontStyleIntToString(m_dialogFont.GetStyle()));
m_weightChoice->SetStringSelection(wxFontWeightIntToString(m_dialogFont.GetWeight()));
if (m_colourChoice)
{ {
wxString name(wxTheColourDatabase->FindName(m_fontData.GetColour())); wxString name(wxTheColourDatabase->FindName(m_fontData.GetColour()));
if (name.length()) if (name.length())
colourChoice->SetStringSelection(name); m_colourChoice->SetStringSelection(name);
else else
colourChoice->SetStringSelection(wxT("BLACK")); m_colourChoice->SetStringSelection(wxT("BLACK"));
} }
if (underLineCheckBox) if (m_underLineCheckBox)
{ {
underLineCheckBox->SetValue(dialogFont.GetUnderlined()); m_underLineCheckBox->SetValue(m_dialogFont.GetUnderlined());
} }
#if USE_SPINCTRL_FOR_POINT_SIZE #if USE_SPINCTRL_FOR_POINT_SIZE
spinCtrl->SetValue(dialogFont.GetPointSize()); spinCtrl->SetValue(m_dialogFont.GetPointSize());
#else #else
pointSizeChoice = (wxChoice*) FindWindow(wxID_FONT_SIZE); m_pointSizeChoice = (wxChoice*) FindWindow(wxID_FONT_SIZE);
pointSizeChoice->SetSelection(dialogFont.GetPointSize()-1); m_pointSizeChoice->SetSelection(m_dialogFont.GetPointSize()-1);
#endif #endif
#if !defined(__SMARTPHONE__) && !defined(__POCKETPC__) #if !defined(__SMARTPHONE__) && !defined(__POCKETPC__)
GetSizer()->SetItemMinSize(m_previewer, is_pda ? 100 : 430, is_pda ? 40 : 100); GetSizer()->SetItemMinSize(m_previewer, is_pda ? 100 : 430, is_pda ? 40 : 100);
GetSizer()->SetSizeHints(this); GetSizer()->SetSizeHints(this);
GetSizer()->Fit(this); GetSizer()->Fit(this);
Centre(wxBOTH); Centre(wxBOTH);
#endif #endif
@@ -469,44 +467,49 @@ void wxGenericFontDialog::InitializeFont()
fontUnderline = m_fontData.m_initialFont.GetUnderlined(); fontUnderline = m_fontData.m_initialFont.GetUnderlined();
} }
dialogFont = wxFont(fontSize, fontFamily, fontStyle, m_dialogFont = wxFont(fontSize, fontFamily, fontStyle,
fontWeight, fontUnderline); fontWeight, fontUnderline);
if (m_previewer) if (m_previewer)
m_previewer->SetFont(dialogFont); m_previewer->SetFont(m_dialogFont);
} }
void wxGenericFontDialog::OnChangeFont(wxCommandEvent& WXUNUSED(event)) void wxGenericFontDialog::OnChangeFont(wxCommandEvent& WXUNUSED(event))
{
DoChangeFont();
}
void wxGenericFontDialog::DoChangeFont()
{ {
if (!m_useEvents) return; if (!m_useEvents) return;
int fontFamily = wxFontFamilyStringToInt(WXSTRINGCAST familyChoice->GetStringSelection()); int fontFamily = wxFontFamilyStringToInt(WXSTRINGCAST m_familyChoice->GetStringSelection());
int fontWeight = wxFontWeightStringToInt(WXSTRINGCAST weightChoice->GetStringSelection()); int fontWeight = wxFontWeightStringToInt(WXSTRINGCAST m_weightChoice->GetStringSelection());
int fontStyle = wxFontStyleStringToInt(WXSTRINGCAST styleChoice->GetStringSelection()); int fontStyle = wxFontStyleStringToInt(WXSTRINGCAST m_styleChoice->GetStringSelection());
#if USE_SPINCTRL_FOR_POINT_SIZE #if USE_SPINCTRL_FOR_POINT_SIZE
wxSpinCtrl* fontSizeCtrl = wxDynamicCast(FindWindow(wxID_FONT_SIZE), wxSpinCtrl); wxSpinCtrl* fontSizeCtrl = wxDynamicCast(FindWindow(wxID_FONT_SIZE), wxSpinCtrl);
int fontSize = fontSizeCtrl->GetValue(); int fontSize = fontSizeCtrl->GetValue();
#else #else
int fontSize = wxAtoi(pointSizeChoice->GetStringSelection()); int fontSize = wxAtoi(m_pointSizeChoice->GetStringSelection());
#endif #endif
// Start with previous underline setting, we want to retain it even if we can't edit it // Start with previous underline setting, we want to retain it even if we can't edit it
// dialogFont is always initialized because of the call to InitializeFont // m_dialogFont is always initialized because of the call to InitializeFont
int fontUnderline = dialogFont.GetUnderlined(); int fontUnderline = m_dialogFont.GetUnderlined();
if (underLineCheckBox) if (m_underLineCheckBox)
{ {
fontUnderline = underLineCheckBox->GetValue(); fontUnderline = m_underLineCheckBox->GetValue();
} }
dialogFont = wxFont(fontSize, fontFamily, fontStyle, fontWeight, (fontUnderline != 0)); m_dialogFont = wxFont(fontSize, fontFamily, fontStyle, fontWeight, (fontUnderline != 0));
m_previewer->SetFont(dialogFont); m_previewer->SetFont(m_dialogFont);
if ( colourChoice ) if ( m_colourChoice )
{ {
if ( !colourChoice->GetStringSelection().empty() ) if ( !m_colourChoice->GetStringSelection().empty() )
{ {
wxColour col = wxTheColourDatabase->Find(colourChoice->GetStringSelection()); wxColour col = wxTheColourDatabase->Find(m_colourChoice->GetStringSelection());
if (col.Ok()) if (col.Ok())
{ {
m_fontData.m_fontColour = col; m_fontData.m_fontColour = col;
@@ -517,108 +520,106 @@ void wxGenericFontDialog::OnChangeFont(wxCommandEvent& WXUNUSED(event))
// (EnableEffects may be false) // (EnableEffects may be false)
if (m_fontData.m_fontColour.Ok()) if (m_fontData.m_fontColour.Ok())
m_previewer->SetForegroundColour(m_fontData.m_fontColour); m_previewer->SetForegroundColour(m_fontData.m_fontColour);
m_previewer->Refresh(); m_previewer->Refresh();
} }
#if USE_SPINCTRL_FOR_POINT_SIZE #if USE_SPINCTRL_FOR_POINT_SIZE
void wxGenericFontDialog::OnChangeSize(wxSpinEvent& WXUNUSED(event)) void wxGenericFontDialog::OnChangeSize(wxSpinEvent& WXUNUSED(event))
{ {
wxCommandEvent cmdEvent; DoChangeFont();
OnChangeFont(cmdEvent);
} }
#endif #endif
const wxChar *wxFontWeightIntToString(int weight) const wxChar *wxFontWeightIntToString(int weight)
{ {
switch (weight) switch (weight)
{ {
case wxLIGHT: case wxLIGHT:
return wxT("Light"); return wxT("Light");
case wxBOLD: case wxBOLD:
return wxT("Bold"); return wxT("Bold");
case wxNORMAL: case wxNORMAL:
default: default:
return wxT("Normal"); return wxT("Normal");
} }
} }
const wxChar *wxFontStyleIntToString(int style) const wxChar *wxFontStyleIntToString(int style)
{ {
switch (style) switch (style)
{ {
case wxITALIC: case wxITALIC:
return wxT("Italic"); return wxT("Italic");
case wxSLANT: case wxSLANT:
return wxT("Slant"); return wxT("Slant");
case wxNORMAL: case wxNORMAL:
default: default:
return wxT("Normal"); return wxT("Normal");
} }
} }
const wxChar *wxFontFamilyIntToString(int family) const wxChar *wxFontFamilyIntToString(int family)
{ {
switch (family) switch (family)
{ {
case wxROMAN: case wxROMAN:
return wxT("Roman"); return wxT("Roman");
case wxDECORATIVE: case wxDECORATIVE:
return wxT("Decorative"); return wxT("Decorative");
case wxMODERN: case wxMODERN:
return wxT("Modern"); return wxT("Modern");
case wxSCRIPT: case wxSCRIPT:
return wxT("Script"); return wxT("Script");
case wxTELETYPE: case wxTELETYPE:
return wxT("Teletype"); return wxT("Teletype");
case wxSWISS: case wxSWISS:
default: default:
return wxT("Swiss"); return wxT("Swiss");
} }
} }
int wxFontFamilyStringToInt(wxChar *family) int wxFontFamilyStringToInt(wxChar *family)
{ {
if (!family) if (!family)
return wxSWISS; return wxSWISS;
if (wxStrcmp(family, wxT("Roman")) == 0) if (wxStrcmp(family, wxT("Roman")) == 0)
return wxROMAN; return wxROMAN;
else if (wxStrcmp(family, wxT("Decorative")) == 0) else if (wxStrcmp(family, wxT("Decorative")) == 0)
return wxDECORATIVE; return wxDECORATIVE;
else if (wxStrcmp(family, wxT("Modern")) == 0) else if (wxStrcmp(family, wxT("Modern")) == 0)
return wxMODERN; return wxMODERN;
else if (wxStrcmp(family, wxT("Script")) == 0) else if (wxStrcmp(family, wxT("Script")) == 0)
return wxSCRIPT; return wxSCRIPT;
else if (wxStrcmp(family, wxT("Teletype")) == 0) else if (wxStrcmp(family, wxT("Teletype")) == 0)
return wxTELETYPE; return wxTELETYPE;
else return wxSWISS; else return wxSWISS;
} }
int wxFontStyleStringToInt(wxChar *style) int wxFontStyleStringToInt(wxChar *style)
{ {
if (!style) if (!style)
return wxNORMAL; return wxNORMAL;
if (wxStrcmp(style, wxT("Italic")) == 0) if (wxStrcmp(style, wxT("Italic")) == 0)
return wxITALIC; return wxITALIC;
else if (wxStrcmp(style, wxT("Slant")) == 0) else if (wxStrcmp(style, wxT("Slant")) == 0)
return wxSLANT; return wxSLANT;
else else
return wxNORMAL; return wxNORMAL;
} }
int wxFontWeightStringToInt(wxChar *weight) int wxFontWeightStringToInt(wxChar *weight)
{ {
if (!weight) if (!weight)
return wxNORMAL; return wxNORMAL;
if (wxStrcmp(weight, wxT("Bold")) == 0) if (wxStrcmp(weight, wxT("Bold")) == 0)
return wxBOLD; return wxBOLD;
else if (wxStrcmp(weight, wxT("Light")) == 0) else if (wxStrcmp(weight, wxT("Light")) == 0)
return wxLIGHT; return wxLIGHT;
else else
return wxNORMAL; return wxNORMAL;
} }
#endif #endif
// wxUSE_FONTDLG // wxUSE_FONTDLG