Version: 3.3.0
wxGBSizerItem Class Reference

#include <wx/gbsizer.h>

+ Inheritance diagram for wxGBSizerItem:

Detailed Description

The wxGBSizerItem class is used by the wxGridBagSizer for tracking the items in the sizer.

It adds grid position and spanning information to the normal wxSizerItem by adding wxGBPosition and wxGBSpan attributes. Most of the time you will not need to use a wxGBSizerItem directly in your code, but there are a couple of cases where it is handy.

Library:  wxCore
Category:  Window Layout

Public Member Functions

 wxGBSizerItem (int width, int height, const wxGBPosition &pos, const wxGBSpan &span=wxDefaultSpan, int flag=0, int border=0, wxObject *userData=nullptr)
 Construct a sizer item for tracking a spacer. More...
 
 wxGBSizerItem (wxWindow *window, const wxGBPosition &pos, const wxGBSpan &span=wxDefaultSpan, int flag=0, int border=0, wxObject *userData=nullptr)
 Construct a sizer item for tracking a window. More...
 
 wxGBSizerItem (wxSizer *sizer, const wxGBPosition &pos, const wxGBSpan &span=wxDefaultSpan, int flag=0, int border=0, wxObject *userData=nullptr)
 Construct a sizer item for tracking a subsizer. More...
 
void GetEndPos (int &row, int &col)
 Get the row and column of the endpoint of this item. More...
 
bool Intersects (const wxGBSizerItem &other)
 Returns true if this item and the other item intersect. More...
 
bool Intersects (const wxGBPosition &pos, const wxGBSpan &span)
 Returns true if the given pos/span would intersect with this item. More...
 
bool SetPos (const wxGBPosition &pos)
 If the item is already a member of a sizer then first ensure that there is no other item that would intersect with this one at the new position, then set the new position. More...
 
bool SetSpan (const wxGBSpan &span)
 If the item is already a member of a sizer then first ensure that there is no other item that would intersect with this one with its new spanning size, then set the new spanning. More...
 
wxGridBagSizerGetGBSizer () const
 
void SetGBSizer (wxGridBagSizer *sizer)
 
wxGBPosition GetPos () const
 Get the grid position of the item. More...
 
void GetPos (int &row, int &col) const
 Get the grid position of the item. More...
 
wxGBSpan GetSpan () const
 Get the row and column spanning of the item. More...
 
void GetSpan (int &rowspan, int &colspan) const
 Get the row and column spanning of the item. More...
 
- Public Member Functions inherited from wxSizerItem
 wxSizerItem (int width, int height, int proportion=0, int flag=0, int border=0, wxObject *userData=nullptr)
 Construct a sizer item for tracking a spacer. More...
 
virtual ~wxSizerItem ()
 Deletes the user data and subsizer, if any. More...
 
void AssignWindow (wxWindow *window)
 Set the window to be tracked by this item. More...
 
void AssignSizer (wxSizer *sizer)
 Set the sizer tracked by this item. More...
 
virtual wxSize CalcMin ()
 Calculates the minimum desired size for the item, including any space needed by borders. More...
 
virtual void DeleteWindows ()
 Destroy the window or the windows in a subsizer, depending on the type of item. More...
 
void DetachSizer ()
 Enable deleting the SizerItem without destroying the contained sizer. More...
 
int GetBorder () const
 Return the border attribute. More...
 
int GetFlag () const
 Return the flags attribute. More...
 
int GetId () const
 Return the numeric id of wxSizerItem, or wxID_NONE if the id has not been set. More...
 
wxSize GetMinSize () const
 Get the minimum size needed for the item. More...
 
void SetMinSize (const wxSize &size)
 Sets the minimum size to be allocated for this item. More...
 
void SetMinSize (int x, int y)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
wxPoint GetPosition () const
 What is the current position of the item, as set in the last Layout. More...
 
int GetProportion () const
 Get the proportion item attribute. More...
 
