Fl_Table_Row Class Reference

A table with row selection capabilities. More...

`#include <Fl_Table_Row.H>`

Inheritance diagram for Fl_Table_Row:

## Public Types

enum | TableRowSelectMode { SELECT_NONE, SELECT_SINGLE, SELECT_MULTI }
Public Types inherited from Fl_Table
enum | TableContext { CONTEXT_NONE = 0, CONTEXT_STARTPAGE = 0x01, CONTEXT_ENDPAGE = 0x02, CONTEXT_ROW_HEADER = 0x04, CONTEXT_COL_HEADER = 0x08, CONTEXT_CELL = 0x10, CONTEXT_TABLE = 0x20, CONTEXT_RC_RESIZE = 0x40 }
| The context bit flags for Fl_Table related callbacks (eg. More...

## Public Member Functions

void | clear ()
| Clears the table to zero rows (rows(0)), zero columns (cols(0)), and clears any widgets (table->clear()) that were added with begin()/end() or add()/insert()/etc. More...
| Fl_Table_Row (int X, int Y, int W, int H, const char *l=0)
| The constructor for the Fl_Table_Row. More...
int | row_selected (int row)
| Checks to see if 'row' is selected. More...
void | rows (int val)
| Sets the number of rows in the table, and the table is redrawn.
int | rows ()
void | select_all_rows (int flag=1)
| This convenience function changes the selection state for all rows based on 'flag'. More...
int | select_row (int row, int flag=1)
| Changes the selection state for 'row', depending on the value of 'flag'. More...
void | type (TableRowSelectMode val)
| Sets the table selection mode. More...
TableRowSelectMode | type () const
| ~Fl_Table_Row ()
| The destructor for the Fl_Table_Row. More...
Public Member Functions inherited from Fl_Table
void | add (Fl_Widget &wgt)
void | add (Fl_Widget *wgt)
Fl_Widget *const * | array ()
void | begin ()
void | callback (Fl_Widget *, void *)
| Callbacks will be called depending on the setting of Fl_Widget::when(). More...
int | callback_col ()
| Returns the current column the event occurred on. More...
TableContext | callback_context ()
| Returns the current 'table context'. More...
int | callback_row ()
| Returns the current row the event occurred on. More...
Fl_Widget * | child (int n) const
| Returns the child widget by an index. More...
int | children () const
| Returns the number of children in the table. More...
int | col_header ()
| Returns if column headers are enabled or not.
void | col_header (int flag)
| Enable or disable column headers. More...
void | col_header_color (Fl_Color val)
| Sets the color for column headers and redraws the table.
Fl_Color | col_header_color ()
| Gets the color for column headers.
void | col_header_height (int height)
| Sets the height in pixels for column headers and redraws the table.
int | col_header_height ()
| Gets the column header height.
void | col_position (int col)
| Sets the column scroll position to column 'col', and causes the screen to redraw.
int | col_position ()
| Returns the current column scroll position as a column number.
int | col_resize ()
| Returns the current value of this flag.
void | col_resize (int flag)
| Allows/disallows column resizing by the user. More...
int | col_resize_min ()
| Sets the current column minimum resize value. More...
void | col_resize_min (int val)
| Returns the current column minimum resize value.
void | col_width (int col, int width)
| Sets the width of the specified column in pixels, and the table is redrawn. More...
int | col_width (int col)
| Returns the current width of the specified column in pixels.
void | col_width_all (int width)
| Convenience method to set the width of all columns to the same value, in pixels. More...
virtual void | cols (int val)
| Set the number of columns in the table and redraw.
int | cols ()
| Get the number of columns in the table.
void | do_callback (TableContext context, int row, int col)
void | draw (void)
| Draws the widget. More...
void | end ()
int | find (const Fl_Widget *wgt) const
int | find (const Fl_Widget &wgt) const
| Fl_Table (int X, int Y, int W, int H, const char *l=0)
| The constructor for the Fl_Table. More...
void | get_selection (int &row_top, int &col_left, int &row_bot, int &col_right)
| Gets the region of cells selected (highlighted). More...
void | init_sizes ()
void | insert (Fl_Widget &wgt, int n)
void | insert (Fl_Widget &wgt, Fl_Widget *w2)
int | is_interactive_resize ()
| Returns 1 if someone is interactively resizing a row or column. More...
int | is_selected (int r, int c)
| See if the cell at row `r` and column `c` is selected. More...
int | move_cursor (int R, int C, int shiftselect)
int | move_cursor (int R, int C)
void | remove (Fl_Widget &wgt)
void | resize (int X, int Y, int W, int H)
| Changes the size of the Fl_Table, causing it to redraw.
int | row_header ()
| Returns the value of this flag.
void | row_header (int flag)
| Enables/disables showing the row headers. More...
void | row_header_color (Fl_Color val)
| Sets the row header color and causes the screen to redraw.
Fl_Color | row_header_color ()
| Returns the current row header color.
void | row_header_width (int width)
| Sets the row header width to n and causes the screen to redraw.
int | row_header_width ()
| Returns the current row header width (in pixels).
void | row_height (int row, int height)
| Sets the height of the specified row in pixels, and the table is redrawn. More...
int | row_height (int row)
| Returns the current height of the specified row as a value in pixels.
void | row_height_all (int height)
| Convenience method to set the height of all rows to the same value, in pixels. More...
void | row_position (int row)
| Sets the row scroll position to 'row', and causes the screen to redraw.
int | row_position ()
| Returns the current row scroll position as a row number.
int | row_resize ()
| Returns the current value of this flag.
void | row_resize (int flag)
| Allows/disallows row resizing by the user. More...
int | row_resize_min ()
| Returns the current row minimum resize value.
void | row_resize_min (int val)
| Sets the current row minimum resize value. More...
int | rows ()
| Returns the number of rows in the table.
void | set_selection (int row_top, int col_left, int row_bot, int col_right)
| Sets the region of cells to be selected (highlighted). More...
void | table_box (Fl_Boxtype val)
| Sets the kind of box drawn around the data table, the default being FL_NO_BOX. More...
Fl_Boxtype | table_box (void)
| Returns the current box type used for the data table.
void | top_row (int row)
| Sets which row should be at the top of the table, scrolling as necessary, and the table is redrawn. More...
int | top_row ()
| Returns the current top row shown in the table. More...
void | visible_cells (int &r1, int &r2, int &c1, int &c2)
| Returns the range of row and column numbers for all visible and partially visible cells in the table. More...
void | when (Fl_When flags)
| The Fl_Widget::when() function is used to set a group of flags, determining when the widget callback is called: More...
| ~Fl_Table ()
| The destructor for the Fl_Table. More...
Public Member Functions inherited from Fl_Group
Fl_Widget *& | _ddfdesign_kludge ()
| This is for forms compatibility only.
void | add (Fl_Widget &)
| The widget is removed from its current group (if any) and then added to the end of this group.
void | add (Fl_Widget *o)
| See void Fl_Group::add(Fl_Widget &w)
void | add_resizable (Fl_Widget &o)
| Adds a widget to the group and makes it the resizable widget.
Fl_Widget *const * | array () const
| Returns a pointer to the array of children. More...
virtual Fl_Group * | as_group ()
| Returns an Fl_Group pointer if this widget is an Fl_Group. More...
void | begin ()
| Sets the current group so you can build the widget tree by just constructing the widgets. More...
Fl_Widget * | child (int n) const
| Returns array()[n]. More...
int | children () const
| Returns how many child widgets the group has.
void | clear ()
| Deletes all child widgets from memory recursively. More...
void | clip_children (int c)
| Controls whether the group widget clips the drawing of child widgets to its bounding box. More...
unsigned int | clip_children ()
| Returns the current clipping mode. More...
void | end ()
| Exactly the same as current(this->parent()). More...
int | find (const Fl_Widget *) const
| Searches the child array for the widget and returns the index. More...
int | find (const Fl_Widget &o) const
| See int Fl_Group::find(const Fl_Widget *w) const.
| Fl_Group (int, int, int, int, const char *=0)
| Creates a new Fl_Group widget using the given position, size, and label string. More...
void | focus (Fl_Widget *W)
void | forms_end ()
| This is for forms compatibility only.
void | init_sizes ()
| Resets the internal array of widget sizes and positions. More...
void | insert (Fl_Widget &, int i)
| The widget is removed from its current group (if any) and then inserted into this group. More...
void | insert (Fl_Widget &o, Fl_Widget *before)
| This does insert(w, find(before)). More...
void | remove (int index)
| Removes the widget at `index` from the group but does not delete it. More...
void | remove (Fl_Widget &)
| Removes a widget from the group but does not delete it. More...
void | remove (Fl_Widget *o)
| Removes the widget `o` from the group. More...
void | resizable (Fl_Widget &o)
| See void Fl_Group::resizable(Fl_Widget *box)
void | resizable (Fl_Widget *o)
| The resizable widget defines the resizing box for the group. More...
Fl_Widget * | resizable () const
| See void Fl_Group::resizable(Fl_Widget *box)
virtual | ~Fl_Group ()
| The destructor also deletes all the children. More...
Public Member Functions inherited from Fl_Widget
void | _clear_fullscreen ()
void | _set_fullscreen ()
void | activate ()
| Activates the widget. More...
unsigned int | active () const
| Returns whether the widget is active. More...
int | active_r () const
| Returns whether the widget and all of its parents are active. More...
Fl_Align | align () const
| Gets the label alignment. More...
void | align (Fl_Align alignment)
| Sets the label alignment. More...
long | argument () const
| Gets the current user data (long) argument that is passed to the callback function.
void | argument (long v)
| Sets the current user data (long) argument that is passed to the callback function. More...
virtual class Fl_Gl_Window * | as_gl_window ()
| Returns an Fl_Gl_Window pointer if this widget is an Fl_Gl_Window. More...
virtual Fl_Window * | as_window ()
| Returns an Fl_Window pointer if this widget is an Fl_Window. More...
Fl_Boxtype | box () const
| Gets the box type of the widget. More...
void | box (Fl_Boxtype new_box)
| Sets the box type for the widget. More...
Fl_Callback_p | callback () const
| Gets the current callback function for the widget. More...
void | callback (Fl_Callback *cb, void *p)
| Sets the current callback function for the widget. More...
void | callback (Fl_Callback *cb)
| Sets the current callback function for the widget. More...
void | callback (Fl_Callback0 *cb)
| Sets the current callback function for the widget. More...
void | callback (Fl_Callback1 *cb, long p=0)
| Sets the current callback function for the widget. More...
unsigned int | changed () const
| Checks if the widget value changed since the last callback. More...
void | clear_changed ()
| Marks the value of the widget as unchanged. More...
void | clear_damage (uchar c=0)
| Clears or sets the damage flags. More...
void | clear_output ()
| Sets a widget to accept input. More...
void | clear_visible ()
| Hides the widget. More...
void | clear_visible_focus ()
| Disables keyboard focus navigation with this widget. More...
Fl_Color | color () const
| Gets the background color of the widget. More...
void | color (Fl_Color bg)
| Sets the background color of the widget. More...
void | color (Fl_Color bg, Fl_Color sel)
| Sets the background and selection color of the widget. More...
Fl_Color | color2 () const
| For back compatibility only. More...
void | color2 (unsigned a)
| For back compatibility only. More...
int | contains (const Fl_Widget *w) const
| Checks if w is a child of this widget. More...
void | copy_label (const char *new_label)
| Sets the current label. More...
void | copy_tooltip (const char *text)
| Sets the current tooltip text. More...
uchar | damage () const
| Returns non-zero if draw() needs to be called. More...
void | damage (uchar c)
| Sets the damage bits for the widget. More...
void | damage (uchar c, int x, int y, int w, int h)
| Sets the damage bits for an area inside the widget. More...
int | damage_resize (int, int, int, int)
| Internal use only. More...
void | deactivate ()
| Deactivates the widget. More...
Fl_Image * | deimage ()
| Gets the image that is used as part of the widget label. More...
const Fl_Image * | deimage () const
void | deimage (Fl_Image *img)
| Sets the image to use as part of the widget label. More...
void | deimage (Fl_Image &img)
| Sets the image to use as part of the widget label. More...
void | do_callback ()
| Calls the widget callback. More...
void | do_callback (Fl_Widget *o, long arg)
| Calls the widget callback. More...
void | do_callback (Fl_Widget *o, void *arg=0)
| Calls the widget callback. More...
void | draw_label (int, int, int, int, Fl_Align) const
| Draws the label in an arbitrary bounding box with an arbitrary alignment. More...
int | h () const
| Gets the widget height. More...
virtual void | hide ()
| Makes a widget invisible. More...
Fl_Image * | image ()
| Gets the image that is used as part of the widget label. More...
const Fl_Image * | image () const
void | image (Fl_Image *img)
| Sets the image to use as part of the widget label. More...
void | image (Fl_Image &img)
| Sets the image to use as part of the widget label. More...
int | inside (const Fl_Widget *wgt) const
| Checks if this widget is a child of `wgt`. More...
const char * | label () const
| Gets the current label text. More...
void | label (const char *text)
| Sets the current label pointer. More...
void | label (Fl_Labeltype a, const char *b)
| Shortcut to set the label text and type in one call. More...
Fl_Color | labelcolor () const
| Gets the label color. More...
void | labelcolor (Fl_Color c)
| Sets the label color. More...
Fl_Font | labelfont () const
| Gets the font to use. More...
void | labelfont (Fl_Font f)
| Sets the font to use. More...
Fl_Fontsize | labelsize () const
| Gets the font size in pixels. More...
void | labelsize (Fl_Fontsize pix)
| Sets the font size in pixels. More...
Fl_Labeltype | labeltype () const
| Gets the label type. More...
void | labeltype (Fl_Labeltype a)
| Sets the label type. More...
void | measure_label (int &ww, int &hh) const
| Sets width ww and height hh accordingly with the label size. More...
unsigned int | output () const
| Returns if a widget is used for output only. More...
Fl_Group * | parent () const
| Returns a pointer to the parent widget. More...
void | parent (Fl_Group *p)
| Internal use only - "for hacks only". More...
void | position (int X, int Y)
| Repositions the window or widget. More...
void | redraw ()
| Schedules the drawing of the widget. More...
void | redraw_label ()
| Schedules the drawing of the label. More...
Fl_Color | selection_color () const
| Gets the selection color. More...
void | selection_color (Fl_Color a)
| Sets the selection color. More...
void | set_changed ()
| Marks the value of the widget as changed. More...
void | set_output ()
| Sets a widget to output only. More...
void | set_visible ()
| Makes the widget visible. More...
void | set_visible_focus ()
| Enables keyboard focus navigation with this widget. More...
virtual void | show ()
| Makes a widget visible. More...
void | size (int W, int H)
| Changes the size of the widget. More...
int | take_focus ()
| Gives the widget the keyboard focus. More...
unsigned int | takesevents () const
| Returns if the widget is able to take events. More...
int | test_shortcut ()
| Returns true if the widget's label contains the entered '&x' shortcut. More...
const char * | tooltip () const
| Gets the current tooltip text. More...
void | tooltip (const char *text)
| Sets the current tooltip text. More...
uchar | type () const
| Gets the widget type. More...
void | type (uchar t)
| Sets the widget type. More...
int | use_accents_menu ()
| Returns non zero if MAC_USE_ACCENTS_MENU flag is set, 0 otherwise.
void * | user_data () const
| Gets the user data for this widget. More...
void | user_data (void *v)
| Sets the user data for this widget. More...
unsigned int | visible () const
| Returns whether a widget is visible. More...
void | visible_focus (int v)
| Modifies keyboard focus navigation. More...
unsigned int | visible_focus ()
| Checks whether this widget has a visible focus. More...
int | visible_r () const
| Returns whether a widget and all its parents are visible. More...
int | w () const
| Gets the widget width. More...
Fl_When | when () const
| Returns the conditions under which the callback is called. More...
void | when (uchar i)
| Sets the flags used to decide when a callback is called. More...
Fl_Window * | window () const
| Returns a pointer to the primary Fl_Window widget. More...
int | x () const
| Gets the widget position in its window. More...
int | y () const
| Gets the widget position in its window. More...
virtual | ~Fl_Widget ()
| Destroys the widget. More...

## Protected Member Functions

int | find_cell (TableContext context, int R, int C, int &X, int &Y, int &W, int &H)
int | handle (int event)
| Handles the specified event. More...
Protected Member Functions inherited from Fl_Table
void | change_cursor (Fl_Cursor newcursor)
long | col_scroll_position (int col)
TableContext | cursor2rowcol (int &R, int &C, ResizeFlag &resizeflag)
void | damage_zone (int r1, int c1, int r2, int c2, int r3=0, int c3=0)
virtual void | draw_cell (TableContext context, int R=0, int C=0, int X=0, int Y=0, int W=0, int H=0)
| Subclass should override this method to handle drawing the cells. More...
int | find_cell (TableContext context, int R, int C, int &X, int &Y, int &W, int &H)
void | get_bounds (TableContext context, int &X, int &Y, int &W, int &H)
int | is_fltk_container ()
void | recalc_dimensions ()
void | redraw_range (int topRow, int botRow, int leftCol, int rightCol)
int | row_col_clamp (TableContext context, int &R, int &C)
long | row_scroll_position (int row)
void | table_resized ()
void | table_scrolled ()
Protected Member Functions inherited from Fl_Group
void | draw_child (Fl_Widget &widget) const
| Forces a child to redraw. More...
void | draw_children ()
| Draws all children of the group. More...
void | draw_outside_label (const Fl_Widget &widget) const
| Parents normally call this to draw outside labels of child widgets. More...
int * | sizes ()
| Returns the internal array of widget sizes and positions. More...
void | update_child (Fl_Widget &widget) const
| Draws a child only if it needs it. More...
Protected Member Functions inherited from Fl_Widget
void | clear_flag (unsigned int c)
| Clears a flag in the flags mask.
void | draw_backdrop () const
| If FL_ALIGN_IMAGE_BACKDROP is set, the image or deimage will be drawn.
void | draw_box () const
| Draws the widget box according its box style.
void | draw_box (Fl_Boxtype t, Fl_Color c) const
| Draws a box of type t, of color c at the widget's position and size. More...
void | draw_box (Fl_Boxtype t, int x, int y, int w, int h, Fl_Color c) const
| Draws a box of type t, of color c at the position X,Y and size W,H. More...
void | draw_focus ()
| draws a focus rectangle around the widget
void | draw_focus (Fl_Boxtype t, int x, int y, int w, int h) const
| Draws a focus box for the widget at the given position and size.
void | draw_label () const
| Draws the widget's label at the defined label position. More...
void | draw_label (int, int, int, int) const
| Draws the label in an arbitrary bounding box. More...
| Fl_Widget (int x, int y, int w, int h, const char *label=0L)
| Creates a widget at the given position and size. More...
unsigned int | flags () const
| Gets the widget flags mask.
void | h (int v)
| Internal use only. More...
void | set_flag (unsigned int c)
| Sets a flag in the flags mask.
void | w (int v)
| Internal use only. More...
void | x (int v)
| Internal use only. More...
void | y (int v)
| Internal use only. More...

## Additional Inherited Members

Static Public Member Functions inherited from Fl_Group
static Fl_Group * | current ()
| Returns the currently active group. More...
static void | current (Fl_Group *g)
| Sets the current group. More...
Protected Types inherited from Fl_Table
enum | ResizeFlag { RESIZE_NONE = 0, RESIZE_COL_LEFT = 1, RESIZE_COL_RIGHT = 2, RESIZE_ROW_ABOVE = 3, RESIZE_ROW_BELOW = 4 }
Static Protected Member Functions inherited from Fl_Table
static void | scroll_cb (Fl_Widget *, void *)
Protected Attributes inherited from Fl_Table
int | botrow
int | current_col
int | current_row
Fl_Scrollbar * | hscrollbar
int | leftcol
int | leftcol_scrollpos
int | rightcol
int | select_col
int | select_row
Fl_Scroll * | table
int | table_h
int | table_w
int | tih
int | tiw
int | tix
int | tiy
int | toh
int | toprow
int | toprow_scrollpos
int | tow
int | tox
int | toy
Fl_Scrollbar * | vscrollbar
int | wih
int | wiw
int | wix
int | wiy

## Detailed Description

A table with row selection capabilities.

This class implements a simple table with the ability to select rows. This widget is similar to an Fl_Browser with columns. Most methods of importance will be found in the Fl_Table widget, such as Fl_Table::rows() and Fl_Table::cols().

To be useful it must be subclassed and at minimum the draw_cell() method must be overridden to provide the content of the cells. This widget does not manage the cell's data content; it is up to the parent class's draw_cell() method override to provide this.

Events on the cells and/or headings generate callbacks when they are clicked by the user. You control when events are generated based on the values you supply for Fl_Table::when().

## Constructor & Destructor Documentation

Fl_Table_Row::Fl_Table_Row | ( | int | X,
|  | int | Y,
|  | int | W,
|  | int | H,
|  | const char * | l = `0`
| ) |  |

inline

The constructor for the Fl_Table_Row.

This creates an empty table with no rows or columns, with headers and row/column resize behavior disabled.

Fl_Table_Row::~Fl_Table_Row | ( |  | ) |

inline

The destructor for the Fl_Table_Row.

Destroys the table and its associated widgets.

## Member Function Documentation

void Fl_Table_Row::clear | ( |  | ) |

inlinevirtual

Clears the table to zero rows (rows(0)), zero columns (cols(0)), and clears any widgets (table->clear()) that were added with begin()/end() or add()/insert()/etc.

See Also
  rows(int), cols(int)

Reimplemented from Fl_Table.

int Fl_Table_Row::handle | ( | int | event | ) |

protectedvirtual

Handles the specified event.

You normally don't call this method directly, but instead let FLTK do it when the user interacts with the widget.

When implemented in a widget, this function must return 0 if the widget does not use the event or 1 otherwise.

Most of the time, you want to call the inherited handle() method in your overridden method so that you don't short-circuit events that you don't handle. In this last case you should return the callee retval.

Parameters

  [in] | event | the kind of event received

Return values

  0 | if the event was not used or understood
  1 | if the event was used and can be deleted

See Also
  Fl_Event

Reimplemented from Fl_Table.

int Fl_Table_Row::row_selected | ( | int | row | ) |

Checks to see if 'row' is selected.

Returns 1 if selected, 0 if not. You can change the selection of a row by clicking on it, or by using select_row(row, flag)

void Fl_Table_Row::select_all_rows | ( | int | flag = `1` | ) |

This convenience function changes the selection state for all rows based on 'flag'.

0=deselect, 1=select, 2=toggle existing state.

int Fl_Table_Row::select_row | ( | int | row,
|  | int | flag = `1`
| ) |  |

Changes the selection state for 'row', depending on the value of 'flag'.

0=deselected, 1=select, 2=toggle existing state.

void Fl_Table_Row::type | ( | TableRowSelectMode | val | ) |

Sets the table selection mode.

- `Fl_Table_Row::SELECT_NONE` - No selection allowed
- `Fl_Table_Row::SELECT_SINGLE` - Only single rows can be selected
- `Fl_Table_Row::SELECT_MULTI` - Multiple rows can be selected

The documentation for this class was generated from the following files:

- Fl_Table_Row.H
- Fl_Table_Row.cxx

- © 1998-2012 by Bill Spitzak and others.