Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

FX::FXTable Class Reference

The Table widget displays a table of items, each with a text and optional icon. More...

#include <FXTable.h>

Inheritance diagram for FX::FXTable:
FX::FXScrollArea FX::FXComposite FX::FXWindow FX::FXDrawable FX::FXId FX::FXObject

List of all members.

Public Types

enum  {
  ID_HORZ_GRID = FXScrollArea::ID_LAST, ID_VERT_GRID, ID_TOGGLE_EDITABLE, ID_DELETE_COLUMN,
  ID_DELETE_ROW, ID_INSERT_COLUMN, ID_INSERT_ROW, ID_SELECT_COLUMN_INDEX,
  ID_SELECT_ROW_INDEX, ID_SELECT_COLUMN, ID_SELECT_ROW, ID_SELECT_CELL,
  ID_SELECT_ALL, ID_DESELECT_ALL, ID_MOVE_LEFT, ID_MOVE_RIGHT,
  ID_MOVE_UP, ID_MOVE_DOWN, ID_MOVE_HOME, ID_MOVE_END,
  ID_MOVE_TOP, ID_MOVE_BOTTOM, ID_MOVE_PAGEDOWN, ID_MOVE_PAGEUP,
  ID_START_INPUT, ID_CANCEL_INPUT, ID_ACCEPT_INPUT, ID_MARK,
  ID_EXTEND, ID_CUT_SEL, ID_COPY_SEL, ID_PASTE_SEL,
  ID_DELETE_SEL, ID_LAST
}
- Public Types inherited from FX::FXScrollArea
enum  { ID_AUTOSCROLL = FXComposite::ID_LAST, ID_VSCROLLED, ID_HSCROLLED, ID_LAST }

Public Member Functions

long onPaint (FXObject *, FXSelector, void *)
long onEnter (FXObject *, FXSelector, void *)
long onLeave (FXObject *, FXSelector, void *)
long onFocusIn (FXObject *, FXSelector, void *)
long onFocusOut (FXObject *, FXSelector, void *)
long onMotion (FXObject *, FXSelector, void *)
long onKeyPress (FXObject *, FXSelector, void *)
long onKeyRelease (FXObject *, FXSelector, void *)
long onLeftBtnPress (FXObject *, FXSelector, void *)
long onLeftBtnRelease (FXObject *, FXSelector, void *)
long onRightBtnPress (FXObject *, FXSelector, void *)
long onRightBtnRelease (FXObject *, FXSelector, void *)
long onUngrabbed (FXObject *, FXSelector, void *)
long onSelectionLost (FXObject *, FXSelector, void *)
long onSelectionGained (FXObject *, FXSelector, void *)
long onSelectionRequest (FXObject *, FXSelector, void *ptr)
long onClipboardLost (FXObject *, FXSelector, void *)
long onClipboardGained (FXObject *, FXSelector, void *)
long onClipboardRequest (FXObject *, FXSelector, void *)
long onAutoScroll (FXObject *, FXSelector, void *)
long onCommand (FXObject *, FXSelector, void *)
long onClicked (FXObject *, FXSelector, void *)
long onDoubleClicked (FXObject *, FXSelector, void *)
long onTripleClicked (FXObject *, FXSelector, void *)
long onQueryTip (FXObject *, FXSelector, void *)
long onQueryHelp (FXObject *, FXSelector, void *)
long onTipTimer (FXObject *, FXSelector, void *)
long onCmdToggleEditable (FXObject *, FXSelector, void *)
long onUpdToggleEditable (FXObject *, FXSelector, void *)
long onCmdHorzGrid (FXObject *, FXSelector, void *)
long onUpdHorzGrid (FXObject *, FXSelector, void *)
long onCmdVertGrid (FXObject *, FXSelector, void *)
long onUpdVertGrid (FXObject *, FXSelector, void *)
long onCmdDeleteColumn (FXObject *, FXSelector, void *)
long onUpdDeleteColumn (FXObject *, FXSelector, void *)
long onCmdDeleteRow (FXObject *, FXSelector, void *)
long onUpdDeleteRow (FXObject *, FXSelector, void *)
long onCmdInsertColumn (FXObject *, FXSelector, void *)
long onUpdInsertColumn (FXObject *, FXSelector, void *)
long onCmdInsertRow (FXObject *, FXSelector, void *)
long onUpdInsertRow (FXObject *, FXSelector, void *)
long onCmdMoveRight (FXObject *, FXSelector, void *)
long onCmdMoveLeft (FXObject *, FXSelector, void *)
long onCmdMoveUp (FXObject *, FXSelector, void *)
long onCmdMoveDown (FXObject *, FXSelector, void *)
long onCmdMoveHome (FXObject *, FXSelector, void *)
long onCmdMoveEnd (FXObject *, FXSelector, void *)
long onCmdMoveTop (FXObject *, FXSelector, void *)
long onCmdMoveBottom (FXObject *, FXSelector, void *)
long onCmdMovePageDown (FXObject *, FXSelector, void *)
long onCmdMovePageUp (FXObject *, FXSelector, void *)
long onCmdMark (FXObject *, FXSelector, void *)
long onCmdExtend (FXObject *, FXSelector, void *)
long onUpdSelectCell (FXObject *, FXSelector, void *)
long onCmdSelectCell (FXObject *, FXSelector, void *)
long onUpdSelectRow (FXObject *, FXSelector, void *)
long onCmdSelectRow (FXObject *, FXSelector, void *)
long onUpdSelectColumn (FXObject *, FXSelector, void *)
long onCmdSelectColumn (FXObject *, FXSelector, void *)
long onCmdSelectRowIndex (FXObject *, FXSelector, void *)
long onCmdSelectColumnIndex (FXObject *, FXSelector, void *)
long onUpdSelectAll (FXObject *, FXSelector, void *)
long onCmdSelectAll (FXObject *, FXSelector, void *)
long onUpdDeselectAll (FXObject *, FXSelector, void *)
long onCmdDeselectAll (FXObject *, FXSelector, void *)
long onCmdCutSel (FXObject *, FXSelector, void *)
long onCmdCopySel (FXObject *, FXSelector, void *)
long onCmdDeleteSel (FXObject *, FXSelector, void *)
long onCmdPasteSel (FXObject *, FXSelector, void *)
long onUpdHaveSelection (FXObject *, FXSelector, void *)
long onCmdStartInput (FXObject *, FXSelector, void *)
long onUpdStartInput (FXObject *, FXSelector, void *)
long onCmdAcceptInput (FXObject *, FXSelector, void *)
long onUpdAcceptInput (FXObject *, FXSelector, void *)
long onCmdCancelInput (FXObject *, FXSelector, void *)
 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)
 Construct a new table.