float GetRatio () const
 Get the ratio item attribute. More...
 
virtual wxRect GetRect ()
 Get the rectangle of the item on the parent window, excluding borders. More...
 
virtual wxSize GetSize () const
 Get the current size of the item, as set in the last Layout. More...
 
wxSizerGetSizer () const
 If this item is tracking a sizer, return it. More...
 
wxSize GetSpacer () const
 If this item is tracking a spacer, return its size. More...
 
wxObjectGetUserData () const
 Get the userData item attribute. More...
 
wxWindowGetWindow () const
 If this item is tracking a window then return it. More...
 
bool IsShown () const
 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 of its elements are hidden. More...
 
bool IsSizer () const
 Is this item a sizer? More...
 
bool IsSpacer () const
 Is this item a spacer? More...
 
bool IsWindow () const
 Is this item a window? More...
 
void SetBorder (int border)
 Set the border item attribute. More...
 
virtual void SetDimension (const wxPoint &pos, const wxSize &size)
 Set the position and size of the space allocated to the sizer, and adjust the position and size of the item to be within that space taking alignment and borders into account. More...
 
void SetFlag (int flag)
 Set the flag item attribute. More...
 
void SetId (int id)
 Sets the numeric id of the wxSizerItem to id. More...
 
void SetInitSize (int x, int y)
 Sets the minimum size to be allocated for this item. More...
 
void SetProportion (int proportion)
 Set the proportion item attribute. More...
 
void SetSizer (wxSizer *sizer)
 Set the sizer tracked by this item. More...
 
void SetSpacer (const wxSize &size)
 Set the size of the spacer tracked by this item. More...
 
void SetUserData (wxObject *userData)
 
void SetWindow (wxWindow *window)
 Set the window to be tracked by this item. More...
 
void Show (bool show)
 Set the show item attribute, which sizers use to determine if the item is to be made part of the layout or not. More...
 
 wxSizerItem (wxWindow *window, const wxSizerFlags &flags)
 Construct a sizer item for tracking a window. More...
 
 wxSizerItem (wxWindow *window, int proportion=0, int flag=0, int border=0, wxObject *userData=nullptr)
 Construct a sizer item for tracking a window. More...
 
 wxSizerItem (wxSizer *sizer, const wxSizerFlags &flags)
 Construct a sizer item for tracking a subsizer. More...
 
 wxSizerItem (wxSizer *sizer, int proportion=0, int flag=0, int border=0, wxObject *userData=nullptr)
 Construct a sizer item for tracking a subsizer. More...
 
void AssignSpacer (const wxSize &size)
 Set the size of the spacer tracked by this item. More...
 
void AssignSpacer (int w, int h)
 Set the size of the spacer tracked by this item. More...
 
void SetRatio (int width, int height)
 Set the ratio item attribute. More...
 
void SetRatio (wxSize size)
 Set the ratio item attribute. More...
 
void SetRatio (float ratio)
 Set the ratio item attribute. More...
 
- Public Member Functions inherited from wxObject
 wxObject ()
 Default ctor; initializes to nullptr the internal reference data. More...
 
 wxObject (const wxObject &other)
 Copy ctor. More...
 
virtual ~wxObject ()
 Destructor. More...
 
virtual wxClassInfoGetClassInfo () const
 This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). More...
 
wxObjectRefDataGetRefData () const
 Returns the wxObject::m_refData pointer, i.e. the data referenced by this object. More...
 
bool IsKindOf (const wxClassInfo *info) const
 Determines whether this class is a subclass of (or the same class as) the given class. More...
 
bool IsSameAs (const wxObject &obj) const
 Returns true if this object has the same data pointer as obj. More...
 
void Ref (const wxObject &clone)
 Makes this object refer to the data in clone. More...
 
void SetRefData (wxObjectRefData *data)
 Sets the wxObject::m_refData pointer. More...
 
