- Deminiaturizing a window that is also shaded, will perform an unshade too.
[wmaker-crm.git] / WINGs / Extras / wtableview.h
blob1ee852f9b5d0a2b896eb43506fccd74824a572ea
4 #ifndef _WTABLEVIEW_H_
5 #define _WTABLEVIEW_H_
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
11 typedef struct W_TableColumn WMTableColumn;
12 typedef struct W_TableView WMTableView;
15 extern const char *WMTableViewSelectionDidChangeNotification;
18 typedef struct WMTableColumnDelegate {
19 void *data;
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,
26 int row);
27 void (*endCellEdit)(struct WMTableColumnDelegate *self, WMTableColumn *column,
28 int row);
29 } WMTableColumnDelegate;
32 typedef struct W_TableViewDelegate {
33 void *data;
34 int (*numberOfRows)(struct W_TableViewDelegate *self,
35 WMTableView *table);
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,
78 void *clientData);
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,
93 int row);
95 void WMSetTableViewDataForCell(WMTableView *table, WMTableColumn *column,
96 int row, void *data);
98 WMRect WMTableViewRectForCell(WMTableView *table, WMTableColumn *column,
99 int row);
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);
112 #ifdef __cplusplus
114 #endif
116 #endif