virtual void create ()
 Create the server-side resources.
virtual void detach ()
 Detach the server-side resources.
virtual FXint getContentWidth ()
 Computes content width.
virtual FXint getContentHeight ()
 Computes content height.
virtual FXint getVisibleX () const
 Return visible area x position.
virtual FXint getVisibleY () const
 Return visible area y position.
virtual FXint getVisibleWidth () const
 Return visible area width.
virtual FXint getVisibleHeight () const
 Return visible area height.
virtual FXint getDefaultWidth ()
 Return default width.
virtual FXint getDefaultHeight ()
 Return default height.
virtual void layout ()
 Perform layout.
virtual void recalc ()
 Mark this window's layout as dirty.
virtual FXbool canFocus () const
 Table widget can receive focus.
virtual void setFocus ()
 Move the focus to this window.
virtual void killFocus ()
 Remove the focus from this window.
virtual void changeFocus (FXWindow *child)
 Notification that focus moved to new child.
FXButtongetCornerButton () const
 Return button in the top/left corner.
FXHeadergetColumnHeader () const
 Return column header control.
FXHeadergetRowHeader () const
 Return row header control.
void setVisibleRows (FXint nvrows)
 Change visible rows.
FXint getVisibleRows () const
 return number of visible rows
void setVisibleColumns (FXint nvcols)
 Change visible columns.
FXint getVisibleColumns () const
 Return number of visible columns.
FXbool isEditable () const
 Return true if table is editable.
void setEditable (FXbool edit=true)
 Set editable flag.
void showHorzGrid (FXbool on=true)
 Show or hide horizontal grid.
FXbool isHorzGridShown () const
 Is horizontal grid shown.
void showVertGrid (FXbool on=true)
 Show or hide vertical grid.
FXbool isVertGridShown () const
 Is vertical grid shown.
FXint getNumRows () const
 Get number of rows.
FXint getNumColumns () const
 Get number of columns.
void setMarginTop (FXint pt)
 Change top cell margin.
FXint getMarginTop () const
 Return top cell margin.
void setMarginBottom (FXint pb)
 Change bottom cell margin.
FXint getMarginBottom () const
 Return bottom cell margin.
void setMarginLeft (FXint pl)
 Change left cell margin.
FXint getMarginLeft () const
 Return left cell margin.
void setMarginRight (FXint pr)
 Change right cell margin.
FXint getMarginRight () const
 Return right cell margin.
virtual FXbool startInput (FXint row, FXint col)
 Start input mode for the cell at the given position.
virtual FXbool cancelInput ()
 Cancel input mode.
virtual FXbool acceptInput (FXbool notify=false)
 End input mode and accept the new value from the control.
FXint colAtX (FXint x) const
 Determine column containing x.
FXint rowAtY (FXint y) const
 Determine row containing y.
void setItem (FXint row, FXint col, FXTableItem *item, FXbool notify=false)
 Replace the item with a [possibly subclassed] item.
FXTableItemgetItem (FXint row, FXint col) const
 Return the item at the given index.
virtual void setTableSize (FXint nr, FXint nc, FXbool notify=false)
 Set the table size to nr rows and nc columns; all existing items will be removed.
virtual void insertRows (FXint row, FXint nr=1, FXbool notify=false)
 Insert new row.
virtual void insertColumns (FXint col, FXint nc=1, FXbool notify=false)
 Insert new column.
virtual void removeRows (FXint row, FXint nr=1, FXbool notify=false)
 Remove rows of cells.
virtual void removeColumns (FXint col, FXint nc=1, FXbool notify=false)
 Remove column of cells.
virtual FXTableItemextractItem (FXint row, FXint col, FXbool notify=false)
 Extract item from table.
virtual void removeItem (FXint row, FXint col, FXbool notify=false)
 Clear single cell.
virtual void removeRange (FXint startrow, FXint endrow, FXint startcol, FXint endcol, FXbool notify=false)
 Clear all cells in the given range.
virtual void clearItems (FXbool notify=false)
 Remove all items from table.
virtual void makePositionVisible (FXint row, FXint col)
 Scroll to make cell at row, col fully visible.
FXbool isItemVisible (FXint row, FXint col) const
 Return true if item partially visible.
void setColumnHeaderMode (FXuint hint=LAYOUT_FIX_HEIGHT)
 Change column header height mode to fixed or variable.
FXuint getColumnHeaderMode () const
 Return column header height mode.
void setRowHeaderMode (FXuint hint=LAYOUT_FIX_WIDTH)
 Change row header width mode to fixed or variable.
FXuint getRowHeaderMode () const
 Return row header width mode.
void setColumnHeaderFont (FXFont *fnt)
 Set column header font.
FXFontgetColumnHeaderFont () const
 Return column header font.
void setRowHeaderFont (FXFont *fnt)
 Set row header font.
FXFontgetRowHeaderFont () const
 Return row header font.
void setColumnHeaderHeight (FXint h)
 Change column header height.
FXint getColumnHeaderHeight () const
 Return column header height.
void setRowHeaderWidth (FXint w)
 Change row header width.
FXint getRowHeaderWidth () const
 Return row header width.
FXint getColumnX (FXint col) const
 Get X coordinate of column.
FXint getRowY (FXint row) const
 Get Y coordinate of row.
virtual void setColumnWidth (FXint col, FXint cwidth)
 Change column width.
