<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE erlref SYSTEM "erlref.dtd">

<!-- THIS FILE IS GENERATED DO NOT EDIT -->


<erlref>
<header>
  <copyright>
    <year>2020</year>
    <holder>Ericsson AB. All Rights Reserved.</holder></copyright>
  <legalnotice>
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.

  </legalnotice>
  <title>wxGridBagSizer</title>
</header>
<module>wxGridBagSizer</module>
<modulesummary>Functions for wxGridBagSizer class</modulesummary>
<description><p>A <seeerl marker="wxSizer"><c>wxSizer</c></seeerl> that can lay out items in a virtual grid like a <seeerl marker="wxFlexGridSizer"><c>wxFlexGridSizer</c></seeerl> but in this case explicit positioning of the items is allowed using <c>wxGBPosition</c> (not implemented in wx), and items can optionally span more than one row and/or column using <c>wxGBSpan</c> (not implemented in wx).
      </p>
  <p>This class is derived (and can use functions) from: 
    <seeerl marker="wxFlexGridSizer"><c>wxFlexGridSizer</c></seeerl> <seeerl marker="wxGridSizer"><c>wxGridSizer</c></seeerl> <seeerl marker="wxSizer"><c>wxSizer</c></seeerl></p>
  
  <p>wxWidgets docs: <url href="https://docs.wxwidgets.org/3.1/classwx_grid_bag_sizer.html">wxGridBagSizer</url></p>
  </description>
<datatypes><datatype><name name="wxGridBagSizer"/></datatype></datatypes>

