summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2015-04-09 18:54:14 -0400
committerPietro Gagliardi <[email protected]>2015-04-09 18:54:14 -0400
commit7400cda3dad212b58ebef5cabe1d66ebc4b9d69b (patch)
tree42d63a3b65726f805990d4cd35b009a059b8cd92
parent18a58e56fa2b0e7651b1ceb738fd14ffa5719f33 (diff)
Changed onWM_COMMAND() to give our controls only the notification code. We don't want to give the control the ID part of wParam because that's (or that'll be) dynamically assigned based on control parenting and prior controls; we don't want to give the control the LPARAM since that contains the window handle and uiControl already has that.
-rw-r--r--new/button_windows.c4
-rw-r--r--new/checkbox_windows.c4
-rw-r--r--new/entry_windows.c2
-rw-r--r--new/newcontrol_windows.c4
-rw-r--r--new/ui_windows.h2
5 files changed, 8 insertions, 8 deletions
diff --git a/new/button_windows.c b/new/button_windows.c
index c331e89..c57b778 100644
--- a/new/button_windows.c
+++ b/new/button_windows.c
@@ -6,11 +6,11 @@ struct button {
void *onClickedData;
};
-static BOOL onWM_COMMAND(uiControl *c, WPARAM wParam, LPARAM lParam, LRESULT *lResult)
+static BOOL onWM_COMMAND(uiControl *c, WORD code, LRESULT *lResult)
{
struct button *b = (struct button *) (c->data);
- if (HIWORD(wParam) != BN_CLICKED)
+ if (code != BN_CLICKED)
return FALSE;
(*(b->onClicked))(c, b->onClickedData);
*lResult = 0;
diff --git a/new/checkbox_windows.c b/new/checkbox_windows.c
index 55699a6..abe128d 100644
--- a/new/checkbox_windows.c
+++ b/new/checkbox_windows.c
@@ -6,13 +6,13 @@ struct checkbox {
void *onToggledData;
};
-static BOOL onWM_COMMAND(uiControl *c, WPARAM wParam, LPARAM lParam, LRESULT *lResult)
+static BOOL onWM_COMMAND(uiControl *c, WORD code, LRESULT *lResult)
{
struct checkbox *cc = (struct checkbox *) (c->data);
HWND hwnd;
WPARAM check;
- if (HIWORD(wParam) != BN_CLICKED)
+ if (code != BN_CLICKED)
return FALSE;
// we didn't use BS_AUTOCHECKBOX (see controls_windows.go) so we have to manage the check state ourselves
diff --git a/new/entry_windows.c b/new/entry_windows.c
index f8521b4..df4a91d 100644
--- a/new/entry_windows.c
+++ b/new/entry_windows.c
@@ -4,7 +4,7 @@
struct entry {
};
-static BOOL onWM_COMMAND(uiControl *c, WPARAM wParam, LPARAM lParam, LRESULT *lResult)
+static BOOL onWM_COMMAND(uiControl *c, WORD code, LRESULT *lResult)
{
return FALSE;
}
diff --git a/new/newcontrol_windows.c b/new/newcontrol_windows.c
index d2f4508..f95f67f 100644
--- a/new/newcontrol_windows.c
+++ b/new/newcontrol_windows.c
@@ -5,7 +5,7 @@ typedef struct singleHWND singleHWND;
struct singleHWND {
HWND hwnd;
- BOOL (*onWM_COMMAND)(uiControl *, WPARAM, LPARAM, LRESULT *);
+ BOOL (*onWM_COMMAND)(uiControl *, WORD, LRESULT *);
BOOL (*onWM_NOTIFY)(uiControl *, WPARAM, LPARAM, LRESULT *);
void (*onWM_DESTROY)(uiControl *);
uintptr_t parent;
@@ -65,7 +65,7 @@ static LRESULT CALLBACK singleSubclassProc(HWND hwnd, UINT uMsg, WPARAM wParam,
switch (uMsg) {
case msgCOMMAND:
- if ((*(s->onWM_COMMAND))(c, wParam, lParam, &lResult) != FALSE)
+ if ((*(s->onWM_COMMAND))(c, HIWORD(wParam), &lResult) != FALSE)
return lResult;
break;
case msgNOTIFY:
diff --git a/new/ui_windows.h b/new/ui_windows.h
index 4ade067..b89af3a 100644
--- a/new/ui_windows.h
+++ b/new/ui_windows.h
@@ -23,7 +23,7 @@ struct uiWindowsNewControlParams {
// Store the result in *lResult and return any non-FALSE value (such as TRUE) to return the given result; return FALSE to pass the notification up to your window procedure.
// Note that these are only issued if they come from the uiControl itself; notifications from children of the uiControl (such as a header control) will be received normally.
// TODO don't give WPARAM/LPARAM raw
- BOOL (*onWM_COMMAND)(uiControl *c, WPARAM wParam, LPARAM lParam, LRESULT *lResult);
+ BOOL (*onWM_COMMAND)(uiControl *c, WORD code, LRESULT *lResult);
BOOL (*onWM_NOTIFY)(uiControl *c, WPARAM wParam, LPARAM lParam, LRESULT *lResult);
// This is called in WM_DESTROY.
void (*onWM_DESTROY)(uiControl *c);