From 6fe7685d0cab06a5a7bc3d43e6845b2146db1af0 Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Tue, 6 Mar 2007 09:56:43 +0000 Subject: [PATCH] Made choice convenient dialog more, well, convenient: fixed lack of vertical expansion and increased list size for larger screens. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44620 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/generic/choicdgg.cpp | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/generic/choicdgg.cpp b/src/generic/choicdgg.cpp index f36e0b2b75..d037f6255d 100644 --- a/src/generic/choicdgg.cpp +++ b/src/generic/choicdgg.cpp @@ -40,6 +40,7 @@ #endif #include "wx/statline.h" +#include "wx/settings.h" #include "wx/generic/choicdgg.h" // ---------------------------------------------------------------------------- @@ -263,7 +264,7 @@ bool wxAnyChoiceDialog::Create(wxWindow *parent, m_listbox->SetSelection(0); topsizer-> - Add(m_listbox, wxSizerFlags().Expand().TripleBorder(wxLEFT | wxRIGHT)); + Add(m_listbox, wxSizerFlags().Expand().Proportion(1).TripleBorder(wxLEFT | wxRIGHT)); // 3) buttons if any wxSizer * @@ -301,8 +302,11 @@ bool wxAnyChoiceDialog::Create(wxWindow *parent, wxListBoxBase *wxAnyChoiceDialog::CreateList(int n, const wxString *choices, long styleLbox) { + wxSize size = wxDefaultSize; + if (wxSystemSettings::GetScreenType() > wxSYS_SCREEN_PDA) + size = wxSize(300, 200); return new wxListBox( this, wxID_LISTBOX, - wxDefaultPosition, wxDefaultSize, + wxDefaultPosition, size, n, choices, styleLbox ); } @@ -441,7 +445,7 @@ bool wxMultiChoiceDialog::Create( wxWindow *parent, #else styleLbox = wxLB_ALWAYS_SB | wxLB_EXTENDED; #endif - + if ( !wxAnyChoiceDialog::Create(parent, message, caption, n, choices, style, pos, @@ -484,11 +488,11 @@ void wxMultiChoiceDialog::SetSelections(const wxArrayInt& selections) { checkListBox->Check(selections[n]); } - + return; } #endif - + // first clear all currently selected items size_t n, count = m_listbox->GetCount(); @@ -537,8 +541,12 @@ bool wxMultiChoiceDialog::TransferDataFromWindow() wxListBoxBase *wxMultiChoiceDialog::CreateList(int n, const wxString *choices, long styleLbox) { + wxSize size = wxDefaultSize; + if (wxSystemSettings::GetScreenType() > wxSYS_SCREEN_PDA) + size = wxSize(300, 200); + return new wxCheckListBox( this, wxID_LISTBOX, - wxDefaultPosition, wxDefaultSize, + wxDefaultPosition, size, n, choices, styleLbox ); } -- 2.45.2