FXint getColumnWidth (FXint col) const
 Get column width.
virtual void setRowHeight (FXint row, FXint rheight)
 Change row height.
FXint getRowHeight (FXint row) const
 Get row height.
void setDefColumnWidth (FXint cwidth)
 Change default column width.
FXint getDefColumnWidth () const
 Get default column width.
void setDefRowHeight (FXint rheight)
 Change default row height.
FXint getDefRowHeight () const
 Get default row height.
FXint getMinRowHeight (FXint row) const
 Return minimum row height.
FXint getMinColumnWidth (FXint col) const
 Return minimum column width.
void fitRowsToContents (FXint row, FXint nr=1)
 Fit row heights to contents.
void fitColumnsToContents (FXint col, FXint nc=1)
 Fit column widths to contents.
void setColumnText (FXint col, const FXString &text)
 Change column header text.
FXString getColumnText (FXint col) const
 Return text of column header at index.
void setRowText (FXint row, const FXString &text)
 Change row header text.
FXString getRowText (FXint row) const
 Return text of row header at index.
void setColumnIcon (FXint col, FXIcon *icon)
 Change column header icon.
FXIcongetColumnIcon (FXint col) const
 Return icon of column header at index.
void setRowIcon (FXint row, FXIcon *icon)
 Change row header icon.
FXIcongetRowIcon (FXint row) const
 Return icon of row header at index.
void setColumnTipText (FXint col, const FXString &text)
 Change column header tip text.
FXString getColumnTipText (FXint col) const
 Return tip text of column header at index.
void setRowTipText (FXint row, const FXString &text)
 Change row header tip text.
FXString getRowTipText (FXint row) const
 Return tip text of row header at index.
void setColumnIconPosition (FXint col, FXuint m)
 Change column header icon position, e.g. FXHeaderItem::BEFORE, etc.
FXuint getColumnIconPosition (FXint col) const
 Return icon position of column header at index.
void setRowIconPosition (FXint row, FXuint m)
 Change row header icon position, e.g. FXHeaderItem::BEFORE, etc.
FXuint getRowIconPosition (FXint row) const
 Return icon position of row header at index.
void setColumnJustify (FXint col, FXuint justify)
 Change column header justify, e.g. FXHeaderItem::RIGHT, etc.
FXuint getColumnJustify (FXint col) const
 Return justify of column header at index.
void setRowJustify (FXint row, FXuint justify)
 Change row header justify, e.g. FXHeaderItem::RIGHT, etc.
FXuint getRowJustify (FXint row) const
 Return justify of row header at index.
void setItemText (FXint row, FXint col, const FXString &text, FXbool notify=false)
 Modify cell text.
FXString getItemText (FXint row, FXint col) const
 Return cell text.
void setItemTipText (FXint row, FXint col, const FXString &text)
 Change tool tip message for item at index.
FXString getItemTipText (FXint row, FXint col) const
 Get tool tip message of item at index.
void setItemIcon (FXint row, FXint col, FXIcon *icon, FXbool owned=false, FXbool notify=false)
 Modify cell icon, deleting the old icon if it was owned.
FXIcongetItemIcon (FXint row, FXint col) const
 Return cell icon.
void setItemData (FXint row, FXint col, FXptr ptr)
 Change cell user-data.
FXptr getItemData (FXint row, FXint col) const
 Return cell user-data.
void extractText (FXchar *&text, FXint &size, FXint startrow, FXint endrow, FXint startcol, FXint endcol, const FXchar *cs="\t", const FXchar *rs="\n") const
 Extract cells from given range as text, each column separated by a string cs, and each row separated by a string rs.
void extractText (FXString &text, FXint startrow, FXint endrow, FXint startcol, FXint endcol, const FXchar *cs="\t", const FXchar *rs="\n") const
void overlayText (FXint startrow, FXint endrow, FXint startcol, FXint endcol, const FXchar *text, FXint size, const FXchar *cs="\t,", const FXchar *rs="\n", FXbool notify=false)
 Overlay text over given cell range; the text is interpreted as a number of columns separated by a character from the set cs, and a number of rows separated by a character from the set rs.
void overlayText (FXint startrow, FXint endrow, FXint startcol, FXint endcol, const FXString &text, const FXchar *cs="\t,", const FXchar *rs="\n", FXbool notify=false)
void countText (FXint &nr, FXint &nc, const FXchar *text, FXint size, const FXchar *cs="\t,", const FXchar *rs="\n") const
 Determine the number of rows and columns in a block of text where columns are separated by characters from the set cs, and rows are separated by characters from the set rs.
void countText (FXint &nr, FXint &nc, const FXString &text, const FXchar *cs="\t,", const FXchar *rs="\n") const
virtual FXbool setSpanningRange (FXint row, FXint col, FXint fr, FXint lr, FXint fc, FXint lc, FXbool notify=false)
 Reshape existing item at row, col to span over rows fr..lr, and over columns fc..lc.
void getSpanningRange (FXint row, FXint col, FXint &fr, FXint &lr, FXint &fc, FXint &lc) const
 Return spanning range of cell at row, col, rows fr..lr and columns fc..lc.
FXbool isItemSpanning (FXint row, FXint col) const
 Return true if its a spanning cell.
FXbool isItemHorizontalSpanning (FXint row, FXint col) const
 Return true if its a horizontally spanning cell.
FXbool isItemVerticalSpanning (FXint row, FXint col) const
 Return true if its a vertically spanning cell.
void updateRange (FXint sr, FXint er, FXint sc, FXint ec) const
 Repaint cells between grid lines sr,er and grid lines sc,ec.
void updateItem (FXint row, FXint col) const
 Repaint cell at row, col.
virtual FXbool enableItem (FXint row, FXint col)
 Enable item.
virtual FXbool disableItem (FXint row, FXint col)
 Disable item.
FXbool isItemEnabled (FXint row, FXint col) const
 Is item enabled and editable.
void setItemJustify (FXint row, FXint col, FXuint justify)
 Change item justification.
