# wxSizerItem Class Reference
[Window Layout]

`#include <wx/sizer.h>`

Inheritance diagram for wxSizerItem:
[legend]

## Detailed Description

The wxSizerItem class is used to track the position, size and other attributes of each item managed by a wxSizer.

It is not usually necessary to use this class because the sizer elements can also be identified by their positions or window or sizer pointers but sometimes it may be more convenient to use it directly.

##

Library: wxCore

Category: Window Layout

## Public Member Functions
| wxSizerItem (int width, int height, int proportion, int flag, int border, wxObject *userData)
| Construct a sizer item for tracking a spacer.
virtual | ~wxSizerItem ()
| Deletes the user data and subsizer, if any.
void | AssignWindow (wxWindow *window)
| Set the window to be tracked by this item.
void | AssignSizer (wxSizer *sizer)
| Set the sizer tracked by this item.
virtual wxSize | CalcMin ()
| Calculates the minimum desired size for the item, including any space needed by borders.
virtual void | DeleteWindows ()
| Destroy the window or the windows in a subsizer, depending on the type of item.
void | DetachSizer ()
| Enable deleting the SizerItem without destroying the contained sizer.
int | GetBorder () const
| Return the border attribute.
int | GetFlag () const
| Return the flags attribute.
int | GetId () const
| Return the numeric id of wxSizerItem, or `wxID_NONE` if the id has not been set.
wxSize | GetMinSize () const
| Get the minimum size needed for the item.
void | SetMinSize (const wxSize &size)
| Sets the minimum size to be allocated for this item.
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.
wxPoint | GetPosition () const
| What is the current position of the item, as set in the last Layout.
int | GetProportion () const
| Get the proportion item attribute.
float | GetRatio () const
| Get the ration item attribute.
virtual wxRect | GetRect ()
| Get the rectangle of the item on the parent window, excluding borders.
virtual wxSize | GetSize () const
| Get the current size of the item, as set in the last Layout.
wxSizer * | GetSizer () const
| If this item is tracking a sizer, return it.
wxSize | GetSpacer () const
| If this item is tracking a spacer, return its size.
wxObject * | GetUserData () const
| Get the userData item attribute.
wxWindow * | GetWindow () const
| If this item is tracking a window then return it.
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.
bool | IsSizer () const
| Is this item a sizer?
bool | IsSpacer () const
| Is this item a spacer?
bool | IsWindow () const
| Is this item a window?
void | SetBorder (int border)
| Set the border item attribute.
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.
void | SetFlag (int flag)
| Set the flag item attribute.
void | SetId (int id)
| Sets the numeric id of the wxSizerItem to id.
void | SetInitSize (int x, int y)
void | SetProportion (int proportion)
| Set the proportion item attribute.
void | SetSizer (wxSizer *sizer)
| Set the sizer tracked by this item.
void | SetSpacer (const wxSize &size)
| Set the size of the spacer tracked by this item.
void | SetWindow (wxWindow *window)
| Set the window to be tracked by this item.
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.
| wxSizerItem (wxWindow *window, const wxSizerFlags &flags)
| Construct a sizer item for tracking a window.
| wxSizerItem (wxWindow *window, int proportion, int flag, int border, wxObject *userData)
| Construct a sizer item for tracking a window.
| wxSizerItem (wxSizer *window, const wxSizerFlags &flags)
| Construct a sizer item for tracking a subsizer.
| wxSizerItem (wxSizer *sizer, int proportion, int flag, int border, wxObject *userData)
| Construct a sizer item for tracking a subsizer.
void | AssignSpacer (const wxSize &size)
| Set the size of the spacer tracked by this item.
void | AssignSpacer (int w, int h)
| Set the size of the spacer tracked by this item.
void | SetRatio (int width, int height)
| Set the ratio item attribute.
void | SetRatio (wxSize size)
| Set the ratio item attribute.
void | SetRatio (float ratio)
| Set the ratio item attribute.

List of all members.

## Constructor & Destructor Documentation

wxSizerItem::wxSizerItem | ( | int | width,
|  | int | height,
|  | int | proportion,
|  | int | flag,
|  | int | border,
|  | wxObject * | userData |
| ) |  |  |

Construct a sizer item for tracking a spacer.

wxSizerItem::wxSizerItem | ( | wxWindow * | window,
|  | const wxSizerFlags & | flags |
| ) |  |  |

Construct a sizer item for tracking a window.

wxSizerItem::wxSizerItem | ( | wxWindow * | window,
|  | int | proportion,
|  | int | flag,
|  | int | border,
|  | wxObject * | userData |
| ) |  |  |

Construct a sizer item for tracking a window.

wxSizerItem::wxSizerItem | ( | wxSizer * | window,
|  | const wxSizerFlags & | flags |
| ) |  |  |

Construct a sizer item for tracking a subsizer.

wxSizerItem::wxSizerItem | ( | wxSizer * | sizer,
|  | int | proportion,
|  | int | flag,
|  | int | border,
|  | wxObject * | userData |
| ) |  |  |

Construct a sizer item for tracking a subsizer.

virtual wxSizerItem::~wxSizerItem | ( |  | ) | `[virtual]`

Deletes the user data and subsizer, if any.

## Member Function Documentation

