diff options
Diffstat (limited to 'table_windows.c')
| -rw-r--r-- | table_windows.c | 18 |
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 |