FXuint getItemJustify (FXint row, FXint col) const
 Return item justification.
void setItemIconPosition (FXint row, FXint col, FXuint m)
 Change relative position of icon and text of item.
FXuint getItemIconPosition (FXint row, FXint col) const
 Return relative icon and text position.
void setItemBorders (FXint row, FXint col, FXuint borders)
 Change item borders style.
FXuint getItemBorders (FXint row, FXint col) const
 Return item border style.
void setItemStipple (FXint row, FXint col, FXStipplePattern pat)
 Change item background stipple style.
FXStipplePattern getItemStipple (FXint row, FXint col) const
 return item background stipple style
virtual void setCurrentItem (FXint row, FXint col, FXbool notify=false)
 Change current item.
FXint getCurrentRow () const
 Get row number of current item.
FXint getCurrentColumn () const
 Get column number of current item.
FXbool isItemCurrent (FXint row, FXint col) const
 Is item current.
void setAnchorItem (FXint row, FXint col)
 Change anchor item.
FXint getAnchorRow () const
 Get row number of anchor item.
FXint getAnchorColumn () const
 Get column number of anchor item.
FXint getSelStartRow () const
 Get selection start row; returns -1 if no selection.
FXint getSelStartColumn () const
 Get selection start column; returns -1 if no selection.
FXint getSelEndRow () const
 Get selection end row; returns -1 if no selection.
FXint getSelEndColumn () const
 Get selection end column; returns -1 if no selection.
FXbool isItemSelected (FXint row, FXint col) const
 Is cell selected.
FXbool isRowSelected (FXint row) const
 Are all cells in the given row selected.
FXbool isColumnSelected (FXint col) const
 Are all cells int the given column selected.
FXbool isAnythingSelected () const
 Is anything selected.
virtual FXbool selectCell (FXint row, FXint col, FXbool notify=false)
 Select single cell.
virtual FXbool selectRow (FXint row, FXbool notify=false)
 Select a row.
virtual FXbool selectColumn (FXint col, FXbool notify=false)
 Select a column.
virtual FXbool selectRange (FXint nrlo, FXint nrhi, FXint nclo, FXint nchi, FXbool notify=false)
 Select range rows nrlo..nrhi and columns nclo..nchi.
virtual FXbool extendSelection (FXint row, FXint col, FXbool notify=false)
 Extend selection.
virtual FXbool killSelection (FXbool notify=false)
 Kill selection.
void setFont (FXFont *fnt)
 Change font.
FXFontgetFont () const
 Return current font.
FXColor getTextColor () const
 Obtain colors of various parts.
FXColor getBaseColor () const
FXColor getHiliteColor () const
FXColor getShadowColor () const
FXColor getBorderColor () const
FXColor getSelBackColor () const
FXColor getSelTextColor () const
FXColor getGridColor () const
FXColor getStippleColor () const
FXColor getCellBorderColor () const
void setTextColor (FXColor clr)
 Change colors of various parts.
void setBaseColor (FXColor clr)
void setHiliteColor (FXColor clr)
void setShadowColor (FXColor clr)
void setBorderColor (FXColor clr)
void setSelBackColor (FXColor clr)
void setSelTextColor (FXColor clr)
void setGridColor (FXColor clr)
void setStippleColor (FXColor clr)
void setCellBorderColor (FXColor clr)
void setCellColor (FXint row, FXint col, FXColor clr)
 Change cell background color for even/odd rows/columns.
FXColor getCellColor (FXint row, FXint col) const
 Obtain cell background color for even/odd rows/columns.
void setCellBorderWidth (FXint borderwidth)
 Change cell border width.
FXint getCellBorderWidth () const
 Return cell border width.
void setTableStyle (FXuint style)
 Change table style.
FXuint getTableStyle () const
 Return table style.
void setColumnRenumbering (FXNumberingFunc func)
 Set column renumbering, see FXHeader.
FXNumberingFunc getColumnRenumbering () const
 Get column renumbering.
void setRowRenumbering (FXNumberingFunc func)
 Set row renumbering, see FXHeader.
FXNumberingFunc getRowRenumbering () const
 Get row renumbering.
void setHelpText (const FXString &text)
 Change help text.
const FXStringgetHelpText () const
virtual void save (FXStream &store) const
 Serialize.
virtual void load (FXStream &store)
 Load from a stream.
- Public Member Functions inherited from FX::FXScrollArea
long onHMouseWheel (FXObject *, FXSelector, void *)
long onVMouseWheel (FXObject *, FXSelector, void *)
long onHScrollerChanged (FXObject *, FXSelector, void *)
long onVScrollerChanged (FXObject *, FXSelector, void *)
long onHScrollerDragged (FXObject *, FXSelector, void *)
long onVScrollerDragged (FXObject *, FXSelector, void *)
void setPosition (FXint x, FXint y)
 Set the current position.
void getPosition (FXint &x, FXint &y) const
 Get the current position.
FXint getContentX () const
 Return content area x position.
FXint getContentY () const
 Return content area y position.
FXbool isHorizontalScrollable () const
 Return true if horizontally scrollable.
FXbool isVerticalScrollable () const
 Return true if vertically scrollable.
void setScrollStyle (FXuint style)
 Change scroll style.
FXuint getScrollStyle () const
 Return scroll style.
FXScrollBarhorizontalScrollBar () const
 Return a pointer to the horizontal scrollbar.
FXScrollBarverticalScrollBar () const
 Return a pointer to the vertical scrollbar.
virtual ~FXScrollArea ()
 Destructor.
- Public Member Functions inherited from FX::FXComposite
long onFocusNext (FXObject *, FXSelector, void *)
long onFocusPrev (FXObject *, FXSelector, void *)
long onCmdUpdate (FXObject *, FXSelector, void *)
 FXComposite (FXComposite *p, FXuint opts=0, FXint x=0, FXint y=0, FXint w=0, FXint h=0)
 Constructor.
virtual void destroy ()
 Destroy server-side resources.
