From: Vadim Zeitlin Date: Wed, 8 Feb 2006 22:22:51 +0000 (+0000) Subject: deprecated wxSizerItem::IsShown() because it doesn't really make sense for the sizers X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/f303d69f934a76c56e14713a0748fdd10635e462 deprecated wxSizerItem::IsShown() because it doesn't really make sense for the sizers git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37397 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/docs/changes.txt b/docs/changes.txt index f5d6bd9d9a..ae8d1efa39 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -11,6 +11,13 @@ INCOMPATIBLE CHANGES SINCE 2.6.x - For all wxInputStreams, Eof() becomes true after an attempt has been made to read _past_ the end of file. +Deprecated methods since 2.6.x and their replacements +----------------------------------------------------- + +- wxGetWorkingDirectory() deprecated in favour of wxGetCwd() +- wxDC::BeginDrawing() and wxDC::EndDrawing() deprecated, just don't use them +- wxSizerItem::IsShown(): no replacement as it doesn't have clear semantics + 2.7.0 ----- @@ -19,7 +26,6 @@ All: - wxLaunchDefaultBrowser() now supports wxBROWSER_NEW_WINDOW flag - Added wxStringTokenizer::GetLastDelimiter(); improved documentation -- wxGetWorkingDirectory() deprecated. Use wxGetCwd() instead. - Speed improvements to wxRegEx when matching is done in a loop such as during a search and replace. - Fix regerror and regfree name conficts when built-in regex and system regex @@ -75,7 +81,6 @@ All (GUI): - Added wxToolbook (uses a wxToolBar to control pages). - Added SetSheetStyle to wxPropertySheetDialog and allowed it to behave like a Mac OS X settings dialog. -- wxDC::BeginDrawing() and wxDC::EndDrawing() deprecated. - Added XRC tag for wxToolBar elements and for wxToolBar itself wxMSW: diff --git a/docs/latex/wx/sizeritem.tex b/docs/latex/wx/sizeritem.tex index 885981eaef..82acb95ab4 100644 --- a/docs/latex/wx/sizeritem.tex +++ b/docs/latex/wx/sizeritem.tex @@ -147,12 +147,6 @@ Get the userData item attribute. If this item is tracking a window then return it. NULL otherwise. -\membersection{wxSizerItem::IsShown}\label{wxsizeritemisshown} - -\constfunc{bool}{IsShown}{\void} - -Is this item shown? - \membersection{wxSizerItem::IsSizer}\label{wxsizeritemissizer} diff --git a/include/wx/sizer.h b/include/wx/sizer.h index 53dde1a4bf..49c6c2817c 100644 --- a/include/wx/sizer.h +++ b/include/wx/sizer.h @@ -253,7 +253,6 @@ public: wxSize GetSpacer() const; void Show(bool show); - bool IsShown() const; void SetUserData(wxObject* userData) { delete m_userData; m_userData = userData; } @@ -269,6 +268,11 @@ public: void SetSpacer(const wxSize& size); void SetSpacer(int width, int height) { SetSpacer(wxSize(width, height)); } + // this function is deprecated because if this item is a sizer, then it + // doesn't really make sense: sizer is neither shown nor hidden, because + // some of its elements may be hidden while others are shown + wxDEPRECATED( bool IsShown() const ); + protected: // common part of several ctors void Init() { m_userData = NULL; } @@ -276,6 +280,8 @@ protected: // common part of ctors taking wxSizerFlags void Init(const wxSizerFlags& flags); + + // discriminated union: depending on m_kind one of the fields is valid enum { Item_None, @@ -322,7 +328,7 @@ WX_DECLARE_EXPORTED_LIST( wxSizerItem, wxSizerItemList ); class WXDLLEXPORT wxSizer: public wxObject, public wxClientDataContainer { public: - wxSizer(); + wxSizer() { } ~wxSizer(); // methods for adding elements to the sizer: there are Add/Insert/Prepend @@ -486,18 +492,13 @@ public: // Recursively call wxWindow::Show () on all sizer items. virtual void ShowItems (bool show); - void Show(bool show) - { m_isShown = show; - ShowItems(show); - } - bool IsShown() const { return m_isShown; } + void Show(bool show) { ShowItems(show); } protected: wxSize m_size; wxSize m_minSize; wxPoint m_position; wxSizerItemList m_children; - bool m_isShown; wxSize GetMaxWindowSize( wxWindow *window ) const; wxSize GetMinWindowSize( wxWindow *window ); diff --git a/src/common/sizer.cpp b/src/common/sizer.cpp index 5db2c30222..b250c0c048 100644 --- a/src/common/sizer.cpp +++ b/src/common/sizer.cpp @@ -447,7 +447,20 @@ bool wxSizerItem::IsShown() const return m_window->IsShown(); case Item_Sizer: - return m_sizer->IsShown(); + // arbitrarily decide that if at least one of our elements is + // shown, so are we (this arbitrariness is the reason for + // deprecating this function) + { + for ( wxSizerItemList::compatibility_iterator + node = m_sizer->GetChildren().GetFirst(); + node; + node = node->GetNext() ) + { + if ( node->GetData()->IsShown() ) + return true; + } + } + return false; case Item_Spacer: return m_spacer->IsShown(); @@ -475,11 +488,6 @@ int wxSizerItem::GetOption() const // wxSizer //--------------------------------------------------------------------------- -wxSizer::wxSizer() -{ - m_isShown = true; -} - wxSizer::~wxSizer() { WX_CLEAR_LIST(wxSizerItemList, m_children);