void wxSizerItem::AssignSizer | ( | wxSizer * | sizer | ) |

Set the sizer tracked by this item.

Old sizer, if any, is deleted.

void wxSizerItem::AssignSpacer | ( | int | w,
|  | int | h |
| ) |  |  | `[inline]`

Set the size of the spacer tracked by this item.

Old spacer, if any, is deleted.

void wxSizerItem::AssignSpacer | ( | const wxSize & | size | ) |

Set the size of the spacer tracked by this item.

Old spacer, if any, is deleted.

void wxSizerItem::AssignWindow | ( | wxWindow * | window | ) |

Set the window to be tracked by this item.

The old window isn't deleted as it is now owned by the sizer item.

virtual wxSize wxSizerItem::CalcMin | ( |  | ) | `[virtual]`

Calculates the minimum desired size for the item, including any space needed by borders.

virtual void wxSizerItem::DeleteWindows | ( |  | ) | `[virtual]`

Destroy the window or the windows in a subsizer, depending on the type of item.

void wxSizerItem::DetachSizer | ( |  | ) |

Enable deleting the SizerItem without destroying the contained sizer.

int wxSizerItem::GetBorder | ( |  | ) | const

Return the border attribute.

int wxSizerItem::GetFlag | ( |  | ) | const

Return the flags attribute.

See wxSizer flags list for details.

int wxSizerItem::GetId | ( |  | ) | const

Return the numeric id of wxSizerItem, or `wxID_NONE` if the id has not been set.

wxSize wxSizerItem::GetMinSize | ( |  | ) | const

Get the minimum size needed for the item.

wxPoint wxSizerItem::GetPosition | ( |  | ) | const

What is the current position of the item, as set in the last Layout.

int wxSizerItem::GetProportion | ( |  | ) | const

Get the proportion item attribute.

float wxSizerItem::GetRatio | ( |  | ) | const

Get the ration item attribute.

virtual wxRect wxSizerItem::GetRect | ( |  | ) | `[virtual]`

Get the rectangle of the item on the parent window, excluding borders.

virtual wxSize wxSizerItem::GetSize | ( |  | ) | const`[virtual]`

Get the current size of the item, as set in the last Layout.

wxSizer* wxSizerItem::GetSizer | ( |  | ) | const

If this item is tracking a sizer, return it.

NULL otherwise.

wxSize wxSizerItem::GetSpacer | ( |  | ) | const

If this item is tracking a spacer, return its size.

wxObject* wxSizerItem::GetUserData | ( |  | ) | const

Get the userData item attribute.

wxWindow* wxSizerItem::GetWindow | ( |  | ) | const

If this item is tracking a window then return it.

NULL otherwise.

bool wxSizerItem::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.

In other words, for sizer items, all of the child elements must be hidden for the sizer itself to be considered hidden.

As an exception, if the `wxRESERVE_SPACE_EVEN_IF_HIDDEN` flag was used for this sizer item, then IsShown() always returns true for it (see wxSizerFlags::ReserveSpaceEvenIfHidden()).

bool wxSizerItem::IsSizer | ( |  | ) | const

Is this item a sizer?

bool wxSizerItem::IsSpacer | ( |  | ) | const

Is this item a spacer?

bool wxSizerItem::IsWindow | ( |  | ) | const

Is this item a window?

void wxSizerItem::SetBorder | ( | int | border | ) |

Set the border item attribute.

virtual void wxSizerItem::SetDimension | ( | const wxPoint & | pos,
|  | const wxSize & | size |
| ) |  |  | `[virtual]`

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.

void wxSizerItem::SetFlag | ( | int | flag | ) |

Set the flag item attribute.

void wxSizerItem::SetId | ( | int | id | ) |

Sets the numeric id of the wxSizerItem to id.

void wxSizerItem::SetInitSize | ( | int | x,
|  | int | y |
| ) |  |  |

Todo:
  docme.

void wxSizerItem::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.

void wxSizerItem::SetMinSize | ( | const wxSize & | size | ) |

Sets the minimum size to be allocated for this item.

If this item is a window, the size is also passed to wxWindow::SetMinSize().

void wxSizerItem::SetProportion | ( | int | proportion | ) |

Set the proportion item attribute.

void wxSizerItem::SetRatio | ( | float | ratio | ) |

Set the ratio item attribute.

void wxSizerItem::SetRatio | ( | wxSize | size | ) |

Set the ratio item attribute.

void wxSizerItem::SetRatio | ( | int | width,
|  | int | height |
| ) |  |  |

Set the ratio item attribute.

void wxSizerItem::SetSizer | ( | wxSizer * | sizer | ) |

Set the sizer tracked by this item.

Deprecated:
  This function does not free the old sizer which may result in memory leaks, use AssignSizer() which does free it instead.

void wxSizerItem::SetSpacer | ( | const wxSize & | size | ) |

Set the size of the spacer tracked by this item.

Deprecated:
  This function does not free the old spacer which may result in memory leaks, use AssignSpacer() which does free it instead.

void wxSizerItem::SetWindow | ( | wxWindow * | window | ) |

Set the window to be tracked by this item.

Deprecated:

Todo:
  provide deprecation description

void wxSizerItem::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.

If the item is tracking a window then it is shown or hidden as needed.

|  | [ top ]