X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/37788684ba0dfe52d3b4f67e5c2dae521893bfff..821d856a610b21f2946e3283db7f79443227776e:/src/common/choiccmn.cpp diff --git a/src/common/choiccmn.cpp b/src/common/choiccmn.cpp index dc925335a2..004efb24f0 100644 --- a/src/common/choiccmn.cpp +++ b/src/common/choiccmn.cpp @@ -28,6 +28,8 @@ #include "wx/choice.h" +#include "wx/private/textmeasure.h" + #ifndef WX_PRECOMP #endif @@ -68,7 +70,7 @@ wxEND_FLAGS( wxChoiceStyle ) wxIMPLEMENT_DYNAMIC_CLASS_XTI(wxChoice, wxControl, "wx/choice.h") wxBEGIN_PROPERTIES_TABLE(wxChoice) -wxEVENT_PROPERTY( Select, wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEvent ) +wxEVENT_PROPERTY( Select, wxEVT_CHOICE, wxCommandEvent ) wxPROPERTY( Font, wxFont, SetFont, GetFont , wxEMPTY_PARAMETER_VALUE, \ 0 /*flags*/, wxT("Helpstring"), wxT("group")) @@ -103,6 +105,21 @@ wxChoiceBase::~wxChoiceBase() // this destructor is required for Darwin } +wxSize wxChoiceBase::DoGetBestSize() const +{ + // a reasonable width for an empty choice list + wxSize best(80, -1); + + const unsigned int nItems = GetCount(); + if ( nItems > 0 ) + { + wxTextMeasure txm(this); + best.x = txm.GetLargestStringExtent(GetStrings()).x; + } + + return best; +} + // ---------------------------------------------------------------------------- // misc // ----------------------------------------------------------------------------