summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--table_windows.c4
-rw-r--r--wintable/includethis.h4
-rw-r--r--wintable/select.h3
3 files changed, 10 insertions, 1 deletions
diff --git a/table_windows.c b/table_windows.c
index dbbcde2..8d92a8e 100644
--- a/table_windows.c
+++ b/table_windows.c
@@ -30,7 +30,9 @@ static LRESULT CALLBACK tableSubProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM
case tableNotificationCellCheckboxToggled:
tableToggled(gotable, tnm->row, tnm->column);
return 0;
- // TODO selection changed
+ case tableNotificationSelectionChanged:
+ tableSelectionChanged(gotable);
+ return 0;
}
return (*fv_DefSubclassProc)(hwnd, uMsg, wParam, lParam);
/* TODO
diff --git a/wintable/includethis.h b/wintable/includethis.h
index 25836ef..4c7ee2a 100644
--- a/wintable/includethis.h
+++ b/wintable/includethis.h
@@ -40,6 +40,10 @@ enum {
// data is zero
// no return
tableNotificationCellCheckboxToggled,
+ // sent even on deselection (in that case, row == -1 and column == -1)
+ // data is zero
+ // no return
+ tableNotificationSelectionChanged,
};
typedef struct tableNM tableNM;
diff --git a/wintable/select.h b/wintable/select.h
index 898865a..6ece240 100644
--- a/wintable/select.h
+++ b/wintable/select.h
@@ -105,6 +105,9 @@ noScroll:
NotifyWinEvent(EVENT_OBJECT_SELECTION, t->hwnd, OBJID_CLIENT, t->selectedRow);
// TODO send EVENT_OBJECT_STATECHANGED too?
// TODO send EVENT_OBJECT_FOCUS
+
+ // TODO before or after NotifyWinEvent()? (see what other things I'm doing)
+ notify(t, tableNotificationSelectionChanged, t->selectedRow, t->selectedColumn, 0);
}
// TODO make this needless