X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/04ee05f92add0ab92ce08ecb827e3be41336aa06..12bb29f5432174ecbd65549bda832d70d34a98ae:/src/richtext/richtextsymboldlg.cpp diff --git a/src/richtext/richtextsymboldlg.cpp b/src/richtext/richtextsymboldlg.cpp index 5c83e5f66e..05a19477ad 100644 --- a/src/richtext/richtextsymboldlg.cpp +++ b/src/richtext/richtextsymboldlg.cpp @@ -293,9 +293,9 @@ BEGIN_EVENT_TABLE( wxSymbolPickerDialog, wxDialog ) ////@begin wxSymbolPickerDialog event table entries EVT_COMBOBOX( ID_SYMBOLPICKERDIALOG_FONT, wxSymbolPickerDialog::OnFontCtrlSelected ) - #if defined(__UNICODE__) EVT_COMBOBOX( ID_SYMBOLPICKERDIALOG_SUBSET, wxSymbolPickerDialog::OnSubsetSelected ) + EVT_UPDATE_UI( ID_SYMBOLPICKERDIALOG_SUBSET, wxSymbolPickerDialog::OnSymbolpickerdialogSubsetUpdate ) #endif #if defined(__UNICODE__) @@ -303,11 +303,14 @@ BEGIN_EVENT_TABLE( wxSymbolPickerDialog, wxDialog ) #endif EVT_UPDATE_UI( wxID_OK, wxSymbolPickerDialog::OnOkUpdate ) - + EVT_BUTTON( wxID_HELP, wxSymbolPickerDialog::OnHelpClick ) + EVT_UPDATE_UI( wxID_HELP, wxSymbolPickerDialog::OnHelpUpdate ) ////@end wxSymbolPickerDialog event table entries END_EVENT_TABLE() +IMPLEMENT_HELP_PROVISION(wxSymbolPickerDialog) + /*! * wxSymbolPickerDialog constructors */ @@ -365,6 +368,7 @@ void wxSymbolPickerDialog::Init() #if defined(__UNICODE__) m_fromUnicodeCtrl = NULL; #endif + m_stdButtonSizer = NULL; ////@end wxSymbolPickerDialog member initialisation m_dontUpdate = false; } @@ -375,6 +379,10 @@ void wxSymbolPickerDialog::Init() void wxSymbolPickerDialog::CreateControls() { +#ifdef __WXMAC__ + SetWindowVariant(wxWINDOW_VARIANT_SMALL); +#endif + ////@begin wxSymbolPickerDialog content construction wxSymbolPickerDialog* itemDialog1 = this; @@ -394,7 +402,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.")); @@ -410,7 +418,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.")); @@ -432,7 +440,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.")); @@ -450,8 +458,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.")); @@ -459,25 +467,29 @@ void wxSymbolPickerDialog::CreateControls() #endif - 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; - wxStdDialogButtonSizer* itemStdDialogButtonSizer22 = new wxStdDialogButtonSizer; + 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); - itemBoxSizer20->Add(itemStdDialogButtonSizer22, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5); - wxButton* itemButton23 = new wxButton( itemDialog1, wxID_OK, _("Insert"), wxDefaultPosition, wxDefaultSize, 0 ); - itemButton23->SetDefault(); - itemStdDialogButtonSizer22->AddButton(itemButton23); + wxButton* itemButton22 = new wxButton( itemDialog1, wxID_CANCEL, _("Close"), wxDefaultPosition, wxDefaultSize, 0 ); + m_stdButtonSizer->AddButton(itemButton22); - wxButton* itemButton24 = new wxButton( itemDialog1, wxID_CANCEL, _("Close"), wxDefaultPosition, wxDefaultSize, 0 ); - itemStdDialogButtonSizer22->AddButton(itemButton24); + wxButton* itemButton23 = new wxButton( itemDialog1, wxID_HELP, _("&Help"), wxDefaultPosition, wxDefaultSize, 0 ); + m_stdButtonSizer->AddButton(itemButton23); - itemStdDialogButtonSizer22->Realize(); + m_stdButtonSizer->Realize(); ////@end wxSymbolPickerDialog content construction + if (GetHelpId() == -1) + { + wxWindow* button = FindWindowById(wxID_HELP); + if (button) + m_stdButtonSizer->Show(button, false); + } } /// Data transfer @@ -504,18 +516,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); } @@ -523,7 +529,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; @@ -617,7 +633,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) { @@ -655,6 +671,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 */ @@ -780,6 +808,8 @@ bool wxSymbolListCtrl::Create(wxWindow *parent, SetupCtrl(); + SetInitialSize(size); + return true; } @@ -801,7 +831,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 ) { @@ -843,7 +873,7 @@ bool wxSymbolListCtrl::DoSetCurrent(int current) void wxSymbolListCtrl::SendSelectedEvent() { - wxCommandEvent event(wxEVT_COMMAND_LISTBOX_SELECTED, GetId()); + wxCommandEvent event(wxEVT_LISTBOX, GetId()); event.SetEventObject(this); event.SetInt(m_current); @@ -854,7 +884,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); } @@ -1150,7 +1180,7 @@ void wxSymbolListCtrl::OnLeftDClick(wxMouseEvent& eventMouse) // this event as a left-click instead if ( item == m_current ) { - wxCommandEvent event(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, GetId()); + wxCommandEvent event(wxEVT_LISTBOX_DCLICK, GetId()); event.SetEventObject(this); event.SetInt(item); @@ -1262,4 +1292,24 @@ wxSymbolListCtrl::GetClassDefaultAttributes(wxWindowVariant variant) return wxListBox::GetClassDefaultAttributes(variant); } -#endif // wxUSE_RICHTEXT +/*! + * wxEVT_BUTTON event handler for wxID_HELP + */ + +void wxSymbolPickerDialog::OnHelpClick( wxCommandEvent& WXUNUSED(event) ) +{ + if ((GetHelpInfo().GetHelpId() != -1) && GetHelpInfo().GetUICustomization()) + ShowHelp(this); +} + +/*! + * wxEVT_UPDATE_UI event handler for wxID_HELP + */ + +void wxSymbolPickerDialog::OnHelpUpdate( wxUpdateUIEvent& event ) +{ + event.Enable((GetHelpInfo().GetHelpId() != -1) && GetHelpInfo().GetUICustomization()); +} + +#endif + // wxUSE_RICHTEXT