View Source wxGridBagSizer (wx v2.4.3)
A wxSizer
that can lay out items in a virtual grid like a wxFlexGridSizer
but in
this case explicit positioning of the items is allowed using wxGBPosition
(not
implemented in wx), and items can optionally span more than one row and/or column using wxGBSpan
(not implemented in wx).
This class is derived, and can use functions, from:
wxWidgets docs: wxGridBagSizer
Summary
Functions
Equivalent to add(This, Window, Pos, [])
.
Adds the given item to the given position.
Adds a spacer to the given position.
Called when the managed size of the sizer is needed or when layout needs done.
Look at all items and see if any intersect (or would overlap) the given item.
Destroys the object
Find the sizer item for the given window or subsizer, returns NULL if not found.
Return the sizer item located at the point given in pt, or NULL if there is no item at that point.
Return the sizer item for the given grid cell, or NULL if there is no item at that position.
Return the sizer item that has a matching user data (it only compares pointer values) or NULL if not found.
Get the size of the specified cell, including hgap and vgap.
Get the size used for cells in the grid with no item.
Constructor, with optional parameters to specify the gap between the rows and columns.
Set the size used for cells in the grid with no item.
Types
-type wxGridBagSizer() :: wx:wx_object().
Functions
-spec add(This, Item) -> wxSizerItem:wxSizerItem() when This :: wxGridBagSizer(), Item :: wxGBSizerItem:wxGBSizerItem().
-spec add(This, Window, Pos) -> wxSizerItem:wxSizerItem() when This :: wxGridBagSizer(), Window :: wxWindow:wxWindow() | wxSizer:wxSizer(), Pos :: {R :: integer(), C :: integer()}.
Equivalent to add(This, Window, Pos, [])
.
-spec add(This, Width, Height, Pos) -> wxSizerItem:wxSizerItem() when This :: wxGridBagSizer(), Width :: integer(), Height :: integer(), Pos :: {R :: integer(), C :: integer()}; (This, Window, Pos, [Option]) -> wxSizerItem:wxSizerItem() when This :: wxGridBagSizer(), Window :: wxWindow:wxWindow() | wxSizer:wxSizer(), Pos :: {R :: integer(), C :: integer()}, Option :: {span, {RS :: integer(), CS :: integer()}} | {flag, integer()} | {border, integer()} | {userData, wx:wx_object()}.
Adds the given item to the given position.
Return: A valid pointer if the item was successfully placed at the given position, or NULL if something was already there.
-spec add(This, Width, Height, Pos, [Option]) -> wxSizerItem:wxSizerItem() when This :: wxGridBagSizer(), Width :: integer(), Height :: integer(), Pos :: {R :: integer(), C :: integer()}, Option :: {span, {RS :: integer(), CS :: integer()}} | {flag, integer()} | {border, integer()} | {userData, wx:wx_object()}.
Adds a spacer to the given position.
width
and height
specify the dimension of the spacer to be added.
Return: A valid pointer if the spacer was successfully placed at the given position, or NULL if something was already there.
-spec calcMin(This) -> {W :: integer(), H :: integer()} when This :: wxGridBagSizer().
Called when the managed size of the sizer is needed or when layout needs done.
-spec checkForIntersection(This, Item) -> boolean() when This :: wxGridBagSizer(), Item :: wxGBSizerItem:wxGBSizerItem().
Equivalent to checkForIntersection(This, Item, [])
.
-spec checkForIntersection(This, Pos, Span) -> boolean() when This :: wxGridBagSizer(), Pos :: {R :: integer(), C :: integer()}, Span :: {RS :: integer(), CS :: integer()}; (This, Item, [Option]) -> boolean() when This :: wxGridBagSizer(), Item :: wxGBSizerItem:wxGBSizerItem(), Option :: {excludeItem, wxGBSizerItem:wxGBSizerItem()}.
Look at all items and see if any intersect (or would overlap) the given item.
Returns true if so, false if there would be no overlap. If an excludeItem
is given then
it will not be checked for intersection, for example it may be the item we are checking
the position of.
-spec checkForIntersection(This, Pos, Span, [Option]) -> boolean() when This :: wxGridBagSizer(), Pos :: {R :: integer(), C :: integer()}, Span :: {RS :: integer(), CS :: integer()}, Option :: {excludeItem, wxGBSizerItem:wxGBSizerItem()}.
-spec destroy(This :: wxGridBagSizer()) -> ok.
Destroys the object
-spec findItem(This, Window) -> wxGBSizerItem:wxGBSizerItem() when This :: wxGridBagSizer(), Window :: wxWindow:wxWindow() | wxSizer:wxSizer().
Find the sizer item for the given window or subsizer, returns NULL if not found.
(non-recursive)
-spec findItemAtPoint(This, Pt) -> wxGBSizerItem:wxGBSizerItem() when This :: wxGridBagSizer(), Pt :: {X :: integer(), Y :: integer()}.
Return the sizer item located at the point given in pt, or NULL if there is no item at that point.
The (x,y) coordinates in pt
correspond to the client coordinates of the window using
the sizer for layout. (non-recursive)
-spec findItemAtPosition(This, Pos) -> wxGBSizerItem:wxGBSizerItem() when This :: wxGridBagSizer(), Pos :: {R :: integer(), C :: integer()}.
Return the sizer item for the given grid cell, or NULL if there is no item at that position.
(non-recursive)
-spec findItemWithData(This, UserData) -> wxGBSizerItem:wxGBSizerItem() when This :: wxGridBagSizer(), UserData :: wx:wx_object().
Return the sizer item that has a matching user data (it only compares pointer values) or NULL if not found.
(non-recursive)
-spec getCellSize(This, Row, Col) -> {W :: integer(), H :: integer()} when This :: wxGridBagSizer(), Row :: integer(), Col :: integer().
Get the size of the specified cell, including hgap and vgap.
Only valid after window layout has been performed.
-spec getEmptyCellSize(This) -> {W :: integer(), H :: integer()} when This :: wxGridBagSizer().
Get the size used for cells in the grid with no item.
-spec getItemPosition(This, Window) -> {R :: integer(), C :: integer()} when This :: wxGridBagSizer(), Window :: wxWindow:wxWindow() | wxSizer:wxSizer(); (This, Index) -> {R :: integer(), C :: integer()} when This :: wxGridBagSizer(), Index :: integer().
-spec getItemSpan(This, Window) -> {RS :: integer(), CS :: integer()} when This :: wxGridBagSizer(), Window :: wxWindow:wxWindow() | wxSizer:wxSizer(); (This, Index) -> {RS :: integer(), CS :: integer()} when This :: wxGridBagSizer(), Index :: integer().
-spec new() -> wxGridBagSizer().
Equivalent to new([])
.
-spec new([Option]) -> wxGridBagSizer() when Option :: {vgap, integer()} | {hgap, integer()}.
Constructor, with optional parameters to specify the gap between the rows and columns.
-spec setEmptyCellSize(This, Sz) -> ok when This :: wxGridBagSizer(), Sz :: {W :: integer(), H :: integer()}.
Set the size used for cells in the grid with no item.
-spec setItemPosition(This, Window, Pos) -> boolean() when This :: wxGridBagSizer(), Window :: wxWindow:wxWindow() | wxSizer:wxSizer(), Pos :: {R :: integer(), C :: integer()}; (This, Index, Pos) -> boolean() when This :: wxGridBagSizer(), Index :: integer(), Pos :: {R :: integer(), C :: integer()}.
-spec setItemSpan(This, Window, Span) -> boolean() when This :: wxGridBagSizer(), Window :: wxWindow:wxWindow() | wxSizer:wxSizer(), Span :: {RS :: integer(), CS :: integer()}; (This, Index, Span) -> boolean() when This :: wxGridBagSizer(), Index :: integer(), Span :: {RS :: integer(), CS :: integer()}.