Sophie

Sophie

distrib > Mandriva > 2011.0 > x86_64 > by-pkgid > e4e5aca55b6d7244e6bae95bf4fde3ca > files > 279

lib64edelib-devel-2.0-1.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>edelib: TableBase Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">edelib
   &#160;<span id="projectnumber">2.0.0</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceedelib.html">edelib</a>      </li>
      <li class="navelem"><a class="el" href="classedelib_1_1TableBase.html">TableBase</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">TableBase Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="edelib::TableBase" -->
<p>A base class for table widgets.  
 <a href="classedelib_1_1TableBase.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="TableBase_8h_source.html">edelib/TableBase.h</a>&gt;</code></p>

<p><a href="classedelib_1_1TableBase-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><b>IntVector</b></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">STL-ish vector without templates. <br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164">TableContext</a> { <br/>
&#160;&#160;<b>CONTEXT_NONE</b> =  0, 
<a class="el" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164a7986da5cc1d2d9aa0674099741700e13">CONTEXT_STARTPAGE</a> =  0x01, 
<a class="el" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164a7b6b97fc5efb11d469eed0fb4af1ba97">CONTEXT_ENDPAGE</a> =  0x02, 
<a class="el" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164a80f02b0970bdd7898814db7357e4ed25">CONTEXT_ROW_HEADER</a> =  0x04, 
<br/>
&#160;&#160;<a class="el" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164acfa2b41e08872a399aa50f10ba2f9a90">CONTEXT_COL_HEADER</a> =  0x08, 
<a class="el" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164a7976b0a322b18c3a7c6180dbe64f22ee">CONTEXT_CELL</a> =  0x10, 
<a class="el" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164ae733a53ae1a5f138cf00af81151e2010">CONTEXT_TABLE</a> =  0x20, 
<a class="el" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164aa8e5cda2b23693a4084f6580a3833cc3">CONTEXT_RC_RESIZE</a> =  0x40
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">What happened in table callback.  <a href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a2fc60cab62c8507e0a37ad64d401a11e">TableBase</a> (int X, int Y, int W, int H, const char *l=0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#aca7301326117a30f821c9bff55544b77">~TableBase</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#aae048282c7011eedc2e0492f6421ea73">clear</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#ac6923421fdbde14ad2029adf65e14e1a">table_box</a> (Fl_Boxtype val)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">Fl_Boxtype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#ac0c7c5ecd037b580c0e0967ff8474b81">table_box</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a62b8b653406d3d50067261b323b9e0a0">rows</a> (int val)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a8db75abaedab913d9c6a593539fbbd3e">rows</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a7253273f28a83cbbb72d24442d277a3e">cols</a> (int val)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#abc3ae4a5cdee42ffebdfc435b8035a86">cols</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a4b5191ddfbd201da8a2e99b79fda5012">visible_cells</a> (int &amp;r1, int &amp;r2, int &amp;c1, int &amp;c2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a81484715608b46d31821f48302b9feef">is_interactive_resize</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#ad04a01985d460b252b88eb1767ff5060">row_resize</a> (int flag)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a5fc73159a86725cfefca622ac7c687c1">row_resize</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a97a9b25061f6f6f9e56da4e559d8e7e8">col_resize</a> (int flag)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a50647b930711ded90f2b17634f1be9c5">col_resize</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#aef476f2c10403fc1372f68c96affb470">col_resize_min</a> (int val)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a9632428d4428c4d81b4d526a6e841f0e">col_resize_min</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a3ec0ffe03057fbc1258b96f941d051ec">row_resize_min</a> (int val)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a499937417387dccd1d4ef518f19ff202">row_resize_min</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a302efbc285d3c7de92f248cf52b4546f">row_header</a> (int flag)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a32077a08cdd181e77c21d985a02a27cb">row_header</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#ab4673f7a931cdf3e753b4b603c1b4d98">col_header</a> (int flag)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a3fdce3d751ecd575ef3bb53fbfde6a20">col_header</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a75ad271da21d5503f3c9c32cfbfa0f8c">col_header_height</a> (int height)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#aad986593f847e64df3fa65989cb9b005">col_header_height</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#afe4bd79ad8150956df4d0d433af403ee">row_header_width</a> (int width)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a6cae8b6f9d7a9ebed2a59db4cd3b5b7a">row_header_width</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a5131ae3e634a1922ca0fe0ee2646623b">row_header_color</a> (Fl_Color val)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">Fl_Color&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#aa997f69301f207522c3cc4120781861f">row_header_color</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a23f2006f7b30e3e6db2eb6a2c693b5dd">col_header_color</a> (Fl_Color val)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">Fl_Color&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#ac3c09bfb12210f2968c549792bc79bbf">col_header_color</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a61362576bbfc7d9e553eceda51ab2f86">row_height</a> (int row, int height)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a2c0262cb3d449dfdb9132988b5c822aa">row_height</a> (int row)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#ad63ef490271c0008102c702ca6dc31ee">col_width</a> (int col, int width)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a30d62f6cbe73a2bd624135adf17a6d45">col_width</a> (int col)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#ab2b65bb82376c2700421c33ba639732c">row_height_all</a> (int height)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#abf1376bc69974cb9b6a263603f1ac8f7">col_width_all</a> (int width)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a93992a516537e3e463b6eb0fc9d488a2">row_position</a> (int row)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a34b0488b0042fd72ff7ea2841184392d">row_position</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a6a617c6927f94b30a5b1efd85fb09dee">col_position</a> (int col)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#aa2427ebc6290bc8b4a080f2778171127">col_position</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#aeec104237fde6e62c7cfbbf9552da813">top_row</a> (int row)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a7b6291391fac506498a88eaab6fd190b">top_row</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#af7d23634df59a32f6c532cedb4a09e6f">is_selected</a> (int r, int c)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#af3b3a178f59822ee6c02755663d3a5d5">get_selection</a> (int &amp;s_top, int &amp;s_left, int &amp;s_bottom, int &amp;s_right)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a0380144bc4bc93b489c90561ce98c0ba">set_selection</a> (int s_top, int s_left, int s_bottom, int s_right)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#aadc505cffe051c50eb9c3580d582a291">move_cursor</a> (int R, int C)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#aee02f771841efd0fd7f124cb9073c650">resize</a> (int X, int Y, int W, int H)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#ad2e97e7b54d0bf35e406b91fbdd2f256">draw</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#af4c4c97aa08a7979bf4c2b27f56cb7bb">init_sizes</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#affe56bb479d74e9f6975f9ad3f2a107b">add</a> (Fl_Widget &amp;widget)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a8661184c017f323c0a41572b5117088c">add</a> (Fl_Widget *widget)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#ab10c725cef29d2470c509d53b48bc351">insert</a> (Fl_Widget &amp;widget, int n)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a8e70b8334c5593d8de488ab683aa38c3">insert</a> (Fl_Widget &amp;widget1, Fl_Widget *widget2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#ab7d568439331e45e6541742d184e7ed4">remove</a> (Fl_Widget &amp;widget)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#ab0bdf5cca484fb2ba637c39384b27fb2">begin</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#aaf81d3fdaf258088d7692fa70cece087">end</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a00363101219cbad63f84d521f375d783">callback_row</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#aa02812338364a05b228a339a20b12a08">callback_col</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164">TableContext</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#ad5ae00cf02d2cc719700c6d3c28fdbab">callback_context</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1TableBase.html#a3bc2a13d214f5901914dc62472b408b0">do_callback</a> (<a class="el" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164">TableContext</a> context, int row, int col)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>A base class for table widgets. </p>
<p><a class="el" href="classedelib_1_1TableBase.html" title="A base class for table widgets.">TableBase</a> is incarnation of excelent Fl_Table widget, written by Greg Ercolano. To be useful, it must be subclassed and several virtual functions defined.</p>
<p>This widget does not handle the data in the table. draw_cell() must be overridden by a subclass to manage drawing the content of the cells.</p>
<p>Drawing (and callbacks, later explained) are done via <em>contexts</em>. Contexts shows what parts should be redrawn or are changed by user when callbacks are used. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164" title="What happened in table callback.">TableContext</a></dd></dl>
<p>Here is the simple table implementation: </p>
<div class="fragment"><pre class="fragment">   <span class="comment">// table callback</span>
   <span class="keywordtype">void</span> table_cb(Fl_Widget*, <span class="keywordtype">void</span>* data) {
     MyTable* t = (MyTable*)data;
     t-&gt;table_callback();
   }

   <span class="keyword">class </span>MyTable : <span class="keyword">public</span> <a class="code" href="classedelib_1_1TableBase.html#a2fc60cab62c8507e0a37ad64d401a11e">TableBase</a> {
   <span class="keyword">protected</span>:
      <span class="keywordtype">void</span> draw_cell(<a class="code" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164" title="What happened in table callback.">TableContext</a> context, <span class="keywordtype">int</span> R, <span class="keywordtype">int</span> C, <span class="keywordtype">int</span> X, <span class="keywordtype">int</span> Y, <span class="keywordtype">int</span> W, <span class="keywordtype">int</span> H) {
        <span class="keywordflow">switch</span>(context):
          <span class="keywordflow">case</span> <a class="code" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164a7986da5cc1d2d9aa0674099741700e13" title="before a page is redrawn">CONTEXT_STARTPAGE</a>:
           <span class="comment">// When table or parts of the table are about to be redraw. Use it to initialize</span>
           <span class="comment">// static data such a font selections or to lock a database before accessing. </span>
           <span class="comment">// Here R and C will be zero and X, Y, W and H will have table dimensions.</span>
           <span class="keywordflow">break</span>;
          <span class="keywordflow">case</span> <a class="code" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164a7b6b97fc5efb11d469eed0fb4af1ba97" title="after a page is redrawn">CONTEXT_ENDPAGE</a>:
           <span class="comment">// When table has completed being redrawn. Useful for unlocking a database after accessing.</span>
           <span class="comment">// Here R and C will be zero and X, Y, W and H will have table dimensions.</span>
           <span class="keywordflow">break</span>;
          <span class="keywordflow">case</span> <a class="code" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164a80f02b0970bdd7898814db7357e4ed25" title="in the row header">CONTEXT_ROW_HEADER</a>: 
           <span class="comment">// When row header cell needs to be redrawn</span>
          <span class="keywordflow">case</span> <a class="code" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164acfa2b41e08872a399aa50f10ba2f9a90" title="in the col header">CONTEXT_COL_HEADER</a>: 
           <span class="comment">// When columnt header cell needs to be redrawn</span>
           <span class="comment">// Our table has both row and column headers so draw it</span>
           fl_push_clip(X, Y, W, H);
           fl_draw_box(FL_UP_BOX, X, Y, W, H, color());
           fl_color(FL_BLACK);

           <span class="comment">// draw &quot;demo&quot; label in each header cell</span>
           fl_draw(<span class="stringliteral">&quot;demo&quot;</span>, X, Y, W, H, FL_ALIGN_LEFT);
           fl_pop_clip();
           <span class="keywordflow">break</span>;
          <span class="keywordflow">case</span> <a class="code" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164a7976b0a322b18c3a7c6180dbe64f22ee" title="in one of the cells">CONTEXT_CELL</a>:
           <span class="comment">// When data in cells needs to be redrawn</span>
           <span class="comment">// Here, each cells will have borders and contains &quot;foo&quot; label</span>
           fl_push_clip(X, Y, W, H);

           <span class="comment">// background color</span>
           fl_color(FL_WHITE);
           fl_rectf(X, Y, W, H);

           <span class="comment">// text</span>
           fl_color(FL_BLACK);
           fl_draw(<span class="stringliteral">&quot;foo&quot;</span>, X, Y, W, H, FL_ALIGN_CENTER);

           <span class="comment">// border</span>
           fl_color(FL_GRAY);
           fl_rect(X, Y, W, H);

           fl_pop_clip();
           <span class="keywordflow">break</span>;
          <span class="keywordflow">default</span>:
           <span class="keywordflow">break</span>;
      }

   <span class="keyword">public</span>:
      MyTable() {
        <span class="comment">// table used frames, not boxes</span>
        box(FL_DOWN_FRAME);
        <span class="comment">// let we get all events</span>
        when(FL_WHEN_CHANGED | FL_WHEN_RELEASED);
        <span class="comment">// register our callback</span>
        callback(table_cb, <span class="keyword">this</span>);
      }

      <span class="keywordtype">void</span> table_callback() {
        <span class="comment">// changed row</span>
        <span class="keywordtype">int</span> R = <a class="code" href="classedelib_1_1TableBase.html#a00363101219cbad63f84d521f375d783">callback_row</a>();
        <span class="comment">// changed column</span>
        <span class="keywordtype">int</span> C = <a class="code" href="classedelib_1_1TableBase.html#aa02812338364a05b228a339a20b12a08">callback_col</a>();
        <span class="comment">// context</span>
        <a class="code" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164" title="What happened in table callback.">TableContext</a> context = <a class="code" href="classedelib_1_1TableBase.html#ad5ae00cf02d2cc719700c6d3c28fdbab">callback_context</a>();

        <span class="keywordflow">if</span>(context == <a class="code" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164a80f02b0970bdd7898814db7357e4ed25" title="in the row header">CONTEXT_ROW_HEADER</a>) {
         <span class="comment">// clicked on a row header</span>
         <span class="comment">// excludes resizing</span>
        } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(context == <a class="code" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164acfa2b41e08872a399aa50f10ba2f9a90" title="in the col header">CONTEXT_COL_HEADER</a>) {
         <span class="comment">// clicked on a column header</span>
         <span class="comment">// excludes resizing</span>
        } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(context == <a class="code" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164a7976b0a322b18c3a7c6180dbe64f22ee" title="in one of the cells">CONTEXT_CELL</a>) {
         <span class="comment">// clicked on a cell</span>
         <span class="comment">// to receive callback for FL_RELEASE events, you must set when(FL_WHEN_RELEASE)</span>
        } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(context == <a class="code" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164aa8e5cda2b23693a4084f6580a3833cc3" title="column or row being resized">CONTEXT_RC_RESIZE</a>) {
         <span class="comment">// resized columns or rows interactively or via col_width() and row_height()</span>
         <span class="comment">// is_interactive_resize() should be used to determine interactive resize</span>
         <span class="comment">//</span>
         <span class="comment">// if row is resized, R will have row number and C will be 0</span>
         <span class="comment">// if column is resized, C will have column number and R will be 0</span>
         <span class="comment">// </span>
         <span class="comment">// to receive resize evenys, you must set when(FL_WHEN_CHANGED)</span>
        }
      }
   };
</pre></div><p>Since <a class="el" href="classedelib_1_1TableBase.html" title="A base class for table widgets.">TableBase</a> is inherited from Fl_Group, it can be container for FLTK widgets too. In that case there is no need to use CONTEXT_CELL in draw_cell() and draw widgets: they will be drawn by itself. The only thing you should use is to <em><a class="el" href="classedelib_1_1TableBase.html#affe56bb479d74e9f6975f9ad3f2a107b">add()</a></em> them, as any other widget is addet to Fl_Group. </p>
</div><hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a1026825877324847ba9b3c47f8dbe164"></a><!-- doxytag: member="edelib::TableBase::TableContext" ref="a1026825877324847ba9b3c47f8dbe164" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164">TableContext</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>What happened in table callback. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a1026825877324847ba9b3c47f8dbe164a7986da5cc1d2d9aa0674099741700e13"></a><!-- doxytag: member="CONTEXT_STARTPAGE" ref="a1026825877324847ba9b3c47f8dbe164a7986da5cc1d2d9aa0674099741700e13" args="" -->CONTEXT_STARTPAGE</em>&nbsp;</td><td>
<p>before a page is redrawn </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a1026825877324847ba9b3c47f8dbe164a7b6b97fc5efb11d469eed0fb4af1ba97"></a><!-- doxytag: member="CONTEXT_ENDPAGE" ref="a1026825877324847ba9b3c47f8dbe164a7b6b97fc5efb11d469eed0fb4af1ba97" args="" -->CONTEXT_ENDPAGE</em>&nbsp;</td><td>
<p>after a page is redrawn </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a1026825877324847ba9b3c47f8dbe164a80f02b0970bdd7898814db7357e4ed25"></a><!-- doxytag: member="CONTEXT_ROW_HEADER" ref="a1026825877324847ba9b3c47f8dbe164a80f02b0970bdd7898814db7357e4ed25" args="" -->CONTEXT_ROW_HEADER</em>&nbsp;</td><td>
<p>in the row header </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a1026825877324847ba9b3c47f8dbe164acfa2b41e08872a399aa50f10ba2f9a90"></a><!-- doxytag: member="CONTEXT_COL_HEADER" ref="a1026825877324847ba9b3c47f8dbe164acfa2b41e08872a399aa50f10ba2f9a90" args="" -->CONTEXT_COL_HEADER</em>&nbsp;</td><td>
<p>in the col header </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a1026825877324847ba9b3c47f8dbe164a7976b0a322b18c3a7c6180dbe64f22ee"></a><!-- doxytag: member="CONTEXT_CELL" ref="a1026825877324847ba9b3c47f8dbe164a7976b0a322b18c3a7c6180dbe64f22ee" args="" -->CONTEXT_CELL</em>&nbsp;</td><td>
<p>in one of the cells </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a1026825877324847ba9b3c47f8dbe164ae733a53ae1a5f138cf00af81151e2010"></a><!-- doxytag: member="CONTEXT_TABLE" ref="a1026825877324847ba9b3c47f8dbe164ae733a53ae1a5f138cf00af81151e2010" args="" -->CONTEXT_TABLE</em>&nbsp;</td><td>
<p>in the table </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a1026825877324847ba9b3c47f8dbe164aa8e5cda2b23693a4084f6580a3833cc3"></a><!-- doxytag: member="CONTEXT_RC_RESIZE" ref="a1026825877324847ba9b3c47f8dbe164aa8e5cda2b23693a4084f6580a3833cc3" args="" -->CONTEXT_RC_RESIZE</em>&nbsp;</td><td>
<p>column or row being resized </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a2fc60cab62c8507e0a37ad64d401a11e"></a><!-- doxytag: member="edelib::TableBase::TableBase" ref="a2fc60cab62c8507e0a37ad64d401a11e" args="(int X, int Y, int W, int H, const char *l=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1TableBase.html">TableBase</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>X</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>W</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>H</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>l</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The constructor that creates empty table with no rows or columns. Resizing of rows or columns is disabled. Header is not drawn too. </p>

</div>
</div>
<a class="anchor" id="aca7301326117a30f821c9bff55544b77"></a><!-- doxytag: member="edelib::TableBase::~TableBase" ref="aca7301326117a30f821c9bff55544b77" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">~<a class="el" href="classedelib_1_1TableBase.html">TableBase</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Destroys the table and associated widgets </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="affe56bb479d74e9f6975f9ad3f2a107b"></a><!-- doxytag: member="edelib::TableBase::add" ref="affe56bb479d74e9f6975f9ad3f2a107b" args="(Fl_Widget &amp;widget)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#affe56bb479d74e9f6975f9ad3f2a107b">add</a> </td>
          <td>(</td>
          <td class="paramtype">Fl_Widget &amp;&#160;</td>
          <td class="paramname"><em>widget</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Append widget to the table </p>

</div>
</div>
<a class="anchor" id="a8661184c017f323c0a41572b5117088c"></a><!-- doxytag: member="edelib::TableBase::add" ref="a8661184c017f323c0a41572b5117088c" args="(Fl_Widget *widget)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#affe56bb479d74e9f6975f9ad3f2a107b">add</a> </td>
          <td>(</td>
          <td class="paramtype">Fl_Widget *&#160;</td>
          <td class="paramname"><em>widget</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Append widget to the table </p>

</div>
</div>
<a class="anchor" id="ab0bdf5cca484fb2ba637c39384b27fb2"></a><!-- doxytag: member="edelib::TableBase::begin" ref="ab0bdf5cca484fb2ba637c39384b27fb2" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#ab0bdf5cca484fb2ba637c39384b27fb2">begin</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Same as Fl_Group::begin() </p>

</div>
</div>
<a class="anchor" id="aa02812338364a05b228a339a20b12a08"></a><!-- doxytag: member="edelib::TableBase::callback_col" ref="aa02812338364a05b228a339a20b12a08" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classedelib_1_1TableBase.html#aa02812338364a05b228a339a20b12a08">callback_col</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the current column event occured on. This function should be used from user's callback set with callback() </p>

</div>
</div>
<a class="anchor" id="ad5ae00cf02d2cc719700c6d3c28fdbab"></a><!-- doxytag: member="edelib::TableBase::callback_context" ref="ad5ae00cf02d2cc719700c6d3c28fdbab" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164">TableContext</a> <a class="el" href="classedelib_1_1TableBase.html#ad5ae00cf02d2cc719700c6d3c28fdbab">callback_context</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns current TableContext </p>

</div>
</div>
<a class="anchor" id="a00363101219cbad63f84d521f375d783"></a><!-- doxytag: member="edelib::TableBase::callback_row" ref="a00363101219cbad63f84d521f375d783" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classedelib_1_1TableBase.html#a00363101219cbad63f84d521f375d783">callback_row</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the current row event occured on. This function should be used from user's callback set with callback() </p>

</div>
</div>
<a class="anchor" id="aae048282c7011eedc2e0492f6421ea73"></a><!-- doxytag: member="edelib::TableBase::clear" ref="aae048282c7011eedc2e0492f6421ea73" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classedelib_1_1TableBase.html#aae048282c7011eedc2e0492f6421ea73">clear</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Clears the table </p>

</div>
</div>
<a class="anchor" id="ab4673f7a931cdf3e753b4b603c1b4d98"></a><!-- doxytag: member="edelib::TableBase::col_header" ref="ab4673f7a931cdf3e753b4b603c1b4d98" args="(int flag)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#ab4673f7a931cdf3e753b4b603c1b4d98">col_header</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>flag</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Enable or disable showing column headers. 1 will enable them and 0 will disable them. Table will be redrawn after this call </p>

</div>
</div>
<a class="anchor" id="a3fdce3d751ecd575ef3bb53fbfde6a20"></a><!-- doxytag: member="edelib::TableBase::col_header" ref="a3fdce3d751ecd575ef3bb53fbfde6a20" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classedelib_1_1TableBase.html#ab4673f7a931cdf3e753b4b603c1b4d98">col_header</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns 1 if column headers are shown or 0 if not </p>

</div>
</div>
<a class="anchor" id="a23f2006f7b30e3e6db2eb6a2c693b5dd"></a><!-- doxytag: member="edelib::TableBase::col_header_color" ref="a23f2006f7b30e3e6db2eb6a2c693b5dd" args="(Fl_Color val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#a23f2006f7b30e3e6db2eb6a2c693b5dd">col_header_color</a> </td>
          <td>(</td>
          <td class="paramtype">Fl_Color&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sets the column header color. Table will be then redrawn </p>

</div>
</div>
<a class="anchor" id="ac3c09bfb12210f2968c549792bc79bbf"></a><!-- doxytag: member="edelib::TableBase::col_header_color" ref="ac3c09bfb12210f2968c549792bc79bbf" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Fl_Color <a class="el" href="classedelib_1_1TableBase.html#a23f2006f7b30e3e6db2eb6a2c693b5dd">col_header_color</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the current column header color </p>

</div>
</div>
<a class="anchor" id="a75ad271da21d5503f3c9c32cfbfa0f8c"></a><!-- doxytag: member="edelib::TableBase::col_header_height" ref="a75ad271da21d5503f3c9c32cfbfa0f8c" args="(int height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#a75ad271da21d5503f3c9c32cfbfa0f8c">col_header_height</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>height</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sets the column header heights. Table will be then redrawn </p>

</div>
</div>
<a class="anchor" id="aad986593f847e64df3fa65989cb9b005"></a><!-- doxytag: member="edelib::TableBase::col_header_height" ref="aad986593f847e64df3fa65989cb9b005" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classedelib_1_1TableBase.html#a75ad271da21d5503f3c9c32cfbfa0f8c">col_header_height</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the column header heights </p>

</div>
</div>
<a class="anchor" id="a6a617c6927f94b30a5b1efd85fb09dee"></a><!-- doxytag: member="edelib::TableBase::col_position" ref="a6a617c6927f94b30a5b1efd85fb09dee" args="(int col)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#a6a617c6927f94b30a5b1efd85fb09dee">col_position</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>col</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sets the table's current column scroll position </p>

</div>
</div>
<a class="anchor" id="aa2427ebc6290bc8b4a080f2778171127"></a><!-- doxytag: member="edelib::TableBase::col_position" ref="aa2427ebc6290bc8b4a080f2778171127" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classedelib_1_1TableBase.html#a6a617c6927f94b30a5b1efd85fb09dee">col_position</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the current columnscroll position </p>

</div>
</div>
<a class="anchor" id="a97a9b25061f6f6f9e56da4e559d8e7e8"></a><!-- doxytag: member="edelib::TableBase::col_resize" ref="a97a9b25061f6f6f9e56da4e559d8e7e8" args="(int flag)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#a97a9b25061f6f6f9e56da4e559d8e7e8">col_resize</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>flag</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Allow or disallow column resizing. If 1 is used, column will be resized; 0 is for opposite. Since interactive resizing is done via the column headers, <a class="el" href="classedelib_1_1TableBase.html#a3fdce3d751ecd575ef3bb53fbfde6a20">col_header()</a> must also be enabled to allow resizing </p>

</div>
</div>
<a class="anchor" id="a50647b930711ded90f2b17634f1be9c5"></a><!-- doxytag: member="edelib::TableBase::col_resize" ref="a50647b930711ded90f2b17634f1be9c5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classedelib_1_1TableBase.html#a97a9b25061f6f6f9e56da4e559d8e7e8">col_resize</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns 1 if column can be resized or 0 if not </p>

</div>
</div>
<a class="anchor" id="aef476f2c10403fc1372f68c96affb470"></a><!-- doxytag: member="edelib::TableBase::col_resize_min" ref="aef476f2c10403fc1372f68c96affb470" args="(int val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#aef476f2c10403fc1372f68c96affb470">col_resize_min</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sets the current column minimum resize value. Must be a value &gt;= 1 </p>

</div>
</div>
<a class="anchor" id="a9632428d4428c4d81b4d526a6e841f0e"></a><!-- doxytag: member="edelib::TableBase::col_resize_min" ref="a9632428d4428c4d81b4d526a6e841f0e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classedelib_1_1TableBase.html#aef476f2c10403fc1372f68c96affb470">col_resize_min</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the current column minimum resize value </p>

</div>
</div>
<a class="anchor" id="ad63ef490271c0008102c702ca6dc31ee"></a><!-- doxytag: member="edelib::TableBase::col_width" ref="ad63ef490271c0008102c702ca6dc31ee" args="(int col, int width)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#ad63ef490271c0008102c702ca6dc31ee">col_width</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>col</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>width</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sets the width of the specified column in pixels and table is redrawn. callback() will be invoked with CONTEXT_RC_RESIZE if the column's width was actually changed and when() is FL_WHEN_CHANGED </p>

</div>
</div>
<a class="anchor" id="a30d62f6cbe73a2bd624135adf17a6d45"></a><!-- doxytag: member="edelib::TableBase::col_width" ref="a30d62f6cbe73a2bd624135adf17a6d45" args="(int col)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classedelib_1_1TableBase.html#ad63ef490271c0008102c702ca6dc31ee">col_width</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>col</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the current height of specified column </p>

</div>
</div>
<a class="anchor" id="abf1376bc69974cb9b6a263603f1ac8f7"></a><!-- doxytag: member="edelib::TableBase::col_width_all" ref="abf1376bc69974cb9b6a263603f1ac8f7" args="(int width)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#abf1376bc69974cb9b6a263603f1ac8f7">col_width_all</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>width</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sets the width of all columns to the same value. Table is redrawn then </p>

</div>
</div>
<a class="anchor" id="a7253273f28a83cbbb72d24442d277a3e"></a><!-- doxytag: member="edelib::TableBase::cols" ref="a7253273f28a83cbbb72d24442d277a3e" args="(int val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classedelib_1_1TableBase.html#a7253273f28a83cbbb72d24442d277a3e">cols</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sets the number of columns in the table. Table is redraw </p>

</div>
</div>
<a class="anchor" id="abc3ae4a5cdee42ffebdfc435b8035a86"></a><!-- doxytag: member="edelib::TableBase::cols" ref="abc3ae4a5cdee42ffebdfc435b8035a86" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classedelib_1_1TableBase.html#a7253273f28a83cbbb72d24442d277a3e">cols</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the number of columns in the table </p>

</div>
</div>
<a class="anchor" id="a3bc2a13d214f5901914dc62472b408b0"></a><!-- doxytag: member="edelib::TableBase::do_callback" ref="a3bc2a13d214f5901914dc62472b408b0" args="(TableContext context, int row, int col)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#a3bc2a13d214f5901914dc62472b408b0">do_callback</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classedelib_1_1TableBase.html#a1026825877324847ba9b3c47f8dbe164">TableContext</a>&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>col</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Execute user's callback with given TableContext, row and column </p>

</div>
</div>
<a class="anchor" id="ad2e97e7b54d0bf35e406b91fbdd2f256"></a><!-- doxytag: member="edelib::TableBase::draw" ref="ad2e97e7b54d0bf35e406b91fbdd2f256" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#ad2e97e7b54d0bf35e406b91fbdd2f256">draw</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Draw the table (called by FLTK) </p>

</div>
</div>
<a class="anchor" id="aaf81d3fdaf258088d7692fa70cece087"></a><!-- doxytag: member="edelib::TableBase::end" ref="aaf81d3fdaf258088d7692fa70cece087" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#aaf81d3fdaf258088d7692fa70cece087">end</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Same as Fl_Group::end() </p>

</div>
</div>
<a class="anchor" id="af3b3a178f59822ee6c02755663d3a5d5"></a><!-- doxytag: member="edelib::TableBase::get_selection" ref="af3b3a178f59822ee6c02755663d3a5d5" args="(int &amp;s_top, int &amp;s_left, int &amp;s_bottom, int &amp;s_right)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#af3b3a178f59822ee6c02755663d3a5d5">get_selection</a> </td>
          <td>(</td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>s_top</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>s_left</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>s_bottom</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>s_right</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns selected rows and columns. Values will be leftmost/rightmost column and topmost/bottommost rows</p>
<p>This function is used to return bounds of multiple selected cells </p>

</div>
</div>
<a class="anchor" id="af4c4c97aa08a7979bf4c2b27f56cb7bb"></a><!-- doxytag: member="edelib::TableBase::init_sizes" ref="af4c4c97aa08a7979bf4c2b27f56cb7bb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#af4c4c97aa08a7979bf4c2b27f56cb7bb">init_sizes</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Calls Fl_Group::init_sizes(). Table will be redrawn </p>

</div>
</div>
<a class="anchor" id="ab10c725cef29d2470c509d53b48bc351"></a><!-- doxytag: member="edelib::TableBase::insert" ref="ab10c725cef29d2470c509d53b48bc351" args="(Fl_Widget &amp;widget, int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#ab10c725cef29d2470c509d53b48bc351">insert</a> </td>
          <td>(</td>
          <td class="paramtype">Fl_Widget &amp;&#160;</td>
          <td class="paramname"><em>widget</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Same as Fl_Group::insert() </p>

</div>
</div>
<a class="anchor" id="a8e70b8334c5593d8de488ab683aa38c3"></a><!-- doxytag: member="edelib::TableBase::insert" ref="a8e70b8334c5593d8de488ab683aa38c3" args="(Fl_Widget &amp;widget1, Fl_Widget *widget2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#ab10c725cef29d2470c509d53b48bc351">insert</a> </td>
          <td>(</td>
          <td class="paramtype">Fl_Widget &amp;&#160;</td>
          <td class="paramname"><em>widget1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Fl_Widget *&#160;</td>
          <td class="paramname"><em>widget2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Same as Fl_Group::insert() </p>

</div>
</div>
<a class="anchor" id="a81484715608b46d31821f48302b9feef"></a><!-- doxytag: member="edelib::TableBase::is_interactive_resize" ref="a81484715608b46d31821f48302b9feef" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classedelib_1_1TableBase.html#a81484715608b46d31821f48302b9feef">is_interactive_resize</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns 1 if row or column is interactively resized or 0 if not </p>

</div>
</div>
<a class="anchor" id="af7d23634df59a32f6c532cedb4a09e6f"></a><!-- doxytag: member="edelib::TableBase::is_selected" ref="af7d23634df59a32f6c532cedb4a09e6f" args="(int r, int c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classedelib_1_1TableBase.html#af7d23634df59a32f6c532cedb4a09e6f">is_selected</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>c</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns 1 if the cell with the given row and column values is selected </p>

</div>
</div>
<a class="anchor" id="aadc505cffe051c50eb9c3580d582a291"></a><!-- doxytag: member="edelib::TableBase::move_cursor" ref="aadc505cffe051c50eb9c3580d582a291" args="(int R, int C)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classedelib_1_1TableBase.html#aadc505cffe051c50eb9c3580d582a291">move_cursor</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>R</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>C</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Selects cell at the given row/column position</p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000026">Todo:</a></b></dt><dd>This function should be called select_cell() or similar </dd></dl>

</div>
</div>
<a class="anchor" id="ab7d568439331e45e6541742d184e7ed4"></a><!-- doxytag: member="edelib::TableBase::remove" ref="ab7d568439331e45e6541742d184e7ed4" args="(Fl_Widget &amp;widget)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#ab7d568439331e45e6541742d184e7ed4">remove</a> </td>
          <td>(</td>
          <td class="paramtype">Fl_Widget &amp;&#160;</td>
          <td class="paramname"><em>widget</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Remove a widget from the table </p>

</div>
</div>
<a class="anchor" id="aee02f771841efd0fd7f124cb9073c650"></a><!-- doxytag: member="edelib::TableBase::resize" ref="aee02f771841efd0fd7f124cb9073c650" args="(int X, int Y, int W, int H)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#aee02f771841efd0fd7f124cb9073c650">resize</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>X</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>W</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>H</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Resize table. Table is redrawn </p>

</div>
</div>
<a class="anchor" id="a302efbc285d3c7de92f248cf52b4546f"></a><!-- doxytag: member="edelib::TableBase::row_header" ref="a302efbc285d3c7de92f248cf52b4546f" args="(int flag)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#a302efbc285d3c7de92f248cf52b4546f">row_header</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>flag</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Enable or disable showing row headers. 1 will enable them and 0 will disable them. Table will be redrawn after this call </p>

</div>
</div>
<a class="anchor" id="a32077a08cdd181e77c21d985a02a27cb"></a><!-- doxytag: member="edelib::TableBase::row_header" ref="a32077a08cdd181e77c21d985a02a27cb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classedelib_1_1TableBase.html#a302efbc285d3c7de92f248cf52b4546f">row_header</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns 1 if row headers are shown or 0 if not </p>

</div>
</div>
<a class="anchor" id="a5131ae3e634a1922ca0fe0ee2646623b"></a><!-- doxytag: member="edelib::TableBase::row_header_color" ref="a5131ae3e634a1922ca0fe0ee2646623b" args="(Fl_Color val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#a5131ae3e634a1922ca0fe0ee2646623b">row_header_color</a> </td>
          <td>(</td>
          <td class="paramtype">Fl_Color&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sets the row header color. Table will be then redrawn </p>

</div>
</div>
<a class="anchor" id="aa997f69301f207522c3cc4120781861f"></a><!-- doxytag: member="edelib::TableBase::row_header_color" ref="aa997f69301f207522c3cc4120781861f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Fl_Color <a class="el" href="classedelib_1_1TableBase.html#a5131ae3e634a1922ca0fe0ee2646623b">row_header_color</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the current row header color </p>

</div>
</div>
<a class="anchor" id="afe4bd79ad8150956df4d0d433af403ee"></a><!-- doxytag: member="edelib::TableBase::row_header_width" ref="afe4bd79ad8150956df4d0d433af403ee" args="(int width)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#afe4bd79ad8150956df4d0d433af403ee">row_header_width</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>width</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sets the row header heights. Table will be then redrawn </p>

</div>
</div>
<a class="anchor" id="a6cae8b6f9d7a9ebed2a59db4cd3b5b7a"></a><!-- doxytag: member="edelib::TableBase::row_header_width" ref="a6cae8b6f9d7a9ebed2a59db4cd3b5b7a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classedelib_1_1TableBase.html#afe4bd79ad8150956df4d0d433af403ee">row_header_width</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the row header heights </p>

</div>
</div>
<a class="anchor" id="a61362576bbfc7d9e553eceda51ab2f86"></a><!-- doxytag: member="edelib::TableBase::row_height" ref="a61362576bbfc7d9e553eceda51ab2f86" args="(int row, int height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#a61362576bbfc7d9e553eceda51ab2f86">row_height</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sets the height of the specified row in pixels and table is redrawn. callback() will be invoked with CONTEXT_RC_RESIZE if the row's height was actually changed and when() is FL_WHEN_CHANGED </p>

</div>
</div>
<a class="anchor" id="a2c0262cb3d449dfdb9132988b5c822aa"></a><!-- doxytag: member="edelib::TableBase::row_height" ref="a2c0262cb3d449dfdb9132988b5c822aa" args="(int row)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classedelib_1_1TableBase.html#a61362576bbfc7d9e553eceda51ab2f86">row_height</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>row</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the current height of specified row </p>

</div>
</div>
<a class="anchor" id="ab2b65bb82376c2700421c33ba639732c"></a><!-- doxytag: member="edelib::TableBase::row_height_all" ref="ab2b65bb82376c2700421c33ba639732c" args="(int height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#ab2b65bb82376c2700421c33ba639732c">row_height_all</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>height</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sets the height of all rows to the same value. Table is redrawn then </p>

</div>
</div>
<a class="anchor" id="a93992a516537e3e463b6eb0fc9d488a2"></a><!-- doxytag: member="edelib::TableBase::row_position" ref="a93992a516537e3e463b6eb0fc9d488a2" args="(int row)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#a93992a516537e3e463b6eb0fc9d488a2">row_position</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>row</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sets the table's current row scroll position </p>

</div>
</div>
<a class="anchor" id="a34b0488b0042fd72ff7ea2841184392d"></a><!-- doxytag: member="edelib::TableBase::row_position" ref="a34b0488b0042fd72ff7ea2841184392d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classedelib_1_1TableBase.html#a93992a516537e3e463b6eb0fc9d488a2">row_position</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the current row scroll position </p>

</div>
</div>
<a class="anchor" id="ad04a01985d460b252b88eb1767ff5060"></a><!-- doxytag: member="edelib::TableBase::row_resize" ref="ad04a01985d460b252b88eb1767ff5060" args="(int flag)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#ad04a01985d460b252b88eb1767ff5060">row_resize</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>flag</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Allow or disallow row resizing. If 1 is used, row will be resized; 0 is for opposite. Since interactive resizing is done via the row headers, <a class="el" href="classedelib_1_1TableBase.html#a32077a08cdd181e77c21d985a02a27cb">row_header()</a> must also be enabled to allow resizing </p>

</div>
</div>
<a class="anchor" id="a5fc73159a86725cfefca622ac7c687c1"></a><!-- doxytag: member="edelib::TableBase::row_resize" ref="a5fc73159a86725cfefca622ac7c687c1" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classedelib_1_1TableBase.html#ad04a01985d460b252b88eb1767ff5060">row_resize</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns 1 if rows can be resized or 0 if not </p>

</div>
</div>
<a class="anchor" id="a3ec0ffe03057fbc1258b96f941d051ec"></a><!-- doxytag: member="edelib::TableBase::row_resize_min" ref="a3ec0ffe03057fbc1258b96f941d051ec" args="(int val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#a3ec0ffe03057fbc1258b96f941d051ec">row_resize_min</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sets the current row minimum resize value. Must be a value &gt;= 1 </p>

</div>
</div>
<a class="anchor" id="a499937417387dccd1d4ef518f19ff202"></a><!-- doxytag: member="edelib::TableBase::row_resize_min" ref="a499937417387dccd1d4ef518f19ff202" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classedelib_1_1TableBase.html#a3ec0ffe03057fbc1258b96f941d051ec">row_resize_min</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the current row minimum resize value </p>

</div>
</div>
<a class="anchor" id="a62b8b653406d3d50067261b323b9e0a0"></a><!-- doxytag: member="edelib::TableBase::rows" ref="a62b8b653406d3d50067261b323b9e0a0" args="(int val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classedelib_1_1TableBase.html#a62b8b653406d3d50067261b323b9e0a0">rows</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sets the number of rows in the table. Table is redrawn </p>

</div>
</div>
<a class="anchor" id="a8db75abaedab913d9c6a593539fbbd3e"></a><!-- doxytag: member="edelib::TableBase::rows" ref="a8db75abaedab913d9c6a593539fbbd3e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classedelib_1_1TableBase.html#a62b8b653406d3d50067261b323b9e0a0">rows</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the number of rows in the table </p>

</div>
</div>
<a class="anchor" id="a0380144bc4bc93b489c90561ce98c0ba"></a><!-- doxytag: member="edelib::TableBase::set_selection" ref="a0380144bc4bc93b489c90561ce98c0ba" args="(int s_top, int s_left, int s_bottom, int s_right)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#a0380144bc4bc93b489c90561ce98c0ba">set_selection</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>s_top</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>s_left</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>s_bottom</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>s_right</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Select's rows and columns. Values should be leftmost/rightmost column and topmost/bottommost rows</p>
<p>This function is used to select multiple cells </p>

</div>
</div>
<a class="anchor" id="ac6923421fdbde14ad2029adf65e14e1a"></a><!-- doxytag: member="edelib::TableBase::table_box" ref="ac6923421fdbde14ad2029adf65e14e1a" args="(Fl_Boxtype val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#ac6923421fdbde14ad2029adf65e14e1a">table_box</a> </td>
          <td>(</td>
          <td class="paramtype">Fl_Boxtype&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sets a kind of box around the table (default is FL_NO_BOX). Calling this function will redraw table </p>

</div>
</div>
<a class="anchor" id="ac0c7c5ecd037b580c0e0967ff8474b81"></a><!-- doxytag: member="edelib::TableBase::table_box" ref="ac0c7c5ecd037b580c0e0967ff8474b81" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Fl_Boxtype <a class="el" href="classedelib_1_1TableBase.html#ac6923421fdbde14ad2029adf65e14e1a">table_box</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the current box type used for the data table </p>

</div>
</div>
<a class="anchor" id="aeec104237fde6e62c7cfbbf9552da813"></a><!-- doxytag: member="edelib::TableBase::top_row" ref="aeec104237fde6e62c7cfbbf9552da813" args="(int row)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#aeec104237fde6e62c7cfbbf9552da813">top_row</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>row</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sets which row should be at the top of the table, scrolling as necessary. Table is redrawn </p>

</div>
</div>
<a class="anchor" id="a7b6291391fac506498a88eaab6fd190b"></a><!-- doxytag: member="edelib::TableBase::top_row" ref="a7b6291391fac506498a88eaab6fd190b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classedelib_1_1TableBase.html#aeec104237fde6e62c7cfbbf9552da813">top_row</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the current top row. This row may be partially obscured </p>

</div>
</div>
<a class="anchor" id="a4b5191ddfbd201da8a2e99b79fda5012"></a><!-- doxytag: member="edelib::TableBase::visible_cells" ref="a4b5191ddfbd201da8a2e99b79fda5012" args="(int &amp;r1, int &amp;r2, int &amp;c1, int &amp;c2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1TableBase.html#a4b5191ddfbd201da8a2e99b79fda5012">visible_cells</a> </td>
          <td>(</td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>r1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>r2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>c1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>c2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the range of row and column numbers for all the visible and partially visible cells in the table.</p>
<p>These values can be used e.g. by draw_cell() during CONTEXT_STARTPAGE to figure out what cells are about to be redrawn, for the purposes of locking the data from a database befire it's drawn </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>edelib/<a class="el" href="TableBase_8h_source.html">TableBase.h</a></li>
</ul>
</div><!-- contents -->


<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 5 2012 17:49:03 for edelib by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>

</body>
</html>