wxSizerFlags& Align(int alignment) // combination of wxAlignment values
{
- m_flags &= !wxALIGN_MASK;
+ m_flags &= ~wxALIGN_MASK;
m_flags |= alignment;
return *this;
bool IsSizer() const { return m_kind == Item_Sizer; }
bool IsSpacer() const { return m_kind == Item_Spacer; }
+#if WXWIN_COMPATIBILITY_2_6
// Deprecated in 2.6, use {G,S}etProportion instead.
wxDEPRECATED( void SetOption( int option ) );
wxDEPRECATED( int GetOption() const );
+#endif // WXWIN_COMPATIBILITY_2_6
void SetProportion( int proportion )
{ m_proportion = proportion; }
{ return m_kind == Item_Sizer ? m_sizer : NULL; }
wxSize GetSpacer() const;
- void Show(bool show);
+ // 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)
+ { delete m_userData; m_userData = userData; }
wxObject* GetUserData() const
{ return m_userData; }
wxPoint GetPosition() const
// 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,
class WXDLLEXPORT wxSizer: public wxObject, public wxClientDataContainer
{
public:
- wxSizer();
+ wxSizer() { }
~wxSizer();
// methods for adding elements to the sizer: there are Add/Insert/Prepend
inline wxSizerItem* PrependStretchSpacer(int prop = 1);
+#if WXWIN_COMPATIBILITY_2_6
// Deprecated in 2.6 since historically it does not delete the window,
// use Detach instead.
wxDEPRECATED( virtual bool Remove( wxWindow *window ) );
+#endif // WXWIN_COMPATIBILITY_2_6
+
virtual bool Remove( wxSizer *sizer );
virtual bool Remove( int index );
// 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 );
class WXDLLEXPORT wxBookCtrlSizer : public wxSizer
{
public:
+#if WXWIN_COMPATIBILITY_2_6
wxDEPRECATED( wxBookCtrlSizer(wxBookCtrlBase *bookctrl) );
+#endif // WXWIN_COMPATIBILITY_2_6
wxBookCtrlBase *GetControl() const { return m_bookctrl; }
class WXDLLEXPORT wxNotebookSizer : public wxBookCtrlSizer
{
public:
+#if WXWIN_COMPATIBILITY_2_6
wxDEPRECATED( wxNotebookSizer(wxNotebook *nb) );
+#endif // WXWIN_COMPATIBILITY_2_6
wxNotebook *GetNotebook() const { return (wxNotebook *)m_bookctrl; }