#include <wx/sizer.h>
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.
Public Member Functions | |
wxSizerItem (int width, int height, int proportion=0, int flag=0, int border=0, wxObject *userData=NULL) | |
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... | |
wxSizer * | GetSizer () 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... | |
wxObject * | GetUserData () const |
Get the userData item attribute. More... | |
wxWindow * | GetWindow () 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=NULL) | |
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=NULL) | |
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 NULL the internal reference data. More... | |
wxObject (const wxObject &other) | |
Copy ctor. More... | |
virtual | ~wxObject () |
Destructor. More... | |
virtual wxClassInfo * | GetClassInfo () const |
This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). More... | |
wxObjectRefData * | GetRefData () 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=NULL, 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 wxObjectRefData * | CreateRefData () const |
Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More... | |
virtual wxObjectRefData * | CloneRefData (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 | |
wxObjectRefData * | m_refData |
Pointer to an object which is the object's reference-counted data. More... | |
wxSizerItem::wxSizerItem | ( | int | width, |
int | height, | ||
int | proportion = 0 , |
||
int | flag = 0 , |
||
int | border = 0 , |
||
wxObject * | userData = NULL |
||
) |
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 = 0 , |
||
int | flag = 0 , |
||
int | border = 0 , |
||
wxObject * | userData = NULL |
||
) |
Construct a sizer item for tracking a window.
wxSizerItem::wxSizerItem | ( | wxSizer * | sizer, |
const wxSizerFlags & | flags | ||
) |
Construct a sizer item for tracking a subsizer.
wxSizerItem::wxSizerItem | ( | wxSizer * | sizer, |
int | proportion = 0 , |
||
int | flag = 0 , |
||
int | border = 0 , |
||
wxObject * | userData = NULL |
||
) |
Construct a sizer item for tracking a subsizer.
|
virtual |
Deletes the user data and subsizer, if any.
void wxSizerItem::AssignSizer | ( | wxSizer * | sizer | ) |
Set the sizer tracked by this item.
Old sizer, 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::AssignSpacer | ( | int | w, |
int | h | ||
) |
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.
If the sizer item previously contained a window, it is dissociated from the sizer containing this sizer item (if any), but this object doesn't have the pointer to the containing sizer and so it's the caller's responsibility to call wxWindow::SetContainingSizer() on window. Failure to do this can result in memory corruption when the window is destroyed later, so it is crucial to not forget to do it.
Also note that the previously contained window is not deleted, so it's also the callers responsibility to do it, if necessary.
|
virtual |
Calculates the minimum desired size for the item, including any space needed by borders.
|
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 ratio item attribute.
|
virtual |
Get the rectangle of the item on the parent window, excluding borders.
|
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.
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 | ||
) |
Sets the minimum size to be allocated for this item.
This is identical to SetMinSize(), prefer to use the other function, as its name is more clear.
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::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::SetProportion | ( | int | proportion | ) |
Set the proportion item attribute.
void wxSizerItem::SetRatio | ( | float | ratio | ) |
Set the ratio item attribute.
void wxSizerItem::SetRatio | ( | int | width, |
int | height | ||
) |
Set the ratio item attribute.
void wxSizerItem::SetRatio | ( | wxSize | size | ) |
Set the ratio item attribute.
void wxSizerItem::SetSizer | ( | wxSizer * | sizer | ) |
Set the sizer tracked by this item.
void wxSizerItem::SetSpacer | ( | const wxSize & | size | ) |
Set the size of the spacer tracked by this item.
void wxSizerItem::SetUserData | ( | wxObject * | userData | ) |
void wxSizerItem::SetWindow | ( | wxWindow * | window | ) |
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.