From c86fd3a7935175fd4d23c54b25df91a680ed0a4c Mon Sep 17 00:00:00 2001
From: Vadim Zeitlin <vadim@wxwidgets.org>
Date: Thu, 9 Feb 2006 15:25:22 +0000
Subject: [PATCH] undeprecated wxSizerItem::IsShown() undoing last change to
 wx/sizer.h: turns out we do need this logic in a few places

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37414 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 docs/changes.txt            |  1 -
 docs/latex/wx/sizeritem.tex | 10 ++++++++++
 include/wx/sizer.h          |  9 ++++-----
 3 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/docs/changes.txt b/docs/changes.txt
index e1c1b632fa..6ea5c2a371 100644
--- a/docs/changes.txt
+++ b/docs/changes.txt
@@ -16,7 +16,6 @@ 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
diff --git a/docs/latex/wx/sizeritem.tex b/docs/latex/wx/sizeritem.tex
index 82acb95ab4..988cf2f198 100644
--- a/docs/latex/wx/sizeritem.tex
+++ b/docs/latex/wx/sizeritem.tex
@@ -155,6 +155,16 @@ If this item is tracking a window then return it.  NULL otherwise.
 Is this item a sizer?
 
 
+\membersection{wxSizerItem::IsShown}\label{wxsizeritemisshown}
+
+\constfunc{bool}{IsShown}{\void}
+
+Returns \true if this item is a window or a spacer and it is shown or if this
+item is a sizer and not all its elements are hidden. In other words, for sizer
+items, all of the child elements must be hidden for the sizer itself to be
+considered hidden.
+
+
 \membersection{wxSizerItem::IsSpacer}\label{wxsizeritemisspacer}
 
 \constfunc{bool}{IsSpacer}{\void}
diff --git a/include/wx/sizer.h b/include/wx/sizer.h
index 49c6c2817c..bbab8447f9 100644
--- a/include/wx/sizer.h
+++ b/include/wx/sizer.h
@@ -252,6 +252,10 @@ public:
         { return m_kind == Item_Sizer ? m_sizer : NULL; }
     wxSize GetSpacer() const;
 
+    // this function behaves obviously for the windows and spacers but for the
+    // sizers it returns true if any sizer element is shown and only returns
+    // false if all of them are hidden
+    bool IsShown() const;
     void Show(bool show);
 
     void SetUserData(wxObject* userData)
@@ -268,11 +272,6 @@ 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; }
-- 
2.50.0