FXint maxChildWidth () const
 Return the width of the widest child window.
FXint maxChildHeight () const
 Return the height of the tallest child window.
virtual FXbool isComposite () const
 Overrides this virtual function to return true.
virtual ~FXComposite ()
 Destructor.
- Public Member Functions inherited from FX::FXWindow
long onMap (FXObject *, FXSelector, void *)
long onUnmap (FXObject *, FXSelector, void *)
long onConfigure (FXObject *, FXSelector, void *)
long onUpdate (FXObject *, FXSelector, void *)
long onMouseWheel (FXObject *, FXSelector, void *)
long onMiddleBtnPress (FXObject *, FXSelector, void *)
long onMiddleBtnRelease (FXObject *, FXSelector, void *)
long onSpaceBallMotion (FXObject *, FXSelector, void *)
long onSpaceBallButtonPress (FXObject *, FXSelector, void *)
long onSpaceBallButtonRelease (FXObject *, FXSelector, void *)
long onBeginDrag (FXObject *, FXSelector, void *)
long onEndDrag (FXObject *, FXSelector, void *)
long onDragged (FXObject *, FXSelector, void *)
long onDestroy (FXObject *, FXSelector, void *)
long onFocusSelf (FXObject *, FXSelector, void *)
long onDNDEnter (FXObject *, FXSelector, void *)
long onDNDLeave (FXObject *, FXSelector, void *)
long onDNDMotion (FXObject *, FXSelector, void *)
long onDNDDrop (FXObject *, FXSelector, void *)
long onDNDRequest (FXObject *, FXSelector, void *)
long onCmdShow (FXObject *, FXSelector, void *)
long onCmdHide (FXObject *, FXSelector, void *)
long onUpdToggleShown (FXObject *, FXSelector, void *)
long onCmdToggleShown (FXObject *, FXSelector, void *)
long onCmdRaise (FXObject *, FXSelector, void *)
long onCmdLower (FXObject *, FXSelector, void *)
long onCmdEnable (FXObject *, FXSelector, void *)
long onCmdDisable (FXObject *, FXSelector, void *)
long onUpdToggleEnabled (FXObject *, FXSelector, void *)
long onCmdToggleEnabled (FXObject *, FXSelector, void *)
long onUpdYes (FXObject *, FXSelector, void *)
long onCmdDelete (FXObject *, FXSelector, void *)
 FXWindow (FXComposite *p, FXuint opts=0, FXint x=0, FXint y=0, FXint w=0, FXint h=0)
 Constructor.
FXWindowgetParent () const
 Return a pointer to the parent window.
FXWindowgetOwner () const
 Return a pointer to the owner window.
FXWindowgetShell () const
 Return a pointer to the shell window.
FXWindowgetRoot () const
 Return a pointer to the root window.
FXWindowgetNext () const
 Return a pointer to the next (sibling) window, if any.
FXWindowgetPrev () const
 Return a pointer to the previous (sibling) window , if any.
FXWindowgetFirst () const
 Return a pointer to this window's first child window , if any.
FXWindowgetLast () const
 Return a pointer to this window's last child window, if any.
FXWindowgetFocus () const
 Return a pointer to the currently focused child window.
virtual WindowClass getWindowClass () const
 Get window class.
void setKey (FXuint k)
 Change window key.
FXuint getKey () const
 Return window key.
FXWindowgetChildWithKey (FXuint k) const
 Return child window with given window key.
void setTarget (FXObject *t)
 Set the message target object for this window.
FXObjectgetTarget () const
 Get the message target object for this window, if any.
void setSelector (FXSelector sel)
 Set the message identifier for this window.
FXSelector getSelector () const
 Get the message identifier for this window.
FXint getX () const
 Get this window's x-coordinate, in the parent's coordinate system.
FXint getY () const
 Get this window's y-coordinate, in the parent's coordinate system.
virtual FXint getWidthForHeight (FXint givenheight)
 Return width for given height.
virtual FXint getHeightForWidth (FXint givenwidth)
 Return height for given width.
void setX (FXint x)
 Set this window's x-coordinate, in the parent's coordinate system.
void setY (FXint y)
 Set this window's y-coordinate, in the parent's coordinate system.
void setWidth (FXint w)
 Set the window width; and flag the widget as being in need of layout by its parent.
void setHeight (FXint h)
 Set the window height; and flag the widget as being in need of layout by its parent.
void setLayoutHints (FXuint lout)
 Set layout hints for this window.
FXuint getLayoutHints () const
 Get layout hints for this window.
FXAccelTablegetAccelTable () const
 Return a pointer to the accelerator table.
void setAccelTable (FXAccelTable *acceltable)
 Set the accelerator table.
void addHotKey (FXHotKey code)
 Add a hot key.
void remHotKey (FXHotKey code)
 Remove a hot key.
void setHelpTag (const FXString &text)
 Change help tag for this widget.
const FXStringgetHelpTag () const
 Get the help tag for this widget.
FXbool isShell () const
 Return true if window is a shell window.
FXbool isOwnerOf (const FXWindow *window) const
 Return true if specified window is owned by this window.
FXbool isChildOf (const FXWindow *window) const
 Return true if specified window is ancestor of this window.
FXbool containsChild (const FXWindow *child) const
 Return true if this window contains child in its subtree.
FXWindowgetChildAt (FXint x, FXint y) const
 Return the child window at specified coordinates.
FXint numChildren () const
 Return the number of child windows for this window.
FXint indexOfChild (const FXWindow *window) const
 Return the index (starting from zero) of the specified child window, or -1 if the window is not a child or NULL.
FXWindowchildAtIndex (FXint index) const
 Return the child window at specified index, or NULL if the index is negative or out of range.
FXComposeContextgetComposeContext () const
 Return compose context.
void createComposeContext ()
 Create compose context.
void destroyComposeContext ()
 Destroy compose context.
FXbool cursorShown () const
 Is cursor shown.
void showCursor (FXbool flag=true)
 Show or hide the cursor.
void setDefaultCursor (FXCursor *cur)
 Set the default cursor for this window.
