X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/da603a6786ae42c68b1b8bf31f3d4b1de290b4c0..57bf907d8e45ced18486d74c04f41c06034b7e65:/samples/controls/controls.cpp?ds=inline diff --git a/samples/controls/controls.cpp b/samples/controls/controls.cpp index 236468c6cb..ab41f78dc8 100644 --- a/samples/controls/controls.cpp +++ b/samples/controls/controls.cpp @@ -644,8 +644,8 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) wxString choices[] = { _T("This"), - _T("is one of my"), - _T("really"), + _T("is"), + _T("one of my long and"), _T("wonderful"), _T("examples.") }; @@ -736,10 +736,10 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) wxPanel *panel = new wxPanel(m_book); m_listbox = new wxListBox( panel, ID_LISTBOX, wxPoint(10,10), wxSize(120,70), - 5, choices, wxLB_MULTIPLE |wxLB_ALWAYS_SB ); + 5, choices, wxLB_MULTIPLE | wxLB_ALWAYS_SB | wxHSCROLL ); m_listboxSorted = new wxListBox( panel, ID_LISTBOX_SORTED, wxPoint(10,90), wxSize(120,70), - 5, choices, wxLB_SORT ); + 3, choices, wxLB_SORT ); SetListboxClientData(wxT("listbox"), m_listbox); SetListboxClientData(wxT("listbox"), m_listboxSorted); @@ -934,7 +934,7 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) s << initialSpinValue; m_spintext = new wxTextCtrl( panel, wxID_ANY, s, wxPoint(20,160), wxSize(80,wxDefaultCoord) ); #if wxUSE_SPINBTN - m_spinbutton = new wxSpinButton( panel, ID_SPIN, wxPoint(103,160) ); + m_spinbutton = new wxSpinButton( panel, ID_SPIN, wxPoint(103,160), wxSize(-1, m_spintext->GetSize().y) ); m_spinbutton->SetRange(-40,30); m_spinbutton->SetValue(initialSpinValue); @@ -1015,7 +1015,6 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) // sizer panel = new wxPanel(m_book); - panel->SetAutoLayout( true ); wxBoxSizer *sizer = new wxBoxSizer( wxVERTICAL ); @@ -1192,22 +1191,24 @@ void MyPanel::OnChangeColour(wxCommandEvent& WXUNUSED(event)) void MyPanel::OnListBox( wxCommandEvent &event ) { - if (event.GetInt() == -1) - { - m_text->AppendText( _T("ListBox has no selections anymore\n") ); - return; - } - wxListBox *listbox = event.GetId() == ID_LISTBOX ? m_listbox : m_listboxSorted; + bool deselect = false; + if (listbox->HasFlag(wxLB_MULTIPLE) || listbox->HasFlag(wxLB_EXTENDED)) + { + deselect = !event.IsSelection(); + if (deselect) + m_text->AppendText( _T("ListBox deselection event\n") ); + } + m_text->AppendText( _T("ListBox event selection string is: '") ); m_text->AppendText( event.GetString() ); m_text->AppendText( _T("'\n") ); // can't use GetStringSelection() with multiple selections, there could be // more than one of them - if ( !listbox->HasFlag(wxLB_MULTIPLE) ) + if ( !listbox->HasFlag(wxLB_MULTIPLE) && !listbox->HasFlag(wxLB_EXTENDED) ) { m_text->AppendText( _T("ListBox control selection string is: '") ); m_text->AppendText( listbox->GetStringSelection() ); @@ -1285,8 +1286,8 @@ void MyPanel::OnListBoxButtons( wxCommandEvent &event ) } case ID_LISTBOX_APPEND: { - m_listbox->Append( _T("Hi!") ); - m_listboxSorted->Append( _T("Hi!") ); + m_listbox->Append( _T("Hi kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk!") ); + m_listboxSorted->Append( _T("Hi hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh!") ); break; } case ID_LISTBOX_DELETE: @@ -1314,7 +1315,7 @@ void MyPanel::OnListBoxButtons( wxCommandEvent &event ) static wxString GetDataString(wxClientData *data) { - return data ? wx_static_cast(wxStringClientData *, data)->GetData() + return data ? static_cast(data)->GetData() : wxString("none"); } @@ -1911,8 +1912,8 @@ void MyFrame::OnMove( wxMoveEvent& event ) void MyFrame::OnIconized( wxIconizeEvent& event ) { - wxLogMessage(_T("Frame %s"), event.Iconized() ? _T("iconized") - : _T("restored")); + wxLogMessage(_T("Frame %s"), event.IsIconized() ? _T("iconized") + : _T("restored")); event.Skip(); }