X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2fce6547622ff5f9e4ec31372b0f6172e87edefa..abe0903cd4a16c6d8f50a3263d601fc718038c6d:/src/richtext/richtextsymboldlg.cpp diff --git a/src/richtext/richtextsymboldlg.cpp b/src/richtext/richtextsymboldlg.cpp index 12b3c0000e..b5f9030900 100644 --- a/src/richtext/richtextsymboldlg.cpp +++ b/src/richtext/richtextsymboldlg.cpp @@ -296,24 +296,21 @@ BEGIN_EVENT_TABLE( wxSymbolPickerDialog, wxDialog ) #if defined(__UNICODE__) EVT_COMBOBOX( ID_SYMBOLPICKERDIALOG_SUBSET, wxSymbolPickerDialog::OnSubsetSelected ) + EVT_UPDATE_UI( ID_SYMBOLPICKERDIALOG_SUBSET, wxSymbolPickerDialog::OnSymbolpickerdialogSubsetUpdate ) #endif #if defined(__UNICODE__) EVT_COMBOBOX( ID_SYMBOLPICKERDIALOG_FROM, wxSymbolPickerDialog::OnFromUnicodeSelected ) #endif -#if defined(__WXMSW__) || defined(__WXGTK__) || defined(__WXOS2__) || defined(__WXMGL__) || defined(__WXMOTIF__) || defined(__WXCOCOA__) || defined(__WXX11__) || defined(__WXPALMOS__) EVT_UPDATE_UI( wxID_OK, wxSymbolPickerDialog::OnOkUpdate ) -#endif - -#if defined(__WXMAC__) - EVT_UPDATE_UI( wxID_OK, wxSymbolPickerDialog::OnOkUpdate ) -#endif ////@end wxSymbolPickerDialog event table entries END_EVENT_TABLE() +IMPLEMENT_HELP_PROVISION(wxSymbolPickerDialog) + /*! * wxSymbolPickerDialog constructors */ @@ -371,6 +368,7 @@ void wxSymbolPickerDialog::Init() #if defined(__UNICODE__) m_fromUnicodeCtrl = NULL; #endif + m_stdButtonSizer = NULL; ////@end wxSymbolPickerDialog member initialisation m_dontUpdate = false; } @@ -400,7 +398,7 @@ void wxSymbolPickerDialog::CreateControls() itemBoxSizer5->Add(itemStaticText6, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); wxArrayString m_fontCtrlStrings; - m_fontCtrl = new wxComboBox( itemDialog1, ID_SYMBOLPICKERDIALOG_FONT, _T(""), wxDefaultPosition, wxSize(240, -1), m_fontCtrlStrings, wxCB_READONLY ); + m_fontCtrl = new wxComboBox( itemDialog1, ID_SYMBOLPICKERDIALOG_FONT, wxEmptyString, wxDefaultPosition, wxSize(240, -1), m_fontCtrlStrings, wxCB_READONLY ); m_fontCtrl->SetHelpText(_("The font from which to take the symbol.")); if (wxSymbolPickerDialog::ShowToolTips()) m_fontCtrl->SetToolTip(_("The font from which to take the symbol.")); @@ -416,7 +414,7 @@ void wxSymbolPickerDialog::CreateControls() #if defined(__UNICODE__) wxArrayString m_subsetCtrlStrings; - m_subsetCtrl = new wxComboBox( itemDialog1, ID_SYMBOLPICKERDIALOG_SUBSET, _T(""), wxDefaultPosition, wxDefaultSize, m_subsetCtrlStrings, wxCB_READONLY ); + m_subsetCtrl = new wxComboBox( itemDialog1, ID_SYMBOLPICKERDIALOG_SUBSET, wxEmptyString, wxDefaultPosition, wxDefaultSize, m_subsetCtrlStrings, wxCB_READONLY ); m_subsetCtrl->SetHelpText(_("Shows a Unicode subset.")); if (wxSymbolPickerDialog::ShowToolTips()) m_subsetCtrl->SetToolTip(_("Shows a Unicode subset.")); @@ -438,7 +436,7 @@ void wxSymbolPickerDialog::CreateControls() wxStaticText* itemStaticText15 = new wxStaticText( itemDialog1, wxID_STATIC, _("&Character code:"), wxDefaultPosition, wxDefaultSize, 0 ); itemBoxSizer12->Add(itemStaticText15, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - m_characterCodeCtrl = new wxTextCtrl( itemDialog1, ID_SYMBOLPICKERDIALOG_CHARACTERCODE, _T(""), wxDefaultPosition, wxSize(140, -1), wxTE_READONLY|wxTE_CENTRE ); + m_characterCodeCtrl = new wxTextCtrl( itemDialog1, ID_SYMBOLPICKERDIALOG_CHARACTERCODE, wxEmptyString, wxDefaultPosition, wxSize(140, -1), wxTE_READONLY|wxTE_CENTRE ); m_characterCodeCtrl->SetHelpText(_("The character code.")); if (wxSymbolPickerDialog::ShowToolTips()) m_characterCodeCtrl->SetToolTip(_("The character code.")); @@ -456,8 +454,8 @@ void wxSymbolPickerDialog::CreateControls() wxArrayString m_fromUnicodeCtrlStrings; m_fromUnicodeCtrlStrings.Add(_("ASCII")); m_fromUnicodeCtrlStrings.Add(_("Unicode")); - m_fromUnicodeCtrl = new wxComboBox( itemDialog1, ID_SYMBOLPICKERDIALOG_FROM, _("ASCII"), wxDefaultPosition, wxDefaultSize, m_fromUnicodeCtrlStrings, wxCB_READONLY ); - m_fromUnicodeCtrl->SetStringSelection(_("ASCII")); + m_fromUnicodeCtrl = new wxComboBox( itemDialog1, ID_SYMBOLPICKERDIALOG_FROM, _("Unicode"), wxDefaultPosition, wxDefaultSize, m_fromUnicodeCtrlStrings, wxCB_READONLY ); + m_fromUnicodeCtrl->SetStringSelection(_("Unicode")); m_fromUnicodeCtrl->SetHelpText(_("The range to show.")); if (wxSymbolPickerDialog::ShowToolTips()) m_fromUnicodeCtrl->SetToolTip(_("The range to show.")); @@ -465,50 +463,29 @@ void wxSymbolPickerDialog::CreateControls() #endif -#if defined(__WXMSW__) || defined(__WXGTK__) || defined(__WXOS2__) || defined(__WXMGL__) || defined(__WXMOTIF__) || defined(__WXCOCOA__) || defined(__WXX11__) || defined(__WXPALMOS__) - wxBoxSizer* itemBoxSizer20 = new wxBoxSizer(wxHORIZONTAL); - itemBoxSizer3->Add(itemBoxSizer20, 0, wxGROW, 5); - - itemBoxSizer20->Add(5, 5, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5); + m_stdButtonSizer = new wxStdDialogButtonSizer; - wxButton* itemButton22 = new wxButton( itemDialog1, wxID_OK, _("Insert"), wxDefaultPosition, wxDefaultSize, 0 ); - itemButton22->SetDefault(); - itemButton22->SetHelpText(_("Inserts the chosen symbol.")); - if (wxSymbolPickerDialog::ShowToolTips()) - itemButton22->SetToolTip(_("Inserts the chosen symbol.")); - itemBoxSizer20->Add(itemButton22, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - - wxButton* itemButton23 = new wxButton( itemDialog1, wxID_CANCEL, _("Close"), wxDefaultPosition, wxDefaultSize, 0 ); - itemButton23->SetHelpText(_("Closes the dialog without inserting a symbol.")); - if (wxSymbolPickerDialog::ShowToolTips()) - itemButton23->SetToolTip(_("Closes the dialog without inserting a symbol.")); - itemBoxSizer20->Add(itemButton23, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + itemBoxSizer3->Add(m_stdButtonSizer, 0, wxGROW|wxTOP|wxBOTTOM, 5); + wxButton* itemButton21 = new wxButton( itemDialog1, wxID_OK, _("Insert"), wxDefaultPosition, wxDefaultSize, 0 ); + itemButton21->SetDefault(); + m_stdButtonSizer->AddButton(itemButton21); -#endif - -#if defined(__WXMAC__) - wxBoxSizer* itemBoxSizer24 = new wxBoxSizer(wxHORIZONTAL); - itemBoxSizer3->Add(itemBoxSizer24, 0, wxGROW, 5); + wxButton* itemButton22 = new wxButton( itemDialog1, wxID_CANCEL, _("Close"), wxDefaultPosition, wxDefaultSize, 0 ); + m_stdButtonSizer->AddButton(itemButton22); - itemBoxSizer24->Add(5, 5, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5); + wxButton* itemButton23 = new wxButton( itemDialog1, wxID_HELP, _("&Help"), wxDefaultPosition, wxDefaultSize, 0 ); + m_stdButtonSizer->AddButton(itemButton23); - wxButton* itemButton26 = new wxButton( itemDialog1, wxID_CANCEL, _("Close"), wxDefaultPosition, wxDefaultSize, 0 ); - itemButton26->SetHelpText(_("Closes the dialog without inserting a symbol.")); - if (wxSymbolPickerDialog::ShowToolTips()) - itemButton26->SetToolTip(_("Closes the dialog without inserting a symbol.")); - itemBoxSizer24->Add(itemButton26, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - - wxButton* itemButton27 = new wxButton( itemDialog1, wxID_OK, _("Insert"), wxDefaultPosition, wxDefaultSize, 0 ); - itemButton27->SetDefault(); - itemButton27->SetHelpText(_("Inserts the chosen symbol.")); - if (wxSymbolPickerDialog::ShowToolTips()) - itemButton27->SetToolTip(_("Inserts the chosen symbol.")); - itemBoxSizer24->Add(itemButton27, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - -#endif + m_stdButtonSizer->Realize(); ////@end wxSymbolPickerDialog content construction + if (GetHelpId() == -1) + { + wxWindow* button = FindWindowById(wxID_HELP); + if (button) + m_stdButtonSizer->Show(button, false); + } } /// Data transfer @@ -535,18 +512,12 @@ bool wxSymbolPickerDialog::TransferDataToWindow() m_fontCtrl->SetSelection(0); } - if (!m_symbol.empty()) - { - int sel = (int) m_symbol[0]; - m_symbolsCtrl->SetSelection(sel); - } - #if defined(__UNICODE__) if (m_subsetCtrl->GetCount() == 0) { // Insert items into subset combo int i; - for (i = 0; i < (int) (sizeof(g_UnicodeSubsetTable)/sizeof(g_UnicodeSubsetTable[0])); i++) + for (i = 0; i < (int) WXSIZEOF(g_UnicodeSubsetTable); i++) { m_subsetCtrl->Append(g_UnicodeSubsetTable[i].m_name); } @@ -554,7 +525,17 @@ bool wxSymbolPickerDialog::TransferDataToWindow() } #endif - UpdateSymbolDisplay(); +#if defined(__UNICODE__) + m_symbolsCtrl->SetUnicodeMode(m_fromUnicode); +#endif + + if (!m_symbol.empty()) + { + int sel = (int) m_symbol[0]; + m_symbolsCtrl->SetSelection(sel); + } + + UpdateSymbolDisplay(true, m_symbol.empty()); m_dontUpdate = false; @@ -648,7 +629,7 @@ void wxSymbolPickerDialog::OnSymbolSelected( wxCommandEvent& event ) { // Need to make the subset selection reflect the current symbol int i; - for (i = 0; i < (int) (sizeof(g_UnicodeSubsetTable)/sizeof(g_UnicodeSubsetTable[0])); i++) + for (i = 0; i < (int) WXSIZEOF(g_UnicodeSubsetTable); i++) { if (sel >= g_UnicodeSubsetTable[i].m_low && sel <= g_UnicodeSubsetTable[i].m_high) { @@ -686,6 +667,18 @@ void wxSymbolPickerDialog::OnSubsetSelected( wxCommandEvent& WXUNUSED(event) ) } #endif +#if defined(__UNICODE__) + +/*! + * wxEVT_UPDATE_UI event handler for ID_SYMBOLPICKERDIALOG_SUBSET + */ + +void wxSymbolPickerDialog::OnSymbolpickerdialogSubsetUpdate( wxUpdateUIEvent& event ) +{ + event.Enable(m_fromUnicode); +} +#endif + /*! * wxEVT_UPDATE_UI event handler for wxID_OK */ @@ -811,6 +804,8 @@ bool wxSymbolListCtrl::Create(wxWindow *parent, SetupCtrl(); + SetInitialSize(size); + return true; } @@ -832,7 +827,7 @@ bool wxSymbolListCtrl::DoSetCurrent(int current) { wxASSERT_MSG( current == wxNOT_FOUND || (current >= m_minSymbolValue && current <= m_maxSymbolValue), - _T("wxSymbolListCtrl::DoSetCurrent(): invalid symbol value") ); + wxT("wxSymbolListCtrl::DoSetCurrent(): invalid symbol value") ); if ( current == m_current ) { @@ -885,7 +880,7 @@ void wxSymbolListCtrl::SetSelection(int selection) { wxCHECK_RET( selection == wxNOT_FOUND || (selection >= m_minSymbolValue && selection < m_maxSymbolValue), - _T("wxSymbolListCtrl::SetSelection(): invalid symbol value") ); + wxT("wxSymbolListCtrl::SetSelection(): invalid symbol value") ); DoSetCurrent(selection); } @@ -999,7 +994,7 @@ void wxSymbolListCtrl::OnPaint(wxPaintEvent& WXUNUSED(event)) dc.SetPen(wxPen(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT))); dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT)); - dc.SetBackgroundMode(wxTRANSPARENT); + dc.SetBackgroundMode(wxBRUSHSTYLE_TRANSPARENT); // iterate over all visible lines const size_t lineMax = GetVisibleEnd();