FXCursorgetDefaultCursor () const
 Return the default cursor for this window.
void setDragCursor (FXCursor *cur)
 Set the drag cursor for this window.
FXCursorgetDragCursor () const
 Return the drag cursor for this window.
FXbool getCursorPosition (FXint &x, FXint &y, FXuint &buttons) const
 Return the cursor position and mouse button-state.
FXbool setCursorPosition (FXint x, FXint y)
 Warp the cursor to the new position.
FXbool isActive () const
 Return true if the window is active.
FXbool hasFocus () const
 Return true if this window has the focus.
FXbool inFocusChain () const
 Return true if this window is in focus chain.
FXbool isDefault () const
 Return true if this is the default window.
virtual void setDefault (FXuchar flag=true)
 This changes the default window which responds to the Return key in a dialog.
FXWindowfindDefault () const
 Find default window among this window's children.
FXbool isInitial () const
 Return true if this is the initial default window.
void setInitial (FXbool flag=true)
 Make this window the initial default window.
FXWindowfindInitial () const
 Find inital default window among this window's children.
FXbool isEnabled () const
 Return true if this window is able to receive mouse and keyboard events.
virtual void enable ()
 Enable the window to receive mouse and keyboard events.
virtual void disable ()
 Disable the window from receiving mouse and keyboard events.
virtual void attach (FXID w)
 Attach foreign window handle to this window.
virtual void setShape (const FXRegion &region)
 Set window shape by means of region.
virtual void setShape (FXBitmap *bitmap)
 Set window shape by means of bitmap.
virtual void setShape (FXIcon *icon)
 Set window shape by means of icon.
virtual void clearShape ()
 Clear window shape.
virtual void raise ()
 Raise this window to the top of the stacking order.
virtual void lower ()
 Lower this window to the bottom of the stacking order.
virtual void move (FXint x, FXint y)
 Move the window immediately, in the parent's coordinate system.
virtual void resize (FXint w, FXint h)
 Resize the window to the specified width and height immediately, updating the server representation as well, if the window was realized.
virtual void position (FXint x, FXint y, FXint w, FXint h)
 Move and resize the window immediately, in the parent's coordinate system.
void forceRefresh ()
 Generate a SEL_UPDATE message for the window and its children.
virtual void reparent (FXWindow *father, FXWindow *other=NULL)
 Reparent this window under new father before other.
void scroll (FXint x, FXint y, FXint w, FXint h, FXint dx, FXint dy) const
 Scroll rectangle x,y,w,h by a shift of dx,dy.
void update (FXint x, FXint y, FXint w, FXint h) const
 Mark the specified rectangle to be repainted later.
void update () const
 Mark the entire window to be repainted later.
void repaint (FXint x, FXint y, FXint w, FXint h) const
 Process any outstanding repaint messages immediately, for the given rectangle.
void repaint () const
 Process any outstanding repaint messages immediately.
FXbool grabbed () const
 Return true if the window has been grabbed.
void grab ()
 Grab the mouse to this window; future mouse events will be reported to this window even while the cursor goes outside of this window.
void ungrab ()
 Release the mouse grab.
FXbool grabbedKeyboard () const
 Return true if active grab is in effect.
void grabKeyboard ()
 Grab keyboard device.
void ungrabKeyboard ()
 Ungrab keyboard device.
FXbool shown () const
 Return true if the window is shown.
virtual void show ()
 Show this window.
virtual void hide ()
 Hide this window.
FXbool underCursor () const
 Return true if the window is under the cursor.
FXbool hasSelection () const
 Return true if this window owns the primary selection.
FXbool acquireSelection (const FXDragType *types, FXuint numtypes)
 Try to acquire the primary selection, given a list of drag types.
FXbool releaseSelection ()
 Release the primary selection.
FXbool hasClipboard () const
 Return true if this window owns the clipboard.
FXbool acquireClipboard (const FXDragType *types, FXuint numtypes)
 Try to acquire the clipboard, given a list of drag types.
FXbool releaseClipboard ()
 Release the clipboard.
FXbool isDropEnabled () const
 Return true if this window is able to receive drops.
virtual void dropEnable ()
 Enable this window to receive drops.
virtual void dropDisable ()
 Disable this window from receiving drops.
FXbool isDragging () const
 Return true if a drag operaion has been initiated from this window.
FXbool beginDrag (const FXDragType *types, FXuint numtypes)
 Initiate a drag operation with a list of previously registered drag types.
FXbool handleDrag (FXint x, FXint y, FXDragAction action=DRAG_COPY)
 When dragging, inform the drop-target of the new position and the drag action.
FXDragAction endDrag (FXbool drop=true)
 Terminate the drag operation with or without actually dropping the data Returns the action performed by the target.
FXbool isDropTarget () const
 Return true if this window is the target of a drop.
void setDragRectangle (FXint x, FXint y, FXint w, FXint h, FXbool wantupdates=true) const
 When being dragged over, indicate that no further SEL_DND_MOTION messages are required while the cursor is inside the given rectangle.
void clearDragRectangle () const
 When being dragged over, indicate we want to receive SEL_DND_MOTION messages every time the cursor moves.
void acceptDrop (FXDragAction action=DRAG_ACCEPT) const
 When being dragged over, indicate acceptance or rejection of the dragged data.
FXDragAction didAccept () const
 The target accepted our drop.
void dropFinished (FXDragAction action=DRAG_REJECT) const
 Sent by the drop target in response to SEL_DND_DROP.
FXbool inquireDNDTypes (FXDNDOrigin origin, FXDragType *&types, FXuint &numtypes) const
 When being dragged over, inquire the drag types which are being offered.
FXbool offeredDNDType (FXDNDOrigin origin, FXDragType type) const
 When being dragged over, return true if we are offered the given drag type.
FXDragAction inquireDNDAction () const
 When being dragged over, return the drag action.
FXbool setDNDData (FXDNDOrigin origin, FXDragType type, FXuchar *data, FXuint size) const
 Set DND data; the array must be allocated with allocElms() and ownership is transferred to the system.
