-class wxHtmlHelpFrameOptionsDialog : public wxDialog
-{
- public:
- wxComboBox *NormalFont, *FixedFont;
- wxRadioButton *SFI_i, *SFI_s, *FFI_i, *FFI_s;
- wxRadioBox *RadioBox;
- wxHtmlWindow *TestWin;
-
- wxHtmlHelpFrameOptionsDialog(wxWindow *parent) : wxDialog(parent, -1, wxString(_("Help Browser Options")))
- {
- wxString choices[3] = {_("small"), _("medium"), _("large")};
- wxString choices2[2] = {_("italic"), _("slant")};
- wxBoxSizer *topsizer, *sizer, *sizer2, *sizer3;
-
- topsizer = new wxBoxSizer(wxVERTICAL);
-
- sizer = new wxBoxSizer(wxHORIZONTAL);
-
- sizer2 = new wxBoxSizer(wxVERTICAL);
- sizer2 -> Add(new wxStaticText(this, -1, _("Normal font:")),
- 0, wxLEFT | wxTOP, 10);
- sizer2 -> Add(NormalFont = new wxComboBox(this, -1, wxEmptyString, wxDefaultPosition, wxSize(200, -1), 0, NULL, wxCB_DROPDOWN | wxCB_READONLY),
- 1, wxEXPAND | wxLEFT | wxRIGHT, 10);
-
- sizer3 = new wxBoxSizer(wxHORIZONTAL);
- sizer3 -> Add(SFI_i = new wxRadioButton(this, -1, _("use italic"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP),
- 1, wxEXPAND, 0);
- sizer3 -> Add(SFI_s = new wxRadioButton(this, -1, _("use slant"), wxDefaultPosition, wxDefaultSize, 0),
- 1, wxEXPAND, 0);
- sizer2 -> Add(sizer3, 0, wxEXPAND | wxLEFT | wxRIGHT, 10);
-
- sizer -> Add(sizer2, 0, wxEXPAND | wxLEFT | wxRIGHT, 10);
-
- sizer2 = new wxBoxSizer(wxVERTICAL);
- sizer2 -> Add(new wxStaticText(this, -1, _("Fixed font:")),
- 0, wxLEFT | wxTOP, 10);
- sizer2 -> Add(FixedFont = new wxComboBox(this, -1, wxEmptyString, wxDefaultPosition, wxSize(200, -1), 0, NULL, wxCB_DROPDOWN | wxCB_READONLY),
- 1, wxEXPAND | wxLEFT | wxRIGHT, 10);
-
- sizer3 = new wxBoxSizer(wxHORIZONTAL);
- sizer3 -> Add(FFI_i = new wxRadioButton(this, -1, _("use italic"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP),
- 1, wxEXPAND, 0);
- sizer3 -> Add(FFI_s = new wxRadioButton(this, -1, _("use slant"), wxDefaultPosition, wxDefaultSize, 0),
- 1, wxEXPAND, 0);
- sizer2 -> Add(sizer3, 0, wxEXPAND | wxLEFT | wxRIGHT, 10);
-
- sizer -> Add(sizer2, 0, wxEXPAND | wxLEFT | wxRIGHT, 10);
-
- topsizer -> Add(sizer);
-
- topsizer -> Add(RadioBox = new wxRadioBox(this, -1, _("Font size:"),
- wxDefaultPosition, wxDefaultSize, 3, choices, 3),
- 0, wxEXPAND | wxLEFT | wxRIGHT, 10);
-
- topsizer -> Add(new wxStaticText(this, -1, _("Preview:")),
- 0, wxLEFT | wxTOP, 10);
- topsizer -> Add(TestWin = new wxHtmlWindow(this, -1, wxDefaultPosition, wxSize(-1, 150)),
- 1, wxEXPAND | wxLEFT | wxTOP, 10);
-
- sizer = new wxBoxSizer(wxHORIZONTAL);
- sizer -> Add(new wxButton(this, wxID_OK, _("OK")), 0, wxALL, 10);
- sizer -> Add(new wxButton(this, wxID_CANCEL, _("Cancel")), 0, wxALL, 10);
- topsizer -> Add(sizer, 0, wxALIGN_RIGHT);
-
- SetAutoLayout(TRUE);
- SetSizer(topsizer);
- topsizer -> Fit(this);
- Centre(wxBOTH);
- }
-
-
- void UpdateTestWin()
- {
- wxBusyCursor bcur;
- SetFontsToHtmlWin(TestWin,
- NormalFont -> GetStringSelection(), SFI_i -> GetValue() ? wxITALIC : wxSLANT,
- FixedFont -> GetStringSelection(), FFI_i -> GetValue() ? wxITALIC : wxSLANT,
- RadioBox -> GetSelection());
- TestWin -> SetPage(_("<html><body>"
- "Normal face<br>(and <u>underlined</u>. <i>Italic face.</i> "
- "<b>Bold face.</b> <b><i>Bold italic face.</i></b><br>"
- "<font size=-2>font size -2</font><br>"
- "<font size=-1>font size -1</font><br>"
- "<font size=+0>font size +0</font><br>"
- "<font size=+1>font size +1</font><br>"
- "<font size=+2>font size +2</font><br>"
- "<font size=+3>font size +3</font><br>"
- "<font size=+4>font size +4</font><br>"
-
- "<p><tt>Fixed size face.<br> <b>bold</b> <i>italic</i> "
- "<b><i>bold italic <u>underlined</u></i></b></tt><br>"
- "<font size=-2>font size -2</font><br>"
- "<font size=-1>font size -1</font><br>"
- "<font size=+0>font size +0</font><br>"
- "<font size=+1>font size +1</font><br>"
- "<font size=+2>font size +2</font><br>"
- "<font size=+3>font size +3</font><br>"
- "<font size=+4>font size +4</font>"
- "</body></html>"));
- }
-
- void OnUpdate(wxCloseEvent& event)
- {
- UpdateTestWin();
- }
-
- DECLARE_EVENT_TABLE()
-};
-
-BEGIN_EVENT_TABLE(wxHtmlHelpFrameOptionsDialog, wxDialog)
- EVT_COMBOBOX(-1, wxHtmlHelpFrameOptionsDialog::OnUpdate)
- EVT_RADIOBOX(-1, wxHtmlHelpFrameOptionsDialog::OnUpdate)
- EVT_RADIOBUTTON(-1, wxHtmlHelpFrameOptionsDialog::OnUpdate)
-END_EVENT_TABLE()
-
-
-void wxHtmlHelpFrame::OptionsDialog()
-{
- wxHtmlHelpFrameOptionsDialog dlg(this);
- unsigned i;
-
- if (m_NormalFonts == NULL) {
- wxFontEnumerator enu;
- enu.EnumerateFacenames();
- m_NormalFonts = new wxArrayString;
- *m_NormalFonts = *enu.GetFacenames();
- m_NormalFonts -> Sort();
- }
- if (m_FixedFonts == NULL) {
- wxFontEnumerator enu;
- enu.EnumerateFacenames(wxFONTENCODING_SYSTEM, TRUE);
- m_FixedFonts = new wxArrayString;
- *m_FixedFonts = *enu.GetFacenames();
- m_FixedFonts -> Sort();