Changeset 2 for trunk/common.c
- Timestamp:
- Oct 26, 2012, 12:07:29 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/common.c ¶
r1 r2 163 163 { MENUITEM mi={0},mi1={0}; 164 164 POINTL ptl; 165 SHORT sItemId,sItemNum,sLastId ,k;165 SHORT sItemId,sItemNum,sLastId; 166 166 UCHAR ucBuf[64]; 167 167 HWND hwndSubmenu; … … 171 171 sItemId = SHORT1FROMMR(WinSendMsg(plswData->hwndMenu,MM_ITEMIDFROMPOSITION, 172 172 MPFROMSHORT(sItemNum-1),0)); 173 sItemNum = SHORT1FROMMR(WinSendMsg(plswData->hwndMenu,MM_DELETEITEM, 173 sItemNum = SHORT1FROMMR(WinSendMsg(plswData->hwndMenu, 174 sItemId==CMD_XCENTERSUBMENU?MM_REMOVEITEM:MM_DELETEITEM, 174 175 MPFROM2SHORT(sItemId,FALSE),0)); 175 176 } … … 249 250 WinSendMsg(plswData->hwndMenu, MM_INSERTITEM, MPFROMP(&mi), MPFROMP(ucBuf)); 250 251 } 252 #else 253 WinSetPresParam(plswData->pWidget->hwndContextMenu,PP_FONTNAMESIZE,7,"8.Helv"); 254 255 if (bTaskBar && iMenuAtItem >= 0) { 256 // now set the old context menu as submenu; 257 WinSendMsg(plswData->hwndMenu, MM_INSERTITEM, MPFROMP(&mi1), MPFROMP(ucBuf)); 258 259 mi.afAttribute = mi.hItem = 0; 260 mi.afStyle = MIS_TEXT | MIS_SUBMENU; 261 mi.id = CMD_XCENTERSUBMENU; 262 mi.hwndSubMenu = plswData->pWidget->hwndContextMenu; 263 WinLoadString(plswData->hab,plswData->hmodRes,STRID_XCENTERSUBMENU,sizeof(ucBuf),ucBuf); 264 sItemId = SHORT1FROMMR(WinSendMsg(plswData->hwndMenu, MM_INSERTITEM, MPFROMP(&mi),MPFROMP(ucBuf))); 265 } 251 266 #endif 252 267 268 WinQueryPointerPos(HWND_DESKTOP,&ptl); 253 269 #ifdef XWORKPLACE 254 // now copy the old context menu as submenu; 255 // this code adapted from XCenter winlist widget 256 if (bTaskBar) { 257 if (iMenuAtItem >= 0) { 258 WinSendMsg(plswData->hwndMenu, MM_INSERTITEM, MPFROMP(&mi1), MPFROMP(ucBuf)); 259 260 hwndSubmenu = WinCreateMenu(plswData->hwndMenu, NULL); 261 262 // WinSetWindowUShort(hwndSubmenu,QWS_ID,CMD_XCENTERSUBMENU); 263 264 mi.afAttribute = mi.hItem = 0; 265 mi.afStyle = MIS_TEXT | MIS_SUBMENU; 266 mi.id = CMD_XCENTERSUBMENU; 267 mi.hwndSubMenu = hwndSubmenu; 268 269 WinLoadString(plswData->hab,plswData->hmodRes,STRID_XCENTERSUBMENU,sizeof(ucBuf),ucBuf); 270 271 sItemId = SHORT1FROMMR(WinSendMsg(plswData->hwndMenu, MM_INSERTITEM, MPFROMP(&mi),MPFROMP(ucBuf))); 272 } else 273 sItemId = 0; 274 275 if (sItemId != MIT_MEMERROR && sItemId != MIT_ERROR) { 276 sItemNum = SHORT1FROMMR(WinSendMsg(plswData->pWidget->hwndContextMenu, 277 MM_QUERYITEMCOUNT, 0, 0)); 278 279 // loop through all entries in the original menu 280 for (k = 0; k < sItemNum; k++) { 281 sItemId = SHORT1FROMMR(WinSendMsg(plswData->pWidget->hwndContextMenu, 282 MM_ITEMIDFROMPOSITION, MPFROMSHORT(k), 0)); 283 // get this menu item into mi buffer 284 WinSendMsg(plswData->pWidget->hwndContextMenu, MM_QUERYITEM, 285 MPFROM2SHORT(sItemId, FALSE), MPFROMP(&mi)); 286 if (mi.id==ID_CRMI_PROPERTIES) mi.id = CMD_SHOWSETTINGS; 287 // query text of this menu entry into our buffer 288 WinSendMsg(plswData->pWidget->hwndContextMenu, MM_QUERYITEMTEXT, 289 MPFROM2SHORT(sItemId, sizeof(ucBuf)-1), MPFROMP(ucBuf)); 290 // add this entry to our new menu 291 mi.iPosition = MIT_END; 292 WinSendMsg(iMenuAtItem < 0 ? plswData->hwndMenu : hwndSubmenu, 293 MM_INSERTITEM, MPFROMP(&mi), MPFROMP(ucBuf)); 294 } 295 } 296 } 270 WinPopupMenu(HWND_DESKTOP, bTaskBar?plswData->hwndTaskBarClient:plswData->hwndPopClient, 271 (iMenuAtItem<0&&bTaskBar)?plswData->pWidget->hwndContextMenu:plswData->hwndMenu, 272 ptl.x, ptl.y,0, PU_HCONSTRAIN | PU_VCONSTRAIN | PU_MOUSEBUTTON1 | PU_MOUSEBUTTON2 | PU_KEYBOARD); 273 #else 274 WinPopupMenu(HWND_DESKTOP, bTaskBar?plswData->hwndTaskBarClient:plswData->hwndPopClient,plswData->hwndMenu, 275 ptl.x, ptl.y,0, PU_HCONSTRAIN | PU_VCONSTRAIN | PU_MOUSEBUTTON1 | PU_MOUSEBUTTON2 | PU_KEYBOARD); 297 276 #endif 298 299 WinQueryPointerPos(HWND_DESKTOP,&ptl);300 WinPopupMenu(HWND_DESKTOP, bTaskBar?plswData->hwndTaskBarClient:plswData->hwndPopClient, plswData->hwndMenu, ptl.x, ptl.y,301 0, PU_HCONSTRAIN | PU_VCONSTRAIN | PU_MOUSEBUTTON1 | PU_MOUSEBUTTON2 | PU_KEYBOARD);302 277 } 303 278
Note:
See TracChangeset
for help on using the changeset viewer.