FXbool setDNDData (FXDNDOrigin origin, FXDragType type, const FXString &string) const
 Set DND data from string value.
FXbool getDNDData (FXDNDOrigin origin, FXDragType type, FXuchar *&data, FXuint &size) const
 Get DND data; the caller becomes the owner of the array and must free it with freeElms().
FXbool getDNDData (FXDNDOrigin origin, FXDragType type, FXString &string) const
 Get DND data into string value.
virtual FXbool contains (FXint parentx, FXint parenty) const
 Return true if window logically contains the given point.
void translateCoordinatesFrom (FXint &tox, FXint &toy, const FXWindow *fromwindow, FXint fromx, FXint fromy) const
 Translate coordinates from fromwindow's coordinate space to this window's coordinate space.
void translateCoordinatesTo (FXint &tox, FXint &toy, const FXWindow *towindow, FXint fromx, FXint fromy) const
 Translate coordinates from this window's coordinate space to towindow's coordinate space.
virtual void setBackColor (FXColor clr)
 Set window background color.
FXColor getBackColor () const
 Get background color.
virtual FXbool doesSaveUnder () const
 Does save-unders.
virtual const FXchar * tr (const FXchar *text, const FXchar *hint=NULL, FXint count=-1) const FX_FORMAT(2)
 Translate message for localization; using the current FXTranslator, an attempt is made to translate the given message into the current language.
virtual ~FXWindow ()
 Destroy window.
- Public Member Functions inherited from FX::FXDrawable
FXVisualgetVisual () const
 Get the visual.
FXint getWidth () const
 Width of drawable.
FXint getHeight () const
 Height of drawable.
void setVisual (FXVisual *vis)
 Change visual.
virtual ~FXDrawable ()
 Cleanup.
- Public Member Functions inherited from FX::FXId
FXAppgetApp () const
 Get application.
FXID id () const
 Get XID handle.
void setUserData (FXptr ptr)
 Set user data pointer.
FXptr getUserData () const
 Get user data pointer.
virtual ~FXId ()
 Destructor.
- Public Member Functions inherited from FX::FXObject
const FXchar * getClassName () const
 Get class name of some object.
FXbool isMemberOf (const FXMetaClass *metaclass) const
 Check if object is member of metaclass.
virtual long tryHandle (FXObject *sender, FXSelector sel, void *ptr)
 Try handle message safely, catching certain exceptions.
virtual long onDefault (FXObject *, FXSelector, void *)
 Called for unhandled messages.
virtual ~FXObject ()
 Virtual destructor.

Static Public Attributes

static FXDragType csvType
static const FXchar csvTypeName []

Protected Types

enum  { MOUSE_NONE, MOUSE_SCROLL, MOUSE_DRAG, MOUSE_SELECT }

Protected Member Functions

virtual void moveContents (FXint x, FXint y)
virtual void drawCell (FXDC &dc, FXint sr, FXint er, FXint sc, FXint ec)
virtual void drawRange (FXDC &dc, FXint rlo, FXint rhi, FXint clo, FXint chi)
virtual void drawHGrid (FXDC &dc, FXint rlo, FXint rhi, FXint clo, FXint chi)
virtual void drawVGrid (FXDC &dc, FXint rlo, FXint rhi, FXint clo, FXint chi)
virtual void drawContents (FXDC &dc, FXint x, FXint y, FXint w, FXint h)
virtual FXTableItemcreateItem (const FXString &text, FXIcon *icon, void *ptr)
virtual FXWindowgetControlForItem (FXint r, FXint c)
virtual void setItemFromControl (FXint r, FXint c, FXWindow *control)
- Protected Member Functions inherited from FX::FXScrollArea
 FXScrollArea (FXComposite *p, FXuint opts, FXint x, FXint y, FXint w, FXint h)
FXbool startAutoScroll (FXEvent *event, FXbool onlywheninside=false)
void stopAutoScroll ()
void placeScrollBars (FXint vw, FXint vh)
- Protected Member Functions inherited from FX::FXComposite
 FXComposite (FXApp *a, FXVisual *vis)
 FXComposite (FXApp *a, FXWindow *own, FXuint opts, FXint x, FXint y, FXint w, FXint h)
- Protected Member Functions inherited from FX::FXWindow
 FXWindow (FXApp *a, FXVisual *vis)
 FXWindow (FXApp *a, FXWindow *own, FXuint opts, FXint x, FXint y, FXint w, FXint h)
virtual FXbool doesOverrideRedirect () const
void addColormapWindows ()
void remColormapWindows ()
- Protected Member Functions inherited from FX::FXDrawable
 FXDrawable (FXApp *a, FXint w, FXint h)
- Protected Member Functions inherited from FX::FXId
 FXId (FXApp *a)

Protected Attributes

FXHeadercolHeader
FXHeaderrowHeader
FXButtoncornerButton
FXTableItem ** cells
FXWindoweditor
FXFontfont
FXint nrows
FXint ncols
FXint visiblerows
FXint visiblecols
FXint margintop
FXint marginbottom
FXint marginleft
FXint marginright
FXColor textColor
FXColor baseColor
FXColor hiliteColor
FXColor shadowColor
FXColor borderColor
FXColor selbackColor
FXColor seltextColor
FXColor gridColor
FXColor stippleColor
FXColor cellBorderColor
FXint cellBorderWidth
FXColor cellBackColor [2][2]
FXint defColWidth
FXint defRowHeight
FXTablePos current
FXTablePos anchor
FXTableRange input
FXTableRange selection
FXString clipped
FXbool hgrid
FXbool vgrid
FXuchar mode
FXint grabx
FXint graby
FXint rowcol
FXString help
- Protected Attributes inherited from FX::FXScrollArea
FXScrollBarhorizontal
FXScrollBarvertical
FXScrollCornercorner
FXint pos_x
FXint pos_y

Detailed Description

The Table widget displays a table of items, each with a text and optional icon.

