quakeforge/ruamoko/qwaq/ui/tableview.h

52 lines
1 KiB
C
Raw Normal View History

#ifndef __qwaq_ui_tableview_h
#define __qwaq_ui_tableview_h
#include "ruamoko/qwaq/ui/view.h"
@class DrawBuffer;
@class TableView;
@class TableViewColumn;
@class Array;
2021-09-24 17:14:26 +00:00
@class ListenerGroup;
@protocol TableViewDataSource
2021-09-24 17:14:26 +00:00
-(ListenerGroup *)onRowCountChanged;
-(int)numberOfRows:(TableView *)tableview;
-(View *)tableView:(TableView *)tableView
forColumn:(TableViewColumn *)column
row:(int)row;
-retain;
-release;
@end
@interface TableViewColumn : Object
{
string name;
int width;
2020-03-31 13:03:56 +00:00
int growMode; // Y flags ignored
}
+(TableViewColumn *)named:(string)name;
+(TableViewColumn *)named:(string)name width:(int)width;
2020-03-31 13:03:56 +00:00
-setGrowMode: (int) mode;
-(int)growMode;
-(string)name;
-(int)width;
@end
@interface TableView : View
{
Array *columns;
DrawBuffer *buffer;
int columns_dirty;
id<TableViewDataSource> dataSource;
Point base;
}
+(TableView *)withRect:(Rect)rect;
-addColumn:(TableViewColumn *)column;
-setDataSource:(id<TableViewDataSource>)dataSource;
@end
#endif//__qwaq_ui_tableview_h