<?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><year>2021</year>
    <holder>wxWidgets team.</holder></copyright>
  <legalnotice>Licensed under the wxWindows Free Documentation Licence, Version 3
  </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>
