summaryrefslogtreecommitdiff
path: root/table_windows.c
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2015-02-17 21:29:41 -0500
committerPietro Gagliardi <[email protected]>2015-02-17 21:29:41 -0500
commit749d1d75a67728f2315ced3e3faf13af1ce7ae34 (patch)
treec04f008ac9ba173488c33e026ab4265c18b40b8b /table_windows.c
parent5d6054a896554d811d92b844940b67a07d015907 (diff)
More Windows Table work.
Diffstat (limited to 'table_windows.c')
-rw-r--r--table_windows.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/table_windows.c b/table_windows.c
index d117a48..843e5d2 100644
--- a/table_windows.c
+++ b/table_windows.c
@@ -11,22 +11,20 @@ LPWSTR xtableWindowClass = tableWindowClass;
static LRESULT CALLBACK tableSubProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR id, DWORD_PTR data)
{
NMHDR *nmhdr = (NMHDR *) lParam;
+ tableNM *tnm = (tableNM *) lParam;
void *gotable = (void *) data;
switch (uMsg) {
case msgNOTIFY:
switch (nmhdr->code) {
- case LVN_GETDISPINFO:
- tableGetCell(t->gotable, &(fill->item));
- return 0;
- case LVN_ITEMCHANGED:
- if ((nlv->uChanged & LVIF_STATE) == 0)
- break;
- // if both old and new states have the same value for the selected bit, then the selection state did not change, regardless of selected or deselected
- if ((nlv->uOldState & LVIS_SELECTED) == (nlv->uNewState & LVIS_SELECTED))
- break;
- tableSelectionChanged(t->gotable);
+ case tableNotificationGetCellData:
+ return tableGetCell(gotable, tnm);
+ case tableNotificationFinishedWithCellData:
+ tableFreeCellData(gotable, tnm->data);
return 0;
+ case tableNotificationCellCheckboxToggled:
+ // TODO
+ // TODO selection changed
}
return (*fv_DefSubclassProc)(hwnd, uMsg, wParam, lParam);
/* TODO