use wxWindowIDRef to transparently implement auto-generated ids ref-counting (slightly modified patch 1835458)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51035 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2008-01-06 14:38:44 +00:00
parent 7d287e713f
commit cf2810aa39
34 changed files with 748 additions and 189 deletions

View File

@@ -158,6 +158,7 @@ protected:
// the buttons we contain
wxSubwindows *m_radioButtons;
wxWindowIDRef *m_radioButtonIds;
// array of widths and heights of the buttons, may be wxDefaultCoord if the
// corresponding quantity should be computed

View File

@@ -886,6 +886,16 @@
// wxValidator class and related methods
#define wxUSE_VALIDATORS 1
// Use reference counted ID management: this means that wxWidgets will track
// the automatically allocated ids (those used when you use wxID_ANY when
// creating a window, menu or toolbar item &c) instead of just supposing that
// the program never runs out of them. This is mostly useful only under wxMSW
// where the total ids range is limited to SHRT_MIN..SHRT_MAX and where
// long-running programs can run into problems with ids reuse without this. On
// the other platforms, where the ids have the full int range, this shouldn't
// be necessary.
#define wxUSE_AUTOID_MANAGEMENT defined(__WXMSW__)
// ----------------------------------------------------------------------------
// common dialogs
// ----------------------------------------------------------------------------

View File

@@ -117,7 +117,8 @@ protected:
virtual wxSize DoGetBestSize() const;
// the labels windows, if any
wxSubwindows *m_labels;
wxSubwindows *m_labels;
wxWindowIDRef *m_labelIds;
int m_rangeMin;
int m_rangeMax;

View File

@@ -886,6 +886,16 @@
// wxValidator class and related methods
#define wxUSE_VALIDATORS 1
// Use reference counted ID management: this means that wxWidgets will track
// the automatically allocated ids (those used when you use wxID_ANY when
// creating a window, menu or toolbar item &c) instead of just supposing that
// the program never runs out of them. This is mostly useful only under wxMSW
// where the total ids range is limited to SHRT_MIN..SHRT_MAX and where
// long-running programs can run into problems with ids reuse without this. On
// the other platforms, where the ids have the full int range, this shouldn't
// be necessary.
#define wxUSE_AUTOID_MANAGEMENT defined(__WXMSW__)
// ----------------------------------------------------------------------------
// common dialogs
// ----------------------------------------------------------------------------