Sophie

Sophie

distrib > Mandriva > 10.0 > i586 > media > contrib > by-pkgid > af7a4b7f1ee5a4a084c41b9005da5527 > files > 468

libfox1.1_46-devel-1.1.46-1mdk.i586.rpm

<html>
<head>
<link rel="stylesheet" href="page.css" type="text/css">
<title>fox-toolkit.org - Documentation</title>
</head>
<body bgcolor=#ffffff link=#990033 vlink=#990033 alink=#990033 text=#000000>
<font face='verdana,sans-serif' size=2 >

<!---- TOPIC TITLE WITH LOGO--->
<table border=0 cellpadding= cellspacing=2 width=100% ><tr><td><a href='http://www.fox-toolkit.org/doc.html'><img src='../art/foxlogo_small.jpg' border=0></a></td><td width=100% valign=bottom><font face='verdana,sans-serif' size=2 ><b>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a>
<br><img src='../art/line.gif' width=100% height=1></b></font></td></tr></table>
<p>
<!--- TOPIC TITLE WITH LOGO --->
<!-- Generated by Doxygen 1.3.3 -->
<h1>FXTable.h</h1><div class="fragment"><pre>00001 <span class="comment">/********************************************************************************</span>
00002 <span class="comment">*                                                                               *</span>
00003 <span class="comment">*                            T a b l e   W i d g e t                            *</span>
00004 <span class="comment">*                                                                               *</span>
00005 <span class="comment">*********************************************************************************</span>
00006 <span class="comment">* Copyright (C) 1999,2004 by Jeroen van der Zijp.   All Rights Reserved.        *</span>
00007 <span class="comment">*********************************************************************************</span>
00008 <span class="comment">* This library is free software; you can redistribute it and/or                 *</span>
00009 <span class="comment">* modify it under the terms of the GNU Lesser General Public                    *</span>
00010 <span class="comment">* License as published by the Free Software Foundation; either                  *</span>
00011 <span class="comment">* version 2.1 of the License, or (at your option) any later version.            *</span>
00012 <span class="comment">*                                                                               *</span>
00013 <span class="comment">* This library is distributed in the hope that it will be useful,               *</span>
00014 <span class="comment">* but WITHOUT ANY WARRANTY; without even the implied warranty of                *</span>
00015 <span class="comment">* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU             *</span>
00016 <span class="comment">* Lesser General Public License for more details.                               *</span>
00017 <span class="comment">*                                                                               *</span>
00018 <span class="comment">* You should have received a copy of the GNU Lesser General Public              *</span>
00019 <span class="comment">* License along with this library; if not, write to the Free Software           *</span>
00020 <span class="comment">* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA.    *</span>
00021 <span class="comment">*********************************************************************************</span>
00022 <span class="comment">* $Id: FXTable.h,v 1.120 2004/02/08 16:33:17 fox Exp $                          *</span>
00023 <span class="comment">********************************************************************************/</span>
00024 <span class="preprocessor">#ifndef FXTABLE_H</span>
00025 <span class="preprocessor"></span><span class="preprocessor">#define FXTABLE_H</span>
00026 <span class="preprocessor"></span>
00027 <span class="preprocessor">#ifndef FXSCROLLAREA_H</span>
00028 <span class="preprocessor"></span><span class="preprocessor">#include "FXScrollArea.h"</span>
00029 <span class="preprocessor">#endif</span>
00030 <span class="preprocessor"></span>
00031 <span class="keyword">namespace </span>FX {
00032 
00033 <span class="comment"></span>
00034 <span class="comment">//////////////////////////////  UNDER DEVELOPMENT  //////////////////////////////</span>
00035 <span class="comment"></span>
00036 <span class="keyword">class </span>FXIcon;
00037 <span class="keyword">class </span>FXFont;
00038 <span class="keyword">class </span>FXTable;
00039 <span class="keyword">class </span>FXHeader;
00040 <span class="keyword">class </span>FXButton;
00041 
00042 <span class="comment"></span>
00043 <span class="comment">/// Default cell margin</span>
00044 <span class="comment"></span><span class="keyword">enum</span> { DEFAULT_MARGIN = 2 };
00045 
00046 
00047 <span class="comment"></span>
00048 <span class="comment">/// Table options</span>
00049 <span class="comment"></span><span class="keyword">enum</span> {
00050   <a class="code" href="group__FXTable__1.html#a0a2049">TABLE_COL_SIZABLE</a>     = 0x00100000,   <span class="comment">/// Columns are resizable</span>
00051 <span class="comment"></span>  <a class="code" href="group__FXTable__1.html#a0a2050">TABLE_ROW_SIZABLE</a>     = 0x00200000,   <span class="comment">/// Rows are resizable</span>
00052 <span class="comment"></span>  <a class="code" href="group__FXTable__1.html#a0a2051">TABLE_HEADERS_SIZABLE</a> = 0x00400000,   <span class="comment">/// Headers are sizable</span>
00053 <span class="comment"></span>  <a class="code" href="group__FXTable__1.html#a0a2052">TABLE_NO_COLSELECT</a>    = 0x00900000,   <span class="comment">/// Disallow column selections</span>
00054 <span class="comment"></span>  <a class="code" href="group__FXTable__1.html#a0a2053">TABLE_NO_ROWSELECT</a>    = 0x01000000    <span class="comment">/// Disallow row selections</span>
00055 <span class="comment"></span>  };
00056 
00057 <span class="comment"></span>
00058 <span class="comment">/// Position in table</span>
00059 <span class="comment"></span><span class="keyword">struct </span>FXTablePos {
00060   FXint  row;
00061   FXint  col;
00062   };
00063 
00064 <span class="comment"></span>
00065 <span class="comment">/// Range of table cells</span>
00066 <span class="comment"></span><span class="keyword">struct </span>FXTableRange {
<a name="l00067"></a><a class="code" href="structFX_1_1FXTablePos.html">00067</a>   <a class="code" href="structFX_1_1FXTablePos.html">FXTablePos</a> fm;
00068   <a class="code" href="structFX_1_1FXTablePos.html">FXTablePos</a> to;
00069   };
00070 
00071 <span class="comment"></span>
00072 <span class="comment">/// Item in table</span>
00073 <span class="comment"></span><span class="keyword">class </span>FXAPI FXTableItem : <span class="keyword">public</span> FXObject {
<a name="l00074"></a><a class="code" href="structFX_1_1FXTableRange.html">00074</a>   FXDECLARE(FXTableItem)
00075   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classFX_1_1FXTable.html">FXTable</a>;
00076 <span class="keyword">protected</span>:
00077   <a class="code" href="classFX_1_1FXString.html">FXString</a>    label;
00078   <a class="code" href="classFX_1_1FXIcon.html">FXIcon</a>     *icon;
00079   <span class="keywordtype">void</span>       *data;
00080   FXuint      state;
00081 <span class="keyword">protected</span>:
00082   FXTableItem():icon(NULL),data(NULL),state(0){}
00083   FXint textWidth(<span class="keyword">const</span> FXTable* table) <span class="keyword">const</span>;
00084   FXint textHeight(<span class="keyword">const</span> FXTable* table) <span class="keyword">const</span>;
00085   <span class="keyword">virtual</span> <span class="keywordtype">void</span> draw(<span class="keyword">const</span> FXTable* table,FXDC&amp; dc,FXint x,FXint y,FXint w,FXint h) <span class="keyword">const</span>;
<a name="l00086"></a><a class="code" href="classFX_1_1FXTableItem.html">00086</a>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawBorders(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXTable.html">FXTable</a>* table,<a class="code" href="classFX_1_1FXDC.html">FXDC</a>&amp; dc,FXint x,FXint y,FXint w,FXint h) <span class="keyword">const</span>;
00087   <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawContent(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXTable.html">FXTable</a>* table,<a class="code" href="classFX_1_1FXDC.html">FXDC</a>&amp; dc,FXint x,FXint y,FXint w,FXint h) <span class="keyword">const</span>;
00088   <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawPattern(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXTable.html">FXTable</a>* table,<a class="code" href="classFX_1_1FXDC.html">FXDC</a>&amp; dc,FXint x,FXint y,FXint w,FXint h) <span class="keyword">const</span>;
00089   <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawBackground(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXTable.html">FXTable</a>* table,<a class="code" href="classFX_1_1FXDC.html">FXDC</a>&amp; dc,FXint x,FXint y,FXint w,FXint h) <span class="keyword">const</span>;
00090 <span class="keyword">protected</span>:
00091   <span class="keyword">enum</span>{
00092     SELECTED   = 0x00000001,
00093     FOCUS      = 0x00000002,
00094     DISABLED   = 0x00000004,
00095     DRAGGABLE  = 0x00000008,
00096     RESERVED1  = 0x00000010,
00097     RESERVED2  = 0x00000020,
00098     ICONOWNED  = 0x00000040
00099     };
00100 <span class="keyword">public</span>:
00101   <span class="keyword">enum</span>{
00102     RIGHT      = 0x00002000,      <span class="comment">/// Align on right</span>
00103 <span class="comment"></span>    LEFT       = 0x00004000,      <span class="comment">/// Align on left</span>
00104 <span class="comment"></span>    CENTER_X   = 0,               <span class="comment">/// Aling centered horizontally (default)</span>
00105 <span class="comment"></span>    TOP        = 0x00008000,      <span class="comment">/// Align on top</span>
00106 <span class="comment"></span>    BOTTOM     = 0x00010000,      <span class="comment">/// Align on bottom</span>
00107 <span class="comment"></span>    CENTER_Y   = 0,               <span class="comment">/// Aling centered vertically (default)</span>
00108 <span class="comment"></span>    BEFORE     = 0x00020000,      <span class="comment">/// Icon before the text</span>
00109 <span class="comment"></span>    AFTER      = 0x00040000,      <span class="comment">/// Icon after the text</span>
00110 <span class="comment"></span>    ABOVE      = 0x00080000,      <span class="comment">/// Icon above the text</span>
00111 <span class="comment"></span>    BELOW      = 0x00100000,      <span class="comment">/// Icon below the text</span>
00112 <span class="comment"></span>    LBORDER    = 0x00200000,      <span class="comment">/// Draw left border</span>
00113 <span class="comment"></span>    RBORDER    = 0x00400000,      <span class="comment">/// Draw right border</span>
00114 <span class="comment"></span>    TBORDER    = 0x00800000,      <span class="comment">/// Draw top border</span>
00115 <span class="comment"></span>    BBORDER    = 0x01000000       <span class="comment">/// Draw bottom border</span>
00116 <span class="comment"></span>    };
00117 <span class="keyword">public</span>:
00118   FXTableItem(<span class="keyword">const</span> FXString&amp; text,FXIcon* ic=NULL,<span class="keywordtype">void</span>* ptr=NULL):label(text),icon(ic),data(ptr),state(FXTableItem::RIGHT){}
00119   <span class="keyword">virtual</span> <span class="keywordtype">void</span> setText(<span class="keyword">const</span> FXString&amp; txt){ label=txt; }
00120   <span class="keyword">const</span> FXString&amp; getText()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> label; }
00121   <span class="keyword">virtual</span> <span class="keywordtype">void</span> setIcon(FXIcon* icn){ icon=icn; }
00122   FXIcon* getIcon()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> icon; }
00123   <span class="keywordtype">void</span> setData(<span class="keywordtype">void</span>* ptr){ data=ptr; }
00124   <span class="keywordtype">void</span>* getData()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data; }
00125   <span class="keyword">virtual</span> <span class="keywordtype">void</span> setFocus(FXbool focus);
00126   FXbool hasFocus()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (state&amp;FOCUS)!=0; }
00127   <span class="keyword">virtual</span> <span class="keywordtype">void</span> setSelected(FXbool selected);
00128   FXbool isSelected()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (state&amp;SELECTED)!=0; }
00129   <span class="keyword">virtual</span> <span class="keywordtype">void</span> setEnabled(FXbool enabled);
00130   FXbool isEnabled()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (state&amp;DISABLED)==0; }
00131   <span class="keyword">virtual</span> <span class="keywordtype">void</span> setDraggable(FXbool draggable);
00132   FXbool isDraggable()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (state&amp;DRAGGABLE)!=0; }
00133   <span class="keywordtype">void</span> setJustify(FXuint justify);
00134   FXuint getJustify()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> state&amp;(RIGHT|LEFT|TOP|BOTTOM); }
00135   <span class="keywordtype">void</span> setIconPosition(FXuint mode);
00136   FXuint getIconPosition()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> state&amp;(BEFORE|AFTER|ABOVE|BELOW); }
00137   <span class="keywordtype">void</span> setBorders(FXuint borders);
00138   FXuint getBorders()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> state&amp;(LBORDER|RBORDER|TBORDER|BBORDER); }
00139   <span class="keywordtype">void</span> setStipple(FXStipplePattern pattern);
00140   <a class="code" href="group__FXDC__6.html#a0">FXStipplePattern</a> getStipple() <span class="keyword">const</span>;
00141   <span class="keyword">virtual</span> <span class="keywordtype">void</span> setIconOwned(FXuint owned=ICONOWNED);
00142   FXuint isIconOwned()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (state&amp;ICONOWNED); }
00143   <span class="keyword">virtual</span> FXint getWidth(<span class="keyword">const</span> FXTable* table) <span class="keyword">const</span>;
00144   <span class="keyword">virtual</span> FXint getHeight(<span class="keyword">const</span> FXTable* table) <span class="keyword">const</span>;
00145   <span class="keyword">virtual</span> <span class="keywordtype">void</span> create();
00146   <span class="keyword">virtual</span> <span class="keywordtype">void</span> detach();
00147   <span class="keyword">virtual</span> <span class="keywordtype">void</span> destroy();
00148   <span class="keyword">virtual</span> <span class="keywordtype">void</span> save(FXStream&amp; store) <span class="keyword">const</span>;
00149   <span class="keyword">virtual</span> <span class="keywordtype">void</span> load(FXStream&amp; store);
<a name="l00150"></a><a class="code" href="classFX_1_1FXTable.html">00150</a>   <span class="keyword">virtual</span> ~FXTableItem();
00151   };
00152 
00153 
00154 <span class="comment"></span>
00155 <span class="comment">/// Table Widget</span>
00156 <span class="comment"></span><span class="keyword">class </span>FXAPI FXTable : <span class="keyword">public</span> FXScrollArea {
00157   FXDECLARE(FXTable)
00158 <span class="keyword">protected</span>:
00159   FXHeader     *colHeader;              <span class="comment">// Column header</span>
00160   FXHeader     *rowHeader;              <span class="comment">// Row header</span>
00161   FXButton     *cornerButton;           <span class="comment">// Corner button</span>
00162   FXTableItem **cells;                  <span class="comment">// Cells</span>
00163   FXFont       *font;                   <span class="comment">// Font</span>
00164   FXint         nrows;                  <span class="comment">// Logically allocated rows</span>
00165   FXint         ncols;                  <span class="comment">// Logically allocated columns</span>
00166   FXint         visiblerows;            <span class="comment">// Visible rows</span>
00167   FXint         visiblecols;            <span class="comment">// Visible columns</span>
00168   FXint         margintop;              <span class="comment">// Margin top</span>
00169   FXint         marginbottom;           <span class="comment">// Margin bottom</span>
00170   FXint         marginleft;             <span class="comment">// Margin left</span>
00171   FXint         marginright;            <span class="comment">// Margin right</span>
00172   FXColor       textColor;              <span class="comment">// Normal text color</span>
00173   FXColor       baseColor;              <span class="comment">// Base color</span>
00174   FXColor       hiliteColor;            <span class="comment">// Highlight color</span>
00175   FXColor       shadowColor;            <span class="comment">// Shadow color</span>
00176   FXColor       borderColor;            <span class="comment">// Border color</span>
00177   FXColor       selbackColor;           <span class="comment">// Select background color</span>
00178   FXColor       seltextColor;           <span class="comment">// Select text color</span>
00179   FXColor       gridColor;              <span class="comment">// Grid line color</span>
00180   FXColor       stippleColor;           <span class="comment">// Stipple color</span>
00181   FXColor       cellBorderColor;        <span class="comment">// Cell border color</span>
00182   FXint         cellBorderWidth;        <span class="comment">// Cell border width</span>
00183   FXColor       cellBackColor[2][2];    <span class="comment">// Row/Column even/odd background color</span>
00184   FXint         defColWidth;            <span class="comment">// Default column width [if uniform columns]</span>
00185   FXint         defRowHeight;           <span class="comment">// Default row height [if uniform rows]</span>
00186   FXTablePos    current;                <span class="comment">// Current position</span>
00187   FXTablePos    anchor;                 <span class="comment">// Anchor position</span>
00188   FXTableRange  selection;              <span class="comment">// Range of selected cells</span>
00189   FXint         cellcursor;             <span class="comment">// Cursor position in cell</span>
00190   FXint         cellanchor;             <span class="comment">// Anchor position in cell</span>
00191   FXint         cellscroll;             <span class="comment">// Scolled amount in cell</span>
00192   FXbool        hgrid;                  <span class="comment">// Horizontal grid lines shown</span>
00193   FXbool        vgrid;                  <span class="comment">// Vertical grid lines shown</span>
00194   FXuchar       mode;                   <span class="comment">// Mode widget is in</span>
00195   FXint         grabx;                  <span class="comment">// Grab point x</span>
00196   FXint         graby;                  <span class="comment">// Grab point y</span>
00197   FXint         rowcol;                 <span class="comment">// Row or column being resized</span>
00198   FXString      help;
00199 <span class="keyword">public</span>:
00200   <span class="keyword">static</span> FXDragType csvType;
00201   <span class="keyword">static</span> <span class="keyword">const</span> FXchar csvTypeName[];
00202 <span class="keyword">protected</span>:
00203   FXTable();
00204   FXint startRow(FXint row,FXint col) <span class="keyword">const</span>;
00205   FXint startCol(FXint row,FXint col) <span class="keyword">const</span>;
00206   FXint endRow(FXint row,FXint col) <span class="keyword">const</span>;
00207   FXint endCol(FXint row,FXint col) <span class="keyword">const</span>;
00208   <span class="keywordtype">void</span> findExtent(FXint&amp; sr,FXint&amp; er,FXint&amp; sc,FXint&amp; ec,FXint anchrow,FXint anchcol,FXint currow,FXint curcol);
00209   <span class="keywordtype">void</span> drawCursor(FXuint state);
00210   <span class="keyword">virtual</span> <span class="keywordtype">void</span> moveContents(FXint x,FXint y);
00211   <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawCell(FXDC&amp; dc,FXint sr,FXint er,FXint sc,FXint ec);
00212   <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawRange(FXDC&amp; dc,FXint rlo,FXint rhi,FXint clo,FXint chi);
00213   <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawHGrid(FXDC&amp; dc,FXint rlo,FXint rhi,FXint clo,FXint chi);
00214   <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawVGrid(FXDC&amp; dc,FXint rlo,FXint rhi,FXint clo,FXint chi);
00215   <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawContents(FXDC&amp; dc,FXint x,FXint y,FXint w,FXint h);
00216   <span class="keyword">virtual</span> FXTableItem* createItem(<span class="keyword">const</span> FXString&amp; text,FXIcon* icon,<span class="keywordtype">void</span>* ptr);
00217 <span class="keyword">protected</span>:
00218   <span class="keyword">enum</span> {
00219     MOUSE_NONE,
00220     MOUSE_SCROLL,
00221     MOUSE_DRAG,
00222     MOUSE_SELECT,
00223     MOUSE_COL_SIZE,
00224     MOUSE_ROW_SIZE
00225     };
00226 <span class="keyword">private</span>:
00227   FXTable(<span class="keyword">const</span> FXTable&amp;);
00228   FXTable&amp; operator=(<span class="keyword">const</span> FXTable&amp;);
00229 <span class="keyword">public</span>:
00230   <span class="keywordtype">long</span> onPaint(FXObject*,FXSelector,<span class="keywordtype">void</span>*);
00231   <span class="keywordtype">long</span> onFocusIn(FXObject*,FXSelector,<span class="keywordtype">void</span>*);
00232   <span class="keywordtype">long</span> onFocusOut(FXObject*,FXSelector,<span class="keywordtype">void</span>*);
00233   <span class="keywordtype">long</span> onMotion(FXObject*,FXSelector,<span class="keywordtype">void</span>*);
00234   <span class="keywordtype">long</span> onKeyPress(FXObject*,FXSelector,<span class="keywordtype">void</span>*);
00235   <span class="keywordtype">long</span> onKeyRelease(FXObject*,FXSelector,<span class="keywordtype">void</span>*);
00236   <span class="keywordtype">long</span> onLeftBtnPress(FXObject*,FXSelector,<span class="keywordtype">void</span>*);
00237   <span class="keywordtype">long</span> onLeftBtnRelease(FXObject*,FXSelector,<span class="keywordtype">void</span>*);
00238   <span class="keywordtype">long</span> onRightBtnPress(FXObject*,FXSelector,<span class="keywordtype">void</span>*);
00239   <span class="keywordtype">long</span> onRightBtnRelease(FXObject*,FXSelector,<span class="keywordtype">void</span>*);
00240   <span class="keywordtype">long</span> onUngrabbed(FXObject*,FXSelector,<span class="keywordtype">void</span>*);
00241   <span class="keywordtype">long</span> onBlink(FXObject*,FXSelector,<span class="keywordtype">void</span>*);
00242   <span class="keywordtype">long</span> onSelectionLost(FXObject*,FXSelector,<span class="keywordtype">void</span>*);
00243   <span class="keywordtype">long</span> onSelectionGained(FXObject*,FXSelector,<span class="keywordtype">void</span>*);
00244   <span class="keywordtype">long</span> onSelectionRequest(FXObject*,FXSelector,<span class="keywordtype">void</span>* ptr);
00245   <span class="keywordtype">long</span> onClipboardLost(FXObject*,FXSelector,<span class="keywordtype">void</span>*);
00246   <span class="keywordtype">long</span> onClipboardGained(FXObject*,FXSelector,<span class="keywordtype">void</span>*);
00247   <span class="keywordtype">long</span> onClipboardRequest(FXObject*,FXSelector,<span class="keywordtype">void</span>*);
00248   <span class="keywordtype">long</span> onAutoScroll(FXObject*,FXSelector,<span class="keywordtype">void</span>*);
00249   <span class="keywordtype">long</span> onCommand(FXObject*,FXSelector,<span class="keywordtype">void</span>*);
00250   <span class="keywordtype">long</span> onClicked(FXObject*,FXSelector,<span class="keywordtype">void</span>*);
00251   <span class="keywordtype">long</span> onDoubleClicked(FXObject*,FXSelector,<span class="keywordtype">void</span>*);
00252   <span class="keywordtype">long</span> onTripleClicked(FXObject*,FXSelector,<span class="keywordtype">void</span>*);
<a name="l00253"></a><a class="code" href="classFX_1_1FXTable.html#a8">00253</a> 
00254   <span class="comment">// Visual characteristics</span>
00255   <span class="keywordtype">long</span> onCmdHorzGrid(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
<a name="l00256"></a><a class="code" href="classFX_1_1FXTable.html#a9">00256</a>   <span class="keywordtype">long</span> onUpdHorzGrid(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00257   <span class="keywordtype">long</span> onCmdVertGrid(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00258   <span class="keywordtype">long</span> onUpdVertGrid(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00259 
00260   <span class="comment">// Row/Column manipulations</span>
00261   <span class="keywordtype">long</span> onCmdDeleteColumn(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00262   <span class="keywordtype">long</span> onUpdDeleteColumn(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00263   <span class="keywordtype">long</span> onCmdDeleteRow(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00264   <span class="keywordtype">long</span> onUpdDeleteRow(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00265   <span class="keywordtype">long</span> onCmdInsertColumn(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00266   <span class="keywordtype">long</span> onCmdInsertRow(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00267 
<a name="l00268"></a><a class="code" href="classFX_1_1FXTable.html#a15">00268</a>   <span class="comment">// Movement</span>
00269   <span class="keywordtype">long</span> onCmdMoveRight(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00270   <span class="keywordtype">long</span> onCmdMoveLeft(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00271   <span class="keywordtype">long</span> onCmdMoveUp(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00272   <span class="keywordtype">long</span> onCmdMoveDown(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00273   <span class="keywordtype">long</span> onCmdMoveHome(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
<a name="l00274"></a><a class="code" href="classFX_1_1FXTable.html#a17">00274</a>   <span class="keywordtype">long</span> onCmdMoveEnd(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00275   <span class="keywordtype">long</span> onCmdMoveTop(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00276   <span class="keywordtype">long</span> onCmdMoveBottom(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00277   <span class="keywordtype">long</span> onCmdMovePageDown(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00278   <span class="keywordtype">long</span> onCmdMovePageUp(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00279 
00280   <span class="comment">// Mark and extend</span>
00281   <span class="keywordtype">long</span> onCmdMark(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00282   <span class="keywordtype">long</span> onCmdExtend(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00283 
00284   <span class="comment">// Changing Selection</span>
00285   <span class="keywordtype">long</span> onCmdSelectCell(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00286   <span class="keywordtype">long</span> onCmdSelectRow(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00287   <span class="keywordtype">long</span> onCmdSelectColumn(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00288   <span class="keywordtype">long</span> onCmdSelectRowIndex(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00289   <span class="keywordtype">long</span> onCmdSelectColumnIndex(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
<a name="l00290"></a><a class="code" href="classFX_1_1FXTable.html#a23">00290</a>   <span class="keywordtype">long</span> onCmdSelectAll(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00291   <span class="keywordtype">long</span> onCmdDeselectAll(<a class="code" href="classFX_1_1FXObject.html">FXObject</a>*,FXSelector,<span class="keywordtype">void</span>*);
00292 
<a name="l00293"></a><a class="code" href="classFX_1_1FXTable.html#a24">00293</a> <span class="keyword">public</span>:
00294 
00295   <span class="keyword">enum</span> {
00296     ID_HORZ_GRID=FXScrollArea::ID_LAST,
00297     ID_VERT_GRID,
00298     ID_DELETE_COLUMN,
<a name="l00299"></a><a class="code" href="classFX_1_1FXTable.html#a26">00299</a>     ID_DELETE_ROW,
00300     ID_INSERT_COLUMN,
00301     ID_INSERT_ROW,
00302     ID_SELECT_COLUMN_INDEX,
00303     ID_SELECT_ROW_INDEX,
00304     ID_SELECT_COLUMN,
<a name="l00305"></a><a class="code" href="classFX_1_1FXTable.html#a28">00305</a>     ID_SELECT_ROW,
00306     ID_SELECT_CELL,
00307     ID_SELECT_ALL,
00308     ID_DESELECT_ALL,
00309     ID_MOVE_LEFT,
00310     ID_MOVE_RIGHT,
<a name="l00311"></a><a class="code" href="classFX_1_1FXTable.html#a30">00311</a>     ID_MOVE_UP,
00312     ID_MOVE_DOWN,
00313     ID_MOVE_HOME,
00314     ID_MOVE_END,
00315     ID_MOVE_TOP,
00316     ID_MOVE_BOTTOM,
<a name="l00317"></a><a class="code" href="classFX_1_1FXTable.html#a32">00317</a>     ID_MOVE_PAGEDOWN,
00318     ID_MOVE_PAGEUP,
00319     ID_MARK,
00320     ID_EXTEND,
00321     ID_CUT_SEL,
00322     ID_COPY_SEL,
00323     ID_PASTE_SEL,
00324     ID_BLINK,
00325     ID_LAST
00326     };
00327 
00328 <span class="keyword">public</span>:
00329 <span class="comment"></span>
00330 <span class="comment">  /**</span>
00331 <span class="comment">  * Construct a new table.</span>
00332 <span class="comment">  * The table is initially empty, and reports a default size based on</span>
00333 <span class="comment">  * the scroll areas's scrollbar placement policy.</span>
00334 <span class="comment">  */</span>
00335   FXTable(FXComposite *p,FXObject* tgt=NULL,FXSelector sel=0,FXuint opts=0,FXint x=0,FXint y=0,FXint w=0,FXint h=0,FXint pl=DEFAULT_MARGIN,FXint pr=DEFAULT_MARGIN,FXint pt=DEFAULT_MARGIN,FXint pb=DEFAULT_MARGIN);
00336 <span class="comment"></span>
00337 <span class="comment">  /// Create the server-side resources</span>
00338 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> create();
00339 <span class="comment"></span>
00340 <span class="comment">  /// Detach the server-side resources</span>
00341 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> detach();
00342 <span class="comment"></span>
00343 <span class="comment">  /// Perform layout</span>
00344 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> layout();
00345 <span class="comment"></span>
00346 <span class="comment">  /// Mark this window's layout as dirty</span>
00347 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> recalc();
00348 <span class="comment"></span>
00349 <span class="comment">  /// Table widget can receive focus</span>
00350 <span class="comment"></span>  <span class="keyword">virtual</span> FXbool canFocus() <span class="keyword">const</span>;
00351 <span class="comment"></span>
00352 <span class="comment">  /// Move the focus to this window</span>
00353 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setFocus();
00354 <span class="comment"></span>
00355 <span class="comment">  /// Remove the focus from this window</span>
00356 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> killFocus();
00357 <span class="comment"></span>
00358 <span class="comment">  /// Return column header control</span>
00359 <span class="comment"></span>  FXHeader* getColumnHeader()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> colHeader; }
00360 <span class="comment"></span>
00361 <span class="comment">  /// Return row header control</span>
00362 <span class="comment"></span>  FXHeader* getRowHeader()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rowHeader; }
00363 <span class="comment"></span>
00364 <span class="comment">  /// Change visible rows/columns</span>
00365 <span class="comment"></span>  <span class="keywordtype">void</span> setVisibleRows(FXint nvrows);
00366   FXint getVisibleRows()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> visiblerows; }
00367   <span class="keywordtype">void</span> setVisibleColumns(FXint nvcols);
00368   FXint getVisibleColumns()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> visiblecols; }
00369 <span class="comment"></span>
00370 <span class="comment">  /// Show or hide horizontal grid</span>
00371 <span class="comment"></span>  <span class="keywordtype">void</span> showHorzGrid(FXbool on=TRUE);
00372 <span class="comment"></span>
00373 <span class="comment">  /// Is horizontal grid shown</span>
00374 <span class="comment"></span>  FXbool isHorzGridShown()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> hgrid; }
00375 <span class="comment"></span>
00376 <span class="comment">  /// Show or hide vertical grid</span>
00377 <span class="comment"></span>  <span class="keywordtype">void</span> showVertGrid(FXbool on=TRUE);
00378 <span class="comment"></span>
00379 <span class="comment">  /// Is vertical grid shown</span>
00380 <span class="comment"></span>  FXbool isVertGridShown()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vgrid; }
00381 <span class="comment"></span>
00382 <span class="comment">  /// Return default width</span>
00383 <span class="comment"></span>  <span class="keyword">virtual</span> FXint getDefaultWidth();
00384 <span class="comment"></span>
00385 <span class="comment">  /// Return default height</span>
00386 <span class="comment"></span>  <span class="keyword">virtual</span> FXint getDefaultHeight();
00387 <span class="comment"></span>
00388 <span class="comment">  /// Compute content size</span>
00389 <span class="comment"></span>  <span class="keyword">virtual</span> FXint getContentWidth();
00390   <span class="keyword">virtual</span> FXint getContentHeight();
00391 <span class="comment"></span>
00392 <span class="comment">  /// Set the table size to nr rows and nc columns; all existing items will be removed</span>
00393 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setTableSize(FXint nr,FXint nc,FXbool notify=FALSE);
00394 <span class="comment"></span>
00395 <span class="comment">  /// Get number of rows</span>
00396 <span class="comment"></span>  FXint getNumRows()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> nrows; }
00397 <span class="comment"></span>
00398 <span class="comment">  /// Get number of columns</span>
00399 <span class="comment"></span>  FXint getNumColumns()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ncols; }
00400 <span class="comment"></span>
00401 <span class="comment">  /// Change top cell margin</span>
00402 <span class="comment"></span>  <span class="keywordtype">void</span> setMarginTop(FXint pt);
00403 <span class="comment"></span>
00404 <span class="comment">  /// Return top cell margin</span>
00405 <span class="comment"></span>  FXint getMarginTop()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> margintop; }
00406 <span class="comment"></span>
00407 <span class="comment">  /// Change bottom cell margin</span>
00408 <span class="comment"></span>  <span class="keywordtype">void</span> setMarginBottom(FXint pb);
00409 <span class="comment"></span>
00410 <span class="comment">  /// Return bottom cell margin</span>
00411 <span class="comment"></span>  FXint getMarginBottom()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> marginbottom; }
00412 <span class="comment"></span>
00413 <span class="comment">  /// Change left cell margin</span>
00414 <span class="comment"></span>  <span class="keywordtype">void</span> setMarginLeft(FXint pl);
00415 <span class="comment"></span>
00416 <span class="comment">  /// Return left cell margin</span>
00417 <span class="comment"></span>  FXint getMarginLeft()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> marginleft; }
00418 <span class="comment"></span>
00419 <span class="comment">  /// Change right cell margin</span>
00420 <span class="comment"></span>  <span class="keywordtype">void</span> setMarginRight(FXint pr);
00421 <span class="comment"></span>
00422 <span class="comment">  /// Return right cell margin</span>
00423 <span class="comment"></span>  FXint getMarginRight()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> marginright; }
00424 <span class="comment"></span>
00425 <span class="comment">  /// Change table style</span>
00426 <span class="comment"></span>  FXuint getTableStyle() <span class="keyword">const</span>;
00427   <span class="keywordtype">void</span> setTableStyle(FXuint style);
00428 <span class="comment"></span>
00429 <span class="comment">  /**</span>
00430 <span class="comment">  * Determine row containing y.</span>
00431 <span class="comment">  * Returns -1 if y above first row, and nrows if y below last row;</span>
00432 <span class="comment">  * otherwise, returns row in table containing y.</span>
00433 <span class="comment">  */</span>
00434   FXint rowAtY(FXint y) <span class="keyword">const</span>;
00435 <span class="comment"></span>
00436 <span class="comment">  /**</span>
00437 <span class="comment">  * Determine column containing x.</span>
00438 <span class="comment">  * Returns -1 if x left of first column, and ncols if x right of last column;</span>
00439 <span class="comment">  * otherwise, returns columns in table containing x.</span>
00440 <span class="comment">  */</span>
00441   FXint colAtX(FXint x) <span class="keyword">const</span>;
00442 <span class="comment"></span>
00443 <span class="comment">  /// Return the item at the given index</span>
00444 <span class="comment"></span>  FXTableItem *getItem(FXint row,FXint col) <span class="keyword">const</span>;
00445 <span class="comment"></span>
00446 <span class="comment">  /// Replace the item with a [possibly subclassed] item</span>
00447 <span class="comment"></span>  <span class="keywordtype">void</span> setItem(FXint row,FXint col,FXTableItem* item,FXbool notify=FALSE);
00448 <span class="comment"></span>
00449 <span class="comment">  /// Insert new row</span>
00450 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> insertRows(FXint row,FXint nr=1,FXbool notify=FALSE);
00451 <span class="comment"></span>
00452 <span class="comment">  /// Insert new column</span>
00453 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> insertColumns(FXint col,FXint nc=1,FXbool notify=FALSE);
00454 <span class="comment"></span>
00455 <span class="comment">  /// Remove rows of cells</span>
00456 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeRows(FXint row,FXint nr=1,FXbool notify=FALSE);
00457 <span class="comment"></span>
00458 <span class="comment">  /// Remove column of cells</span>
00459 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeColumns(FXint col,FXint nc=1,FXbool notify=FALSE);
00460 <span class="comment"></span>
00461 <span class="comment">  /// Remove single cell</span>
00462 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeItem(FXint row,FXint col,FXbool notify=FALSE);
00463 <span class="comment"></span>
00464 <span class="comment">  /// Remove all items from table</span>
00465 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> clearItems(FXbool notify=FALSE);
00466 <span class="comment"></span>
00467 <span class="comment">  /// Scroll to make cell at r,c fully visible</span>
00468 <span class="comment"></span>  <span class="keywordtype">void</span> makePositionVisible(FXint r,FXint c);
00469 <span class="comment"></span>
00470 <span class="comment">  /// Change column width</span>
00471 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setColumnWidth(FXint col,FXint cwidth);
00472   FXint getColumnWidth(FXint col) <span class="keyword">const</span>;
00473 <span class="comment"></span>
00474 <span class="comment">  /// Change row height</span>
00475 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setRowHeight(FXint row,FXint rheight);
<a name="l00476"></a><a class="code" href="classFX_1_1FXTable.html#a91">00476</a>   FXint getRowHeight(FXint row) <span class="keyword">const</span>;
00477 <span class="comment"></span>
00478 <span class="comment">  /// Change X coordinate of column c</span>
<a name="l00479"></a><a class="code" href="classFX_1_1FXTable.html#a92">00479</a> <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setColumnX(FXint col,FXint x);
00480   FXint getColumnX(FXint col) <span class="keyword">const</span>;
00481 <span class="comment"></span>
00482 <span class="comment">  /// Change Y coordinate of row r</span>
00483 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setRowY(FXint row,FXint y);
00484   FXint getRowY(FXint row) <span class="keyword">const</span>;
<a name="l00485"></a><a class="code" href="classFX_1_1FXTable.html#a94">00485</a> <span class="comment"></span>
00486 <span class="comment">  /// Change default column width</span>
00487 <span class="comment"></span>  <span class="keywordtype">void</span> setDefColumnWidth(FXint cwidth);
<a name="l00488"></a><a class="code" href="classFX_1_1FXTable.html#a95">00488</a>   FXint getDefColumnWidth()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> defColWidth; }
00489 <span class="comment"></span>
00490 <span class="comment">  /// Change default row height</span>
<a name="l00491"></a><a class="code" href="classFX_1_1FXTable.html#a96">00491</a> <span class="comment"></span>  <span class="keywordtype">void</span> setDefRowHeight(FXint rheight);
00492   FXint getDefRowHeight()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> defRowHeight; }
00493 <span class="comment"></span>
<a name="l00494"></a><a class="code" href="classFX_1_1FXTable.html#a97">00494</a> <span class="comment">  /// Return minimum row height</span>
00495 <span class="comment"></span>  FXint getMinRowHeight(FXint r) <span class="keyword">const</span>;
00496 <span class="comment"></span>
<a name="l00497"></a><a class="code" href="classFX_1_1FXTable.html#a98">00497</a> <span class="comment">  /// Return minimum column width</span>
00498 <span class="comment"></span>  FXint getMinColumnWidth(FXint c) <span class="keyword">const</span>;
00499 <span class="comment"></span>
<a name="l00500"></a><a class="code" href="classFX_1_1FXTable.html#a99">00500</a> <span class="comment">  /// Change column header</span>
00501 <span class="comment"></span>  <span class="keywordtype">void</span> setColumnText(FXint index,<span class="keyword">const</span> <a class="code" href="classFX_1_1FXString.html">FXString</a>&amp; text);
00502 <span class="comment"></span>
00503 <span class="comment">  /// Return text of column header at index</span>
00504 <span class="comment"></span>  <a class="code" href="classFX_1_1FXString.html">FXString</a> getColumnText(FXint index) <span class="keyword">const</span>;
00505 <span class="comment"></span>
00506 <span class="comment">  /// Change row header</span>
00507 <span class="comment"></span>  <span class="keywordtype">void</span> setRowText(FXint index,<span class="keyword">const</span> <a class="code" href="classFX_1_1FXString.html">FXString</a>&amp; text);
00508 <span class="comment"></span>
00509 <span class="comment">  /// Return text of row header at index</span>
00510 <span class="comment"></span>  <a class="code" href="classFX_1_1FXString.html">FXString</a> getRowText(FXint index) <span class="keyword">const</span>;
00511 <span class="comment"></span>
00512 <span class="comment">  /// Modify cell text</span>
00513 <span class="comment"></span>  <span class="keywordtype">void</span> setItemText(FXint r,FXint c,<span class="keyword">const</span> <a class="code" href="classFX_1_1FXString.html">FXString</a>&amp; text);
00514   <a class="code" href="classFX_1_1FXString.html">FXString</a> getItemText(FXint r,FXint c) <span class="keyword">const</span>;
00515 <span class="comment"></span>
<a name="l00516"></a><a class="code" href="classFX_1_1FXTable.html#a105">00516</a> <span class="comment">  /// Modify cell icon</span>
00517 <span class="comment"></span>  <span class="keywordtype">void</span> setItemIcon(FXint r,FXint c,<a class="code" href="classFX_1_1FXIcon.html">FXIcon</a>* icon);
00518   <a class="code" href="classFX_1_1FXIcon.html">FXIcon</a>* getItemIcon(FXint r,FXint c) <span class="keyword">const</span>;
00519 <span class="comment"></span>
00520 <span class="comment">  /// Modify cell user-data</span>
00521 <span class="comment"></span>  <span class="keywordtype">void</span> setItemData(FXint r,FXint c,<span class="keywordtype">void</span>* ptr);
00522   <span class="keywordtype">void</span>* getItemData(FXint r,FXint c) <span class="keyword">const</span>;
00523 <span class="comment"></span>
00524 <span class="comment">  /// Is cell selected, current, visible, enabled</span>
00525 <span class="comment"></span>  FXbool isItemSelected(FXint r,FXint c) <span class="keyword">const</span>;
00526   FXbool isItemCurrent(FXint r,FXint c) <span class="keyword">const</span>;
00527   FXbool isItemVisible(FXint r,FXint c) <span class="keyword">const</span>;
00528   FXbool isItemEnabled(FXint r,FXint c) <span class="keyword">const</span>;
00529 <span class="comment"></span>
00530 <span class="comment">  /// Return TRUE if its a spanning cell</span>
00531 <span class="comment"></span>  FXbool isItemSpanning(FXint r,FXint c) <span class="keyword">const</span>;
00532 <span class="comment"></span>
00533 <span class="comment">  /// Repaint cells between grid lines sr,er and grid lines sc,ec</span>
00534 <span class="comment"></span>  <span class="keywordtype">void</span> updateRange(FXint sr,FXint er,FXint sc,FXint ec) <span class="keyword">const</span>;
00535 <span class="comment"></span>
00536 <span class="comment">  /// Repaint cell at r,c</span>
00537 <span class="comment"></span>  <span class="keywordtype">void</span> updateItem(FXint r,FXint c) <span class="keyword">const</span>;
00538 <span class="comment"></span>
00539 <span class="comment">  /// Enable item</span>
00540 <span class="comment"></span>  FXbool enableItem(FXint r,FXint c);
00541 <span class="comment"></span>
00542 <span class="comment">  /// Disable item</span>
00543 <span class="comment"></span>  FXbool disableItem(FXint r,FXint c);
00544 <span class="comment"></span>
00545 <span class="comment">  /// Select item</span>
00546 <span class="comment"></span>  <span class="keyword">virtual</span> FXbool selectItem(FXint r,FXint c,FXbool notify=FALSE);
00547 <span class="comment"></span>
00548 <span class="comment">  /// Deselect item</span>
<a name="l00549"></a><a class="code" href="classFX_1_1FXTable.html#a128">00549</a> <span class="comment"></span>  <span class="keyword">virtual</span> FXbool deselectItem(FXint r,FXint c,FXbool notify=FALSE);
00550 <span class="comment"></span>
00551 <span class="comment">  /// Toggle item</span>
00552 <span class="comment"></span>  <span class="keyword">virtual</span> FXbool toggleItem(FXint r,FXint c,FXbool notify=FALSE);
00553 <span class="comment"></span>
00554 <span class="comment">  /// Change item justification</span>
00555 <span class="comment"></span>  <span class="keywordtype">void</span> setItemJustify(FXint r,FXint c,FXuint justify);
00556 <span class="comment"></span>
00557 <span class="comment">  /// Return item justification</span>
00558 <span class="comment"></span>  FXuint getItemJustify(FXint r,FXint c) <span class="keyword">const</span>;
00559 <span class="comment"></span>
00560 <span class="comment">  /// Change relative position of icon and text of item</span>
00561 <span class="comment"></span>  <span class="keywordtype">void</span> setItemIconPosition(FXint r,FXint c,FXuint mode);
00562 <span class="comment"></span>
00563 <span class="comment">  /// Return relative icon and text position</span>
00564 <span class="comment"></span>  FXuint getItemIconPosition(FXint r,FXint c) <span class="keyword">const</span>;
00565 <span class="comment"></span>
00566 <span class="comment">  /// Change item border style</span>
00567 <span class="comment"></span>  <span class="keywordtype">void</span> setItemBorders(FXint r,FXint c,FXuint borders);
00568 <span class="comment"></span>
00569 <span class="comment">  /// Return item border style</span>
00570 <span class="comment"></span>  FXuint getItemBorders(FXint r,FXint c) <span class="keyword">const</span>;
00571 <span class="comment"></span>
00572 <span class="comment">  /// Change item background stipple style</span>
00573 <span class="comment"></span>  <span class="keywordtype">void</span> setItemStipple(FXint r,FXint c,FXStipplePattern pat);
00574 <span class="comment"></span>
00575 <span class="comment">  /// return item background stipple style</span>
00576 <span class="comment"></span>  <a class="code" href="group__FXDC__6.html#a0">FXStipplePattern</a> getItemStipple(FXint r,FXint c) <span class="keyword">const</span>;
00577 <span class="comment"></span>
00578 <span class="comment">  /// Change current item</span>
00579 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setCurrentItem(FXint r,FXint c,FXbool notify=FALSE);
00580 <span class="comment"></span>
00581 <span class="comment">  /// Get row number of current item</span>
00582 <span class="comment"></span>  FXint getCurrentRow()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> current.row; }
00583 <span class="comment"></span>
00584 <span class="comment">  /// Get column number of current item</span>
00585 <span class="comment"></span>  FXint getCurrentColumn()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> current.col; }
00586 <span class="comment"></span>
00587 <span class="comment">  /// Change anchor item</span>
00588 <span class="comment"></span>  <span class="keywordtype">void</span> setAnchorItem(FXint r,FXint c);
00589 <span class="comment"></span>
00590 <span class="comment">  /// Get row number of anchor item</span>
00591 <span class="comment"></span>  FXint getAnchorRow()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> anchor.row; }
00592 <span class="comment"></span>
00593 <span class="comment">  /// Get column number of anchor item</span>
00594 <span class="comment"></span>  FXint getAnchorColumn()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> anchor.col; }
00595 <span class="comment"></span>
00596 <span class="comment">  /// Get selection start row; returns -1 if no selection</span>
00597 <span class="comment"></span>  FXint getSelStartRow()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> selection.fm.row; }
00598 <span class="comment"></span>
00599 <span class="comment">  /// Get selection start column; returns -1 if no selection</span>
00600 <span class="comment"></span>  FXint getSelStartColumn()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> selection.fm.col; }
00601 <span class="comment"></span>
00602 <span class="comment">  /// Get selection end row; returns -1 if no selection</span>
00603 <span class="comment"></span>  FXint getSelEndRow()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> selection.to.row; }
00604 <span class="comment"></span>
00605 <span class="comment">  /// Get selection end column; returns -1 if no selection</span>
00606 <span class="comment"></span>  FXint getSelEndColumn()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> selection.to.col; }
00607 <span class="comment"></span>
00608 <span class="comment">  /// Select range</span>
00609 <span class="comment"></span>  <span class="keyword">virtual</span> FXbool selectRange(FXint sr,FXint er,FXint sc,FXint ec,FXbool notify=FALSE);
00610 <span class="comment"></span>
00611 <span class="comment">  /// Extend selection</span>
00612 <span class="comment"></span>  <span class="keyword">virtual</span> FXbool extendSelection(FXint r,FXint c,FXbool notify=FALSE);
00613 <span class="comment"></span>
00614 <span class="comment">  /// Kill selection</span>
00615 <span class="comment"></span>  <span class="keyword">virtual</span> FXbool killSelection(FXbool notify=FALSE);
00616 <span class="comment"></span>
00617 <span class="comment">  /// Change font</span>
00618 <span class="comment"></span>  <span class="keywordtype">void</span> setFont(FXFont* fnt);
00619   FXFont* getFont()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> font; }
00620 <span class="comment"></span>
00621 <span class="comment">  /// Obtain colors of various parts</span>
00622 <span class="comment"></span>  FXColor getTextColor()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> textColor; }
00623   FXColor getBaseColor()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> baseColor; }
00624   FXColor getHiliteColor()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> hiliteColor; }
00625   FXColor getShadowColor()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> shadowColor; }
00626   FXColor getBorderColor()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> borderColor; }
00627   FXColor getSelBackColor()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> selbackColor; }
00628   FXColor getSelTextColor()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> seltextColor; }
00629   FXColor getGridColor()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> gridColor; }
00630   FXColor getStippleColor()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> stippleColor; }
00631   FXColor getCellBorderColor()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> cellBorderColor; }
00632 <span class="comment"></span>
00633 <span class="comment">  /// Change colors of various parts</span>
00634 <span class="comment"></span>  <span class="keywordtype">void</span> setTextColor(FXColor clr);
00635   <span class="keywordtype">void</span> setBaseColor(FXColor clr);
00636   <span class="keywordtype">void</span> setHiliteColor(FXColor clr);
00637   <span class="keywordtype">void</span> setShadowColor(FXColor clr);
00638   <span class="keywordtype">void</span> setBorderColor(FXColor clr);
00639   <span class="keywordtype">void</span> setSelBackColor(FXColor clr);
00640   <span class="keywordtype">void</span> setSelTextColor(FXColor clr);
00641   <span class="keywordtype">void</span> setGridColor(FXColor clr);
00642   <span class="keywordtype">void</span> setStippleColor(FXColor clr);
00643   <span class="keywordtype">void</span> setCellBorderColor(FXColor clr);
00644 <span class="comment"></span>
00645 <span class="comment">  /// Change cell background color for even/odd rows/columns</span>
00646 <span class="comment"></span>  <span class="keywordtype">void</span> setCellColor(FXint r,FXint c,FXColor clr);
00647 <span class="comment"></span>
00648 <span class="comment">  /// Obtain cell background color for even/odd rows/columns</span>
00649 <span class="comment"></span>  FXColor getCellColor(FXint r,FXint c) <span class="keyword">const</span>;
00650 <span class="comment"></span>
00651 <span class="comment">  /// Change cell border width</span>
00652 <span class="comment"></span>  <span class="keywordtype">void</span> setCellBorderWidth(FXint borderwidth);
00653 <span class="comment"></span>
00654 <span class="comment">  /// Return cell border width</span>
00655 <span class="comment"></span>  FXint getCellBorderWidth()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> cellBorderWidth; }
00656 <span class="comment"></span>
00657 <span class="comment">  /// Change help text</span>
00658 <span class="comment"></span>  <span class="keywordtype">void</span> setHelpText(<span class="keyword">const</span> FXString&amp; text);
00659   FXString getHelpText()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> help; }
00660 <span class="comment"></span>
00661 <span class="comment">  /// Serialize</span>
00662 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> save(FXStream&amp; store) <span class="keyword">const</span>;
00663   <span class="keyword">virtual</span> <span class="keywordtype">void</span> load(FXStream&amp; store);
00664 
00665   <span class="keyword">virtual</span> ~FXTable();
00666   };
00667 
00668 }
00669 
00670 <span class="preprocessor">#endif</span>
</pre></div></font>

<!--- COPYRIGHT -->
<p>
<table width=100% cellpadding=0 cellspacing=0><tr><td width=100% valign=top id=HEADLINE align=right>
<img src='../art/line.gif' width=100% height=1><font size=-1>
Copyright &copy; 1997-2004 Jeroen van der Zijp</font>
</td></tr></table>
</p>
<!--- COPYRIGHT -->
</body>
</html>