Mercurial > dwindows
comparison os2/dw.c @ 2468:f5fd34dfb9c7
OS/2: Include the row data in the container context signal.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Wed, 14 Apr 2021 23:59:22 +0000 |
parents | 0286ac44d347 |
children | fa976a5bc7bd |
comparison
equal
deleted
inserted
replaced
2467:4d1f370bf65e | 2468:f5fd34dfb9c7 |
---|---|
3213 int (API_FUNC containercontextfunc)(HWND, char *, int, int, void *, void *) = (int (API_FUNC)(HWND, char *, int, int, void *, void *))tmp->signalfunction; | 3213 int (API_FUNC containercontextfunc)(HWND, char *, int, int, void *, void *) = (int (API_FUNC)(HWND, char *, int, int, void *, void *))tmp->signalfunction; |
3214 char *text = NULL; | 3214 char *text = NULL; |
3215 void *user = NULL; | 3215 void *user = NULL; |
3216 LONG x,y; | 3216 LONG x,y; |
3217 | 3217 |
3218 if(mp2) | |
3219 { | |
3220 PCNRITEM pci; | |
3221 | |
3222 pci = (PCNRITEM)mp2; | |
3223 | |
3224 text = (char *)pci->rc.pszIcon; | |
3225 user = pci->user; | |
3226 } | |
3227 | |
3228 dw_pointer_query_pos(&x, &y); | 3218 dw_pointer_query_pos(&x, &y); |
3229 | 3219 |
3230 if(tmp->window == notifyhwnd) | 3220 if(tmp->window == notifyhwnd) |
3231 { | 3221 { |
3232 int container = (int)dw_window_get_data(tmp->window, "_dw_container"); | 3222 int container = (int)dw_window_get_data(tmp->window, "_dw_container"); |
3233 | 3223 |
3234 if(mp2) | 3224 if(mp2) |
3235 { | 3225 { |
3226 PCNRITEM pci = (PCNRITEM)mp2; | |
3227 | |
3228 text = (char *)pci->rc.pszIcon; | |
3229 | |
3236 if(!container) | 3230 if(!container) |
3237 { | 3231 { |
3238 NOTIFYRECORDEMPHASIS pre; | 3232 NOTIFYRECORDEMPHASIS pre; |
3239 | 3233 |
3240 dw_tree_item_select(tmp->window, (HTREEITEM)mp2); | 3234 dw_tree_item_select(tmp->window, (HTREEITEM)mp2); |
3241 pre.pRecord = mp2; | 3235 pre.pRecord = mp2; |
3242 pre.fEmphasisMask = CRA_CURSORED; | 3236 pre.fEmphasisMask = CRA_CURSORED; |
3243 pre.hwndCnr = tmp->window; | 3237 pre.hwndCnr = tmp->window; |
3244 _run_event(hWnd, WM_CONTROL, MPFROM2SHORT(0, CN_EMPHASIS), (MPARAM)&pre); | 3238 _run_event(hWnd, WM_CONTROL, MPFROM2SHORT(0, CN_EMPHASIS), (MPARAM)&pre); |
3245 pre.pRecord->flRecordAttr |= CRA_CURSORED; | 3239 pre.pRecord->flRecordAttr |= CRA_CURSORED; |
3240 user = pci->user; | |
3246 } | 3241 } |
3247 else | 3242 else |
3248 { | 3243 { |
3244 PRECORDCORE rc = (PRECORDCORE)mp2; | |
3245 | |
3249 if(pCoreEmph) | 3246 if(pCoreEmph) |
3250 _clear_emphasis(); | 3247 _clear_emphasis(); |
3251 hwndEmph = tmp->window; | 3248 hwndEmph = tmp->window; |
3252 pCoreEmph = mp2; | 3249 pCoreEmph = mp2; |
3253 WinSendMsg(tmp->window, CM_SETRECORDEMPHASIS, mp2, MPFROM2SHORT(TRUE, CRA_SOURCE)); | 3250 WinSendMsg(tmp->window, CM_SETRECORDEMPHASIS, mp2, MPFROM2SHORT(TRUE, CRA_SOURCE)); |
3251 user = rc->pszText; | |
3254 } | 3252 } |
3255 } | 3253 } |
3256 result = containercontextfunc(tmp->window, text, x, y, tmp->data, user); | 3254 result = containercontextfunc(tmp->window, text, x, y, tmp->data, user); |
3257 tmp = NULL; | 3255 tmp = NULL; |
3258 } | 3256 } |