<?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>wxBookCtrlBase</title>
</header>
<module>wxBookCtrlBase</module>
<modulesummary>Functions for wxBookCtrlBase class</modulesummary>
<description><p>A book control is a convenient way of displaying multiple pages of information, displayed one page at a time. wxWidgets has five variants of this control:
      </p><p> This abstract class is the parent of all these book controls, and provides their basic interface. This is a pure virtual class so you cannot allocate it directly.
      </p><p>See: <url href="https://docs.wxwidgets.org/3.1/overview_bookctrl.html#overview_bookctrl">Overview bookctrl</url>
      </p>
  <p>This class is derived (and can use functions) from: 
    <seeerl marker="wxControl"><c>wxControl</c></seeerl> <seeerl marker="wxWindow"><c>wxWindow</c></seeerl> <seeerl marker="wxEvtHandler"><c>wxEvtHandler</c></seeerl></p>
  
  <p>wxWidgets docs: <url href="https://docs.wxwidgets.org/3.1/classwx_book_ctrl_base.html">wxBookCtrlBase</url></p>
  </description>
<datatypes><datatype><name name="wxBookCtrlBase"/></datatype></datatypes>

<funcs>
  <func>
    <name name="addPage" arity="3" clause_i="1" since=""/>
    <fsummary>See: <c>addPage/4</c></fsummary>
  </func>
  
  <func>
    <name name="addPage" arity="4" clause_i="1" since=""/>
    <fsummary>Adds a new page. </fsummary>
    <desc><p>Adds a new page. 
      </p><p>The page must have the book control itself as the parent and must not have been added to this control previously.
      </p><p>The call to this function will generate the page changing and page changed events if <c>select</c> is true, but not when inserting the very first page (as there is no previous page selection to switch from in this case and so it wouldn't make sense to e.g. veto such event).
      </p><p>Return: true if successful, false otherwise.
      </p><p>Remark: Do not delete the page, it will be deleted by the book control.
      </p><p>See: <seemfa marker="#insertPage/5"><c>insertPage/5</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="insertPage" arity="4" clause_i="1" since=""/>
    <fsummary>See: <c>insertPage/5</c></fsummary>
  </func>
  
  <func>
    <name name="insertPage" arity="5" clause_i="1" since=""/>
    <fsummary>Inserts a new page at the specified position. </fsummary>
    <desc><p>Inserts a new page at the specified position. 
      </p><p>Return: true if successful, false otherwise.
      </p><p>Remark: Do not delete the page, it will be deleted by the book control.
      </p><p>See: <seemfa marker="#addPage/4"><c>addPage/4</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="deletePage" arity="2" clause_i="1" since=""/>
    <fsummary>Deletes the specified page, and the associated window. </fsummary>
    <desc><p>Deletes the specified page, and the associated window. 
      </p><p>The call to this function generates the page changing events when deleting the currently selected page or a page preceding it in the index order, but it does <c>not</c> send any events when deleting the last page: while in this case the selection also changes, it becomes invalid and for compatibility reasons the control never generates events with the invalid selection index. 
      </p></desc>
  </func>
  
  <func>
    <name name="removePage" arity="2" clause_i="1" since=""/>
    <fsummary>Deletes the specified page, without deleting the associated window. </fsummary>
    <desc><p>Deletes the specified page, without deleting the associated window. 
      </p><p>See <seemfa marker="#deletePage/2"><c>deletePage/2</c></seemfa> for a note about the events generated by this function. 
      </p></desc>
  </func>
  
  <func>
    <name name="deleteAllPages" arity="1" clause_i="1" since=""/>
    <fsummary>Deletes all pages. </fsummary>
    <desc><p>Deletes all pages. 
      </p></desc>
  </func>
  
  <func>
    <name name="getPage" arity="2" clause_i="1" since=""/>
    <fsummary>Returns the window at the given page position. </fsummary>
    <desc><p>Returns the window at the given page position. 
      </p></desc>
  </func>
  
  <func>
    <name name="getPageCount" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the number of pages in the control. </fsummary>
    <desc><p>Returns the number of pages in the control. 
      </p></desc>
  </func>
  
  <func>
    <name name="getCurrentPage" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the currently selected page or NULL. </fsummary>
    <desc><p>Returns the currently selected page or NULL. 
      </p></desc>
  </func>
  
  <func>
    <name name="advanceSelection" arity="1" clause_i="1" since=""/>
    <fsummary>See: <c>advanceSelection/2</c></fsummary>
  </func>
  
  <func>
    <name name="advanceSelection" arity="2" clause_i="1" since=""/>
    <fsummary>Cycles through the tabs. </fsummary>
    <desc><p>Cycles through the tabs. 
      </p><p>The call to this function generates the page changing events. 
      </p></desc>
  </func>
  
  <func>
    <name name="setSelection" arity="2" clause_i="1" since=""/>
    <fsummary>Sets the selection to the given page, returning the previous selection. </fsummary>
    <desc><p>Sets the selection to the given page, returning the previous selection. 
      </p><p>Notice that the call to this function generates the page changing events, use the <seemfa marker="#changeSelection/2"><c>changeSelection/2</c></seemfa> function if you don't want these events to be generated.
      </p><p>See: <seemfa marker="#getSelection/1"><c>getSelection/1</c></seemfa>
      </p></desc>
  </func>
  
  <func>
    <name name="getSelection" arity="1" clause_i="1" since=""/>
    <fsummary>Returns the currently selected page, or <c>wxNOT_FOUND</c> if none was selected. </fsummary>
    <desc><p>Returns the currently selected page, or <c>wxNOT_FOUND</c> if none was selected. 
      </p><p>Note that this method may return either the previously or newly selected page when called from the <c>EVT_BOOKCTRL_PAGE_CHANGED</c> handler depending on the platform and so <seemfa marker="wxBookCtrlEvent#getSelection/1"><c>wxBookCtrlEvent:getSelection/1</c></seemfa> should be used instead in this case. 
      </p></desc>
  </func>
  
  <func>
    <name name="changeSelection" arity="2" clause_i="1" since=""/>
    <fsummary>Changes the selection to the given page, returning the previous selection. </fsummary>
    <desc><p>Changes the selection to the given page, returning the previous selection. 
      </p><p>This function behaves as <seemfa marker="#setSelection/2"><c>setSelection/2</c></seemfa> but does <c>not</c> generate the page changing events.
      </p><p>See overview_events_prog for more information. 
      </p></desc>
  </func>
  
  <func>
    <name name="hitTest" arity="2" clause_i="1" since=""/>
    <fsummary>Returns the index of the tab at the specified position or <c>wxNOT_FOUND</c> if none. </fsummary>
    <desc><p>Returns the index of the tab at the specified position or <c>wxNOT_FOUND</c> if none. 
      </p><p>If <c>flags</c> parameter is non-NULL, the position of the point inside the tab is returned as well.
      </p><p>Return: Returns the zero-based tab index or <c>wxNOT_FOUND</c> if there is no tab at the specified position. 
      </p></desc>
  </func>
  
  <func>
    <name name="getPageText" arity="2" clause_i="1" since=""/>
    <fsummary>Returns the string for the given page. </fsummary>
    <desc><p>Returns the string for the given page. 
      </p></desc>
  </func>
  
  <func>
    <name name="setPageText" arity="3" clause_i="1" since=""/>
    <fsummary>Sets the text for the given page. </fsummary>
    <desc><p>Sets the text for the given page. 
      </p></desc>
  </func>
  </funcs>
</erlref>
