3 #include <WINGs/WINGs.h>
6 #include "wtableview.h"
7 #include "wtabledelegates.h"
10 static char *col1
[20] = {0};
14 static char *options
[] = {
24 numberOfRows(WMTableViewDelegate
*self
, WMTableView
*table
)
31 valueForCell(WMTableViewDelegate
*self
, WMTableColumn
*column
, int row
)
33 /*WMTableView *table = (WMTableView*)WMGetTableColumnTableView(column);*/
36 for (i
= 0; i
< 20; i
++) {
39 sprintf(buf
, "Test row %i", i
);
41 col1
[i
] = wstrdup(buf
);
45 if ((int)(uintptr_t)WMGetTableColumnId(column
) == 1)
48 return (void*)(uintptr_t)col2
[row
];
53 setValueForCell(WMTableViewDelegate
*self
, WMTableColumn
*column
, int row
,
56 if ((int)(uintptr_t)WMGetTableColumnId(column
) == 1)
59 col2
[row
] = (int)(uintptr_t)data
;
63 static WMTableViewDelegate delegate
= {
73 clickedTable(WMWidget
*w
, void *self
)
75 int row
= WMGetTableViewClickedRow((WMTableView
*)self
);
77 WMEditTableViewRow(self
, row
);
83 main(int argc
, char **argv
)
89 WMTableColumnDelegate
*colDeleg
;
91 WMInitializeApplication("test", &argc
, argv
);
93 scr
= WMOpenScreen(NULL
);
95 XSynchronize(WMScreenDisplay(scr
), 1);
97 win
= WMCreateWindow(scr
, "eweq");
98 WMResizeWidget(win
, 400, 200);
101 table
= WMCreateTableView(win
);
102 WMSetTableViewHasHorizontalScroller(table
, 0);
103 WMSetViewExpandsToParent(WMWidgetView(table
), 10, 10, 10, 10);
104 WMSetTableViewBackgroundColor(table
, WMWhiteColor(scr
));
105 /*WMSetTableViewGridColor(table, WMGrayColor(scr));*/
106 WMSetTableViewHeaderHeight(table
, 20);
107 WMSetTableViewDelegate(table
, &delegate
);
108 WMSetTableViewAction(table
, clickedTable
, table
);
110 colDeleg
= WTCreateStringEditorDelegate(table
);
112 col
= WMCreateTableColumn("Group");
113 WMSetTableColumnWidth(col
, 180);
114 WMAddTableViewColumn(table
, col
);
115 WMSetTableColumnDelegate(col
, colDeleg
);
116 WMSetTableColumnId(col
, (void*)1);
118 colDeleg
= WTCreateEnumSelectorDelegate(table
);
119 WTSetEnumSelectorOptions(colDeleg
, options
, 5);
121 col
= WMCreateTableColumn("Package");
122 WMSetTableColumnWidth(col
, 140);
123 WMAddTableViewColumn(table
, col
);
124 WMSetTableColumnDelegate(col
, colDeleg
);
125 WMSetTableColumnId(col
, (void*)2);
127 colDeleg
= WTCreateBooleanSwitchDelegate(table
);
129 col
= WMCreateTableColumn("Bool");
130 WMSetTableColumnWidth(col
, 50);
131 WMAddTableViewColumn(table
, col
);
132 WMSetTableColumnDelegate(col
, colDeleg
);
133 WMSetTableColumnId(col
, (void*)2);
136 WMRealizeWidget(win
);
137 WMScreenMainLoop(scr
);