11 typedef struct W_TableColumn WMTableColumn
;
12 typedef struct W_TableView WMTableView
;
15 extern const char *WMTableViewSelectionDidChangeNotification
;
18 typedef struct WMTableColumnDelegate
{
20 void (*drawCell
)(struct WMTableColumnDelegate
*self
,
21 WMTableColumn
*column
, int row
, Drawable d
);
22 void (*drawSelectedCell
)(struct WMTableColumnDelegate
*self
,
23 WMTableColumn
*column
, int row
, Drawable d
);
25 void (*beginCellEdit
)(struct WMTableColumnDelegate
*self
, WMTableColumn
*column
,
27 void (*endCellEdit
)(struct WMTableColumnDelegate
*self
, WMTableColumn
*column
,
29 } WMTableColumnDelegate
;
32 typedef struct W_TableViewDelegate
{
34 int (*numberOfRows
)(struct W_TableViewDelegate
*self
,
36 void *(*valueForCell
)(struct W_TableViewDelegate
*self
,
37 WMTableColumn
*column
, int row
);
38 void (*setValueForCell
)(struct W_TableViewDelegate
*self
,
39 WMTableColumn
*column
, int row
, void *value
);
40 } WMTableViewDelegate
;
46 WMTableColumn
*WMCreateTableColumn(char *title
);
48 void WMSetTableColumnWidth(WMTableColumn
*column
, unsigned width
);
50 void WMSetTableColumnConstraints(WMTableColumn
*column
,
51 unsigned minWidth
, unsigned maxWidth
);
53 void WMSetTableColumnDelegate(WMTableColumn
*column
,
54 WMTableColumnDelegate
*delegate
);
57 WMTableView
*WMGetTableColumnTableView(WMTableColumn
*column
);
59 void WMSetTableColumnId(WMTableColumn
*column
, void *id
);
61 void *WMGetTableColumnId(WMTableColumn
*column
);
64 WMTableView
*WMCreateTableView(WMWidget
*parent
);
67 void WMSetTableViewDataSource(WMTableView
*table
, void *source
);
69 void *WMGetTableViewDataSource(WMTableView
*table
);
71 void WMSetTableViewHeaderHeight(WMTableView
*table
, unsigned height
);
73 void WMAddTableViewColumn(WMTableView
*table
, WMTableColumn
*column
);
75 void WMSetTableViewDelegate(WMTableView
*table
, WMTableViewDelegate
*delegate
);
77 void WMSetTableViewAction(WMTableView
*table
, WMAction
*action
,
80 void *WMGetTableViewClickedColumn(WMTableView
*table
);
82 int WMGetTableViewClickedRow(WMTableView
*table
);
84 WMArray
*WMGetTableViewSelectedRows(WMTableView
*table
);
86 WMView
*WMGetTableViewDocumentView(WMTableView
*table
);
88 void WMEditTableViewRow(WMTableView
*table
, int row
);
90 void WMSelectTableViewRow(WMTableView
*table
, int row
);
92 void *WMTableViewDataForCell(WMTableView
*table
, WMTableColumn
*column
,
95 void WMSetTableViewDataForCell(WMTableView
*table
, WMTableColumn
*column
,
98 WMRect
WMTableViewRectForCell(WMTableView
*table
, WMTableColumn
*column
,
101 void WMSetTableViewBackgroundColor(WMTableView
*table
, WMColor
*color
);
103 void WMSetTableViewGridColor(WMTableView
*table
, WMColor
*color
);
105 void WMSetTableViewRowHeight(WMTableView
*table
, int height
);
107 void WMReloadTableView(WMTableView
*table
);
109 void WMNoteTableViewNumberOfRowsChanged(WMTableView
*table
);
111 void WMScrollTableViewRowToVisible(WMTableView
*table
, int row
);