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 }