A column Header control provide captions for each column, and a row Header control provides captions for each row. Columns are resizable by means of the column Header control if the TABLE_COL_SIZABLE option is passed. Likewise, rows in the table are resizable if the TABLE_ROW_SIZABLE option is specified. An entire row (column) can be selected by clicking on the a button in the row (column) Header control. Passing TABLE_NO_COLSELECT disables column selection, and passing TABLE_NO_ROWSELECT disables column selection. When setColumnRenumbering() is called, column captions are automatically renumbered when columns are added or removed, according to the label computed by the renumbering function. Likewise, setRowRenumbering() will cause row numbers to be recalculated automatically when rows are added or removed. The column and row renumbering functions to not have to be the same. Passing a NULL renumbering function will turn automatic renumbering off; this is the default. To disable editing of cells in the table, the TABLE_READONLY can be specified. Cells in the table may or may not have items in them. When populating a cell for the first time, an item will be automatically created if necessary. Thus, a cell in the table takes no space unless it has actual contents. Moreover, a contiguous, rectangular region of cells in the table may refer to one single item; in that case, the item will be stretched to cover all the cells in the region, and no grid lines will be drawn interior to the spanning item. The Table widget issues SEL_SELECTED or SEL_DESELECTED when cells are selected or deselected, respectively. The table position affected is passed along as the 3rd parameter of these messages. Whenever the current (focus) item is changed, a SEL_CHANGED message is sent with the new table position as a parameter. When items are added to the table, a SEL_INSERTED message is sent, with the table range of the newly added cells as the parameter in the message. When items are removed from the table, a SEL_DELETED message is sent prior to the removal of the items, and the table range of the removed cells is passed as a parameter. A SEL_REPLACED message is sent when the contents of a cell are changed, either through editing or by other means; the parameter is the range of affected cells. This message is sent prior to the change. SEL_CLICKED, SEL_DOUBLECLICKED, and SEL_TRIPLECLICKED messages are sent when a cell is clicked, double-clicked, or triple-clicked, respectively. A SEL_COMMAND is sent when an enabled item is clicked inside the table.


Constructor & Destructor Documentation

FX::FXTable::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 
)

Construct a new table.

The table is initially empty, and reports a default size based on the scroll areas's scrollbar placement policy.


Member Function Documentation

virtual FXbool FX::FXTable::acceptInput ( FXbool  notify = false)
virtual

End input mode and accept the new value from the control.

The item in the cell will be set to the value from the control, and the control will be deleted. If true is passed, a SEL_REPLACED callback will be generated to signify to the target that this call has a new value. You can also accept the input by sending the table an ID_ACCEPT_INPUT message. Return true if the new value of the cell has been accepted.

virtual FXbool FX::FXTable::cancelInput ( )
virtual

Cancel input mode.

The input control is immediately deleted and the cell will retain its old value. You can also cancel input mode by sending the table an ID_CANCEL_INPUT message. Return true if editing of the cell has been cancelled.

FXint FX::FXTable::colAtX ( FXint  x) const

Determine column containing x.

Returns -1 if x left of first column, and ncols if x right of last column; otherwise, returns column in table containing x.

void FX::FXTable::overlayText ( FXint  startrow,
FXint  endrow,
FXint  startcol,
FXint  endcol,
const FXchar *  text,
FXint  size,
const FXchar *  cs = "\t,",
const FXchar *  rs = "\n",
FXbool  notify = false 
)

Overlay text over given cell range; the text is interpreted as a number of columns separated by a character from the set cs, and a number of rows separated by a character from the set rs.

Cells outside the given cell range are unaffected.

FXint FX::FXTable::rowAtY ( FXint  y) const

Determine row containing y.

Returns -1 if y above first row, and nrows if y below last row; otherwise, returns row in table containing y.

void FX::FXTable::setColumnHeaderMode ( FXuint  hint = LAYOUT_FIX_HEIGHT)

Change column header height mode to fixed or variable.

In variable height mode, the column header will size to fit the contents in it. In fixed mode, the size is explicitly set using setColumnHeaderHeight(). The default is to determine the column header height based on the contents, using the LAYOUT_MIN_HEIGHT option.

void FX::FXTable::setItemBorders ( FXint  row,
FXint  col,
FXuint  borders 
)

Change item borders style.

Borders on each side of the item can be turned controlled individually using FXTableItem::LBORDER, FXTableItem::RBORDER, FXTableItem::TBORDER and FXTableItem::BBORDER.

void FX::FXTable::setItemIconPosition ( FXint  row,
FXint  col,
FXuint  m 
)

Change relative position of icon and text of item.

Passing FXTableItem::BEFORE or FXTableItem::AFTER places the icon before or after the text, and passing FXTableItem::ABOVE or FXTableItem::BELOW places it above or below the text, respectively. The default is 0 which places the text on top of the icon.

void FX::FXTable::setItemJustify ( FXint  row,
FXint  col,
FXuint  justify 
)

Change item justification.

Horizontal justification is controlled by passing FXTableItem::RIGHT, FXTableItem::LEFT, or FXTableItem::CENTER_X. Vertical justification is controlled by FXTableItem::TOP, FXTableItem::BOTTOM, or FXTableItem::CENTER_Y. The default is a combination of FXTableItem::RIGHT and FXTableItem::CENTER_Y.

void FX::FXTable::setRowHeaderMode ( FXuint  hint = LAYOUT_FIX_WIDTH)

Change row header width mode to fixed or variable.

In variable width mode, the row header will size to fit the contents in it. In fixed mode, the size is explicitly set using setRowHeaderWidth(). The default is to determine the column header height based on the contents, using the LAYOUT_MIN_WIDTH option.

virtual FXbool FX::FXTable::startInput ( FXint  row,
FXint  col 
)
virtual

Start input mode for the cell at the given position.

An input control is created which is used to edit the cell; it is filled by the original item's contents if the cell contained an item. You can enter input mode also by sending the table an ID_START_INPUT message. Return true if editing of the cell has been started.


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

Copyright © 1997-2016 Jeroen van der Zijp