implement changing wxChoice and wxComboBox height

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60461 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2009-05-01 21:49:43 +00:00
parent 6bd9b9f247
commit 75004dfbe5
3 changed files with 80 additions and 16 deletions

View File

@@ -92,7 +92,11 @@ protected:
virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
// common part of all ctors
void Init() { m_lastAcceptedSelection = wxID_NONE; }
void Init()
{
m_lastAcceptedSelection = wxID_NONE;
m_heightOwn = wxDefaultCoord;
}
virtual void DoDeleteOneItem(unsigned int n);
virtual void DoClear();
@@ -114,7 +118,10 @@ protected:
// update the height of the drop down list to fit the number of items we
// have (without changing the visible height)
void UpdateVisibleHeight();
void MSWUpdateDropDownHeight();
// set the height of the visible part of the control to m_heightOwn
void MSWUpdateVisibleHeight();
// create and initialize the control
bool CreateAndInit(wxWindow *parent, wxWindowID id,
@@ -128,12 +135,18 @@ protected:
// free all memory we have (used by Clear() and dtor)
void Free();
#if wxUSE_DEFERRED_SIZING
virtual void MSWEndDeferWindowPos();
#endif // wxUSE_DEFERRED_SIZING
// last "completed" selection, i.e. not the transient one while the user is
// browsing the popup list: this is only used when != wxID_NONE which is
// the case while the drop down is opened
int m_lastAcceptedSelection;
// the height of the control itself if it was set explicitly or
// wxDefaultCoord if it hadn't
int m_heightOwn;
DECLARE_DYNAMIC_CLASS_NO_COPY(wxChoice)
};