void UnRef ()
 Decrements the reference count in the associated data, and if it is zero, deletes the data. More...
 
void UnShare ()
 This is the same of AllocExclusive() but this method is public. More...
 
void operator delete (void *buf)
 The delete operator is defined for debugging versions of the library only, when the identifier __WXDEBUG__ is defined. More...
 
void * operator new (size_t size, const wxString &filename=nullptr, int lineNum=0)
 The new operator is defined for debugging versions of the library only, when the identifier __WXDEBUG__ is defined. More...
 

Additional Inherited Members

- Protected Member Functions inherited from wxObject
void AllocExclusive ()
 Ensure that this object's data is not shared with any other object. More...
 
virtual wxObjectRefDataCreateRefData () const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More...
 
virtual wxObjectRefDataCloneRefData (const wxObjectRefData *data) const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data. More...
 
- Protected Attributes inherited from wxObject
wxObjectRefDatam_refData
 Pointer to an object which is the object's reference-counted data. More...
 

Constructor & Destructor Documentation

◆ wxGBSizerItem() [1/3]

wxGBSizerItem::wxGBSizerItem ( int  width,
int  height,
const wxGBPosition pos,
const wxGBSpan span = wxDefaultSpan,
int  flag = 0,
int  border = 0,
wxObject userData = nullptr 
)

Construct a sizer item for tracking a spacer.

◆ wxGBSizerItem() [2/3]

wxGBSizerItem::wxGBSizerItem ( wxWindow window,
const wxGBPosition pos,
const wxGBSpan span = wxDefaultSpan,
int  flag = 0,
int  border = 0,
wxObject userData = nullptr 
)

Construct a sizer item for tracking a window.

◆ wxGBSizerItem() [3/3]

wxGBSizerItem::wxGBSizerItem ( wxSizer sizer,
const wxGBPosition pos,
const wxGBSpan span = wxDefaultSpan,
int  flag = 0,
int  border = 0,
wxObject userData = nullptr 
)

Construct a sizer item for tracking a subsizer.

Member Function Documentation

◆ GetEndPos()

void wxGBSizerItem::GetEndPos ( int &  row,
int &  col 
)

Get the row and column of the endpoint of this item.

◆ GetGBSizer()

wxGridBagSizer* wxGBSizerItem::GetGBSizer ( ) const

◆ GetPos() [1/2]

wxGBPosition wxGBSizerItem::GetPos ( ) const

Get the grid position of the item.

◆ GetPos() [2/2]

void wxGBSizerItem::GetPos ( int &  row,
int &  col 
) const

Get the grid position of the item.

◆ GetSpan() [1/2]

wxGBSpan wxGBSizerItem::GetSpan ( ) const

Get the row and column spanning of the item.

◆ GetSpan() [2/2]

void wxGBSizerItem::GetSpan ( int &  rowspan,
int &  colspan 
) const

Get the row and column spanning of the item.

◆ Intersects() [1/2]

bool wxGBSizerItem::Intersects ( const wxGBPosition pos,
const wxGBSpan span 
)

Returns true if the given pos/span would intersect with this item.

◆ Intersects() [2/2]

bool wxGBSizerItem::Intersects ( const wxGBSizerItem other)

Returns true if this item and the other item intersect.

◆ SetGBSizer()

void wxGBSizerItem::SetGBSizer ( wxGridBagSizer sizer)

◆ SetPos()

bool wxGBSizerItem::SetPos ( const wxGBPosition pos)

If the item is already a member of a sizer then first ensure that there is no other item that would intersect with this one at the new position, then set the new position.

Returns true if the change is successful and after the next Layout the item will be moved.

◆ SetSpan()

bool wxGBSizerItem::SetSpan ( const wxGBSpan span)

If the item is already a member of a sizer then first ensure that there is no other item that would intersect with this one with its new spanning size, then set the new spanning.

Returns true if the change is successful and after the next Layout the item will be resized.