Files
wmaker/WINGs/Extras/wtableview.h
T

122 lines
3.4 KiB
C
Raw Normal View History

2000-11-12 03:29:53 +00:00
#ifndef _WTABLEVIEW_H_
#define _WTABLEVIEW_H_
#ifdef __cplusplus
extern "C" {
#endif
typedef struct W_TableColumn WMTableColumn;
typedef struct W_TableView WMTableView;
2001-01-02 14:17:26 +00:00
extern const char *WMTableViewSelectionDidChangeNotification;
2000-12-21 04:46:20 +00:00
2000-11-12 03:29:53 +00:00
typedef struct WMTableColumnDelegate {
void *data;
2001-05-17 22:30:38 +00:00
void (*drawCell)(struct WMTableColumnDelegate *self,
2004-10-12 21:28:27 +00:00
WMTableColumn *column, int row, Drawable d);
2000-12-21 04:46:20 +00:00
void (*drawSelectedCell)(struct WMTableColumnDelegate *self,
2004-10-12 21:28:27 +00:00
WMTableColumn *column, int row, Drawable d);
2001-05-17 22:30:38 +00:00
2000-12-21 04:46:20 +00:00
void (*beginCellEdit)(struct WMTableColumnDelegate *self, WMTableColumn *column,
2004-10-12 21:28:27 +00:00
int row);
2000-12-21 04:46:20 +00:00
void (*endCellEdit)(struct WMTableColumnDelegate *self, WMTableColumn *column,
2004-10-12 21:28:27 +00:00
int row);
2000-11-12 03:29:53 +00:00
} WMTableColumnDelegate;
typedef struct W_TableViewDelegate {
void *data;
2004-10-12 21:28:27 +00:00
int (*numberOfRows)(struct W_TableViewDelegate *self,
WMTableView *table);
void *(*valueForCell)(struct W_TableViewDelegate *self,
WMTableColumn *column, int row);
void (*setValueForCell)(struct W_TableViewDelegate *self,
WMTableColumn *column, int row, void *value);
2000-11-12 03:29:53 +00:00
} WMTableViewDelegate;
2004-10-12 21:28:27 +00:00
2000-11-12 03:29:53 +00:00
WMTableColumn *WMCreateTableColumn(char *title);
void WMSetTableColumnWidth(WMTableColumn *column, unsigned width);
2004-10-12 21:28:27 +00:00
void WMSetTableColumnConstraints(WMTableColumn *column,
unsigned minWidth, unsigned maxWidth);
void WMSetTableColumnDelegate(WMTableColumn *column,
WMTableColumnDelegate *delegate);
2000-11-12 03:29:53 +00:00
2001-01-02 14:17:26 +00:00
2000-11-12 03:29:53 +00:00
WMTableView *WMGetTableColumnTableView(WMTableColumn *column);
2004-10-12 21:28:27 +00:00
2000-11-12 03:29:53 +00:00
void WMSetTableColumnId(WMTableColumn *column, void *id);
void *WMGetTableColumnId(WMTableColumn *column);
2004-10-12 21:28:27 +00:00
2000-11-12 03:29:53 +00:00
WMTableView *WMCreateTableView(WMWidget *parent);
2004-10-12 21:28:27 +00:00
2000-11-12 03:29:53 +00:00
void WMSetTableViewDataSource(WMTableView *table, void *source);
void *WMGetTableViewDataSource(WMTableView *table);
void WMSetTableViewHeaderHeight(WMTableView *table, unsigned height);
2004-10-12 21:28:27 +00:00
2000-11-12 03:29:53 +00:00
void WMAddTableViewColumn(WMTableView *table, WMTableColumn *column);
void WMSetTableViewDelegate(WMTableView *table, WMTableViewDelegate *delegate);
2004-10-12 21:28:27 +00:00
void WMSetTableViewAction(WMTableView *table, WMAction *action,
void *clientData);
2001-01-02 14:17:26 +00:00
void *WMGetTableViewClickedColumn(WMTableView *table);
int WMGetTableViewClickedRow(WMTableView *table);
WMArray *WMGetTableViewSelectedRows(WMTableView *table);
2004-10-12 21:28:27 +00:00
2000-11-12 04:34:03 +00:00
WMView *WMGetTableViewDocumentView(WMTableView *table);
2000-11-12 03:29:53 +00:00
void WMEditTableViewRow(WMTableView *table, int row);
2001-01-02 14:17:26 +00:00
void WMSelectTableViewRow(WMTableView *table, int row);
2004-10-12 21:28:27 +00:00
void *WMTableViewDataForCell(WMTableView *table, WMTableColumn *column,
int row);
2000-11-12 03:29:53 +00:00
2004-10-12 21:28:27 +00:00
void WMSetTableViewDataForCell(WMTableView *table, WMTableColumn *column,
int row, void *data);
WMRect WMTableViewRectForCell(WMTableView *table, WMTableColumn *column,
int row);
2000-11-12 03:29:53 +00:00
void WMSetTableViewBackgroundColor(WMTableView *table, WMColor *color);
void WMSetTableViewGridColor(WMTableView *table, WMColor *color);
2004-10-12 21:28:27 +00:00
void WMSetTableViewRowHeight(WMTableView *table, int height);
void WMReloadTableView(WMTableView *table);
2001-01-02 14:17:26 +00:00
void WMNoteTableViewNumberOfRowsChanged(WMTableView *table);
2004-10-12 21:28:27 +00:00
void WMScrollTableViewRowToVisible(WMTableView *table, int row);
2004-10-12 21:28:27 +00:00
void WMSetTableViewHasHorizontalScroller(WMTableView *tPtr, Bool flag);
2000-11-12 03:29:53 +00:00
#ifdef __cplusplus
}
#endif
#endif