X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c030b70fc6270c2e44a81f83e69fcc91d2b3c768..8be97d65a6675eeaf0529dbb55f66d0eb5c5214f:/src/generic/fontdlgg.cpp?ds=sidebyside diff --git a/src/generic/fontdlgg.cpp b/src/generic/fontdlgg.cpp index 191f62517d..d08904e7ac 100644 --- a/src/generic/fontdlgg.cpp +++ b/src/generic/fontdlgg.cpp @@ -51,6 +51,7 @@ BEGIN_EVENT_TABLE(wxGenericFontDialog, wxDialog) EVT_CHOICE(wxID_FONT_COLOUR, wxGenericFontDialog::OnChangeFont) EVT_CHOICE(wxID_FONT_SIZE, wxGenericFontDialog::OnChangeFont) EVT_PAINT(wxGenericFontDialog::OnPaint) + EVT_CLOSE(wxGenericFontDialog::OnCloseWindow) END_EVENT_TABLE() #endif @@ -132,10 +133,9 @@ wxGenericFontDialog::~wxGenericFontDialog(void) { } -bool wxGenericFontDialog::OnClose(void) +void wxGenericFontDialog::OnCloseWindow(wxCloseEvent& event) { - Show(FALSE); - return FALSE; + EndModal(wxID_CANCEL); } bool wxGenericFontDialog::Create(wxWindow *parent, wxFontData *data) @@ -204,7 +204,7 @@ void wxGenericFontDialog::CreateWidgets(void) */ wxString - *families = new wxString[5], + *families = new wxString[6], *styles = new wxString[3], *weights = new wxString[3]; families[0] = _("Roman"); @@ -212,6 +212,7 @@ void wxGenericFontDialog::CreateWidgets(void) families[2] = _("Modern"); families[3] = _("Script"); families[4] = _("Swiss" ); + families[5] = _("Teletype" ); styles[0] = _("Normal"); styles[1] = _("Italic"); styles[2] = _("Slant"); @@ -222,10 +223,10 @@ void wxGenericFontDialog::CreateWidgets(void) int x=-1; int y=40; familyChoice = new wxChoice(this, wxID_FONT_FAMILY, wxPoint(10, 10), wxSize(120, -1), 5, families); - styleChoice = new wxChoice(this, wxID_FONT_STYLE, wxPoint(160, 10), wxSize(120, -1), 3, styles); - weightChoice = new wxChoice(this, wxID_FONT_WEIGHT, wxPoint(310, 10), wxSize(120, -1), 3, weights); + styleChoice = new wxChoice(this, wxID_FONT_STYLE, wxPoint(170, 10), wxSize(120, -1), 3, styles); + weightChoice = new wxChoice(this, wxID_FONT_WEIGHT, wxPoint(330, 10), wxSize(120, -1), 3, weights); - colourChoice = new wxChoice(this, wxID_FONT_COLOUR, wxPoint(10, 40), wxSize(190, -1), NUM_COLS, wxColourDialogNames); + colourChoice = new wxChoice(this, wxID_FONT_COLOUR, wxPoint(10, 40), wxSize(180, -1), NUM_COLS, wxColourDialogNames); #if 0 // def __WXMOTIF__ // TODO: This necessary now? // We want the pointSizeText to line up on the y axis with the colourChoice colourChoice->GetPosition(&fontRect.x, &y); //NL mod @@ -254,10 +255,10 @@ void wxGenericFontDialog::CreateWidgets(void) fontRect.y+=y+5; //NL mod - int by = (fontRect.y + fontRect.height + 10); + int by = (fontRect.y + fontRect.height + 15); - wxButton *okButton = new wxButton(this, wxID_OK, _("OK"), wxPoint(220, by), wxSize(100,-1)); - (void) new wxButton(this, wxID_OK, _("Cancel"), wxPoint(340, by), wxSize(100,-1)); + wxButton *okButton = new wxButton(this, wxID_OK, _("OK"), wxPoint(230, by), wxSize(75,-1)); + (void) new wxButton(this, wxID_OK, _("Cancel"), wxPoint(330, by), wxSize(75,-1)); familyChoice->SetStringSelection( wxFontFamilyIntToString(dialogFont.GetFamily()) ); styleChoice->SetStringSelection(wxFontStyleIntToString(dialogFont.GetStyle())); @@ -270,7 +271,8 @@ void wxGenericFontDialog::CreateWidgets(void) okButton->SetDefault(); - SetClientSize(450, by + 40); + // SetClientSize(450, by + 40); + Fit(); Centre(wxBOTH); @@ -335,16 +337,20 @@ void wxGenericFontDialog::OnChangeFont(wxCommandEvent& WXUNUSED(event)) { if (!m_useEvents) return; - int fontFamily = wxFontFamilyStringToInt(WXSTRINGCAST familyChoice->GetStringSelection()); - int fontWeight = wxFontWeightStringToInt(WXSTRINGCAST weightChoice->GetStringSelection()); - int fontStyle = wxFontStyleStringToInt(WXSTRINGCAST styleChoice->GetStringSelection()); + int fontFamily = 0; /* shut up buggy egcs warnings */ + fontFamily = wxFontFamilyStringToInt(WXSTRINGCAST familyChoice->GetStringSelection()); + int fontWeight = 0; + fontWeight = wxFontWeightStringToInt(WXSTRINGCAST weightChoice->GetStringSelection()); + int fontStyle = 0; + fontStyle = wxFontStyleStringToInt(WXSTRINGCAST styleChoice->GetStringSelection()); int fontSize = atoi(pointSizeChoice->GetStringSelection()); int fontUnderline = underLineCheckBox->GetValue(); dialogFont = wxFont(fontSize, fontFamily, fontStyle, fontWeight, (fontUnderline != 0)); if (colourChoice->GetStringSelection() != "") { - wxColour *col = wxTheColourDatabase->FindColour(colourChoice->GetStringSelection()); + wxColour *col = (wxColour*) NULL; + col = wxTheColourDatabase->FindColour(colourChoice->GetStringSelection()); if (col) { fontData.fontColour = *col; @@ -397,6 +403,8 @@ char *wxFontFamilyIntToString(int family) return "Modern"; case wxSCRIPT: return "Script"; + case wxTELETYPE: + return "Teletype"; case wxSWISS: default: return "Swiss"; @@ -417,6 +425,8 @@ int wxFontFamilyStringToInt(char *family) return wxMODERN; else if (strcmp(family, "Script") == 0) return wxSCRIPT; + else if (strcmp(family, "Teletype") == 0) + return wxTELETYPE; else return wxSWISS; }