<funcs>
  <func>
    <name name="new" arity="0" clause_i="1" since=""/>
    <fsummary>See: <c>new/1</c></fsummary>
  </func>
  
  <func>
    <name name="new" arity="1" clause_i="1" since=""/>
    <fsummary>Constructor, with optional parameters to specify the gap between the rows and columns. </fsummary>
    <desc><p>Constructor, with optional parameters to specify the gap between the rows and columns. 
      </p></desc>
  </func>
  
  <func>
    <name name="add" arity="2" clause_i="1" since=""/>
    <fsummary/>
    <desc/>
  </func>
  
  <func>
    <name name="add" arity="3" clause_i="1" since=""/>
    <fsummary>See: <c>add/4</c></fsummary>
  </func>
  
  <func>
    <name name="add" arity="4" clause_i="1" since=""/>
  
    <name name="add" arity="4" clause_i="2" since=""/>
    <fsummary>Adds the given item to the given position. </fsummary>
    <desc><p>Adds the given item to the given position. 
      </p><p>Return: A valid pointer if the item was successfully placed at the given position, or NULL if something was already there. 
      </p></desc>
  </func>
  
  <func>
    <name name="add" arity="5" clause_i="1" since=""/>
    <fsummary>Adds a spacer to the given position. </fsummary>
    <desc><p>Adds a spacer to the given position. 
      </p><p><c>width</c> and <c>height</c> specify the dimension of the spacer to be added.
      </p><p>Return: A valid pointer if the spacer was successfully placed at the given position, or NULL if something was already there. 
      </p></desc>
  </func>
  
  <func>
    <name name="calcMin" arity="1" clause_i="1" since=""/>
    <fsummary>Called when the managed size of the sizer is needed or when layout needs done. </fsummary>
    <desc><p>Called when the managed size of the sizer is needed or when layout needs done. 
      </p></desc>
  </func>
  
  <func>
    <name name="checkForIntersection" arity="2" clause_i="1" since=""/>
    <fsummary>See: <c>checkForIntersection/3</c></fsummary>
  </func>
  
  <func>
    <name name="checkForIntersection" arity="3" clause_i="1" since=""/>
  
    <name name="checkForIntersection" arity="3" clause_i="2" since=""/>
    <fsummary>Look at all items and see if any intersect (or would overlap) the given item. </fsummary>
    <desc><p>Look at all items and see if any intersect (or would overlap) the given item. 
      </p><p>Returns true if so, false if there would be no overlap. If an <c>excludeItem</c> is given then it will not be checked for intersection, for example it may be the item we are checking the position of. 
      </p></desc>
  </func>
  
  <func>
    <name name="checkForIntersection" arity="4" clause_i="1" since=""/>
    <fsummary/>
    <desc/>
  </func>
  
  <func>
    <name name="findItem" arity="2" clause_i="1" since=""/>
    <fsummary>Find the sizer item for the given window or subsizer, returns NULL if not found. </fsummary>
    <desc><p>Find the sizer item for the given window or subsizer, returns NULL if not found. 
      </p><p>(non-recursive) 
      </p></desc>
  </func>
  
  <func>
    <name name="findItemAtPoint" arity="2" clause_i="1" since=""/>
    <fsummary>Return the sizer item located at the point given in pt, or NULL if there is no item at that point. </fsummary>
    <desc><p>Return the sizer item located at the point given in pt, or NULL if there is no item at that point. 
      </p><p>The (x,y) coordinates in <c>pt</c> correspond to the client coordinates of the window using the sizer for layout. (non-recursive) 
      </p></desc>
  </func>
  
  <func>
    <name name="findItemAtPosition" arity="2" clause_i="1" since=""/>
    <fsummary>Return the sizer item for the given grid cell, or NULL if there is no item at that position. </fsummary>
    <desc><p>Return the sizer item for the given grid cell, or NULL if there is no item at that position. 
      </p><p>(non-recursive) 
      </p></desc>
  </func>
  
  <func>
    <name name="findItemWithData" arity="2" clause_i="1" since=""/>
    <fsummary>Return the sizer item that has a matching user data (it only compares pointer values) or NULL if not found. </fsummary>
    <desc><p>Return the sizer item that has a matching user data (it only compares pointer values) or NULL if not found. 
      </p><p>(non-recursive) 
      </p></desc>
  </func>
  
  <func>
    <name name="getCellSize" arity="3" clause_i="1" since=""/>
    <fsummary>Get the size of the specified cell, including hgap and vgap. </fsummary>
    <desc><p>Get the size of the specified cell, including hgap and vgap. 
      </p><p>Only valid after window layout has been performed. 
      </p></desc>
  </func>
  
  <func>
    <name name="getEmptyCellSize" arity="1" clause_i="1" since=""/>
    <fsummary>Get the size used for cells in the grid with no item. </fsummary>
    <desc><p>Get the size used for cells in the grid with no item. 
      </p></desc>
  </func>
  
  <func>
    <name name="getItemPosition" arity="2" clause_i="1" since=""/>
  
    <name name="getItemPosition" arity="2" clause_i="2" since=""/>
    <fsummary/>
    <desc/>
  </func>
  
  <func>
    <name name="getItemSpan" arity="2" clause_i="1" since=""/>
  
    <name name="getItemSpan" arity="2" clause_i="2" since=""/>
    <fsummary/>
    <desc/>
  </func>
  
  <func>
    <name name="setEmptyCellSize" arity="2" clause_i="1" since=""/>
    <fsummary>Set the size used for cells in the grid with no item. </fsummary>
    <desc><p>Set the size used for cells in the grid with no item. 
      </p></desc>
  </func>
  
  <func>
    <name name="setItemPosition" arity="3" clause_i="1" since=""/>
  
    <name name="setItemPosition" arity="3" clause_i="2" since=""/>
    <fsummary/>
    <desc/>
  </func>
  
  <func>
    <name name="setItemSpan" arity="3" clause_i="1" since=""/>
  
    <name name="setItemSpan" arity="3" clause_i="2" since=""/>
    <fsummary/>
    <desc/>
  </func>
  
  <func>
    <name name="destroy" arity="1" clause_i="1" since=""/>
    <fsummary>Destructor</fsummary>
    <desc><p>Destroys the object.</p></desc>
  </func>
  </funcs>
</erlref>
