- Timestamp:
- May 28, 2008, 12:46:14 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/plugins/org.eclipse.swt/Eclipse SWT/pm/org/eclipse/swt/widgets/Decorations.java
r75 r82 3 3 /* 4 4 * OS/2 version. 5 * Copyright (c) 2002, 200 4EclipseOS2 Team.5 * Copyright (c) 2002, 2008 EclipseOS2 Team. 6 6 */ 7 7 … … 302 302 maxAccel = items.length; 303 303 } 304 int size = ACCEL.sizeof; 305 ACCEL accel = new ACCEL (); 306 byte [] buffer1 = new byte [size]; 307 byte [] buffer2 = new byte [maxAccel * size]; 304 // int size = ACCEL.sizeof; 305 ACCELTABLE pacctAccelTable = new ACCELTABLE(); 306 ACCEL[] accelList = new ACCEL[maxAccel]; 307 // byte [] buffer1 = new byte [size]; 308 // byte [] buffer2 = new byte [maxAccel * size]; 308 309 if (menuBar != null && items != null) { 309 310 for (int i=0; i<items.length; i++) { … … 315 316 } 316 317 if (parent == menuBar) { 318 ACCEL accel = new ACCEL (); 317 319 item.fillAccel (accel); 318 OS.MoveMemory (buffer1, accel, size); 319 System.arraycopy (buffer1, 0, buffer2, nAccel * size, size); 320 accelList[nAccel] = accel; 321 // OS.MoveMemory (buffer1, accel, size); 322 // System.arraycopy (buffer1, 0, buffer2, nAccel * size, size); 320 323 nAccel++; 321 324 } 322 325 } 323 326 } 327 pacctAccelTable.cAccel = (short)nAccel; 328 //@@TEMP(lpino): in the future we should get this value from somewhere 329 pacctAccelTable.codepage = (short)437; 330 pacctAccelTable.aaccel = new ACCEL[nAccel]; 331 for(int i= 0;i < nAccel;i++) 332 pacctAccelTable.aaccel[i] = accelList[i]; 324 333 } 325 // hAccel = OS.WinCreateAccelTable(hab, pacctAccelTable); 326 if (nAccel != 0) hAccel = OS.CreateAcceleratorTable (buffer2, nAccel); 334 hAccel = OS.WinCreateAccelTable(getDisplay().hab, pacctAccelTable); 335 System.out.println("Decorations:createAcceleratorTable - Handle of accelerator table = " + hAccel); 336 if(!OS.WinSetAccelTable(getDisplay().hab, hAccel, frameHandle)){ 337 System.out.println("Decorations:createAcceleratorTable - Thread did not attach accelerator table to the frame"); 338 if(!OS.WinDestroyAccelTable(hAccel)) 339 System.out.println("Decorations:createAcceleratorTable - The accelerator table was not destroyed"); 340 } 341 // if (nAccel != 0) hAccel = OS.CreateAcceleratorTable (buffer2, nAccel); 327 342 } 328 343 … … 429 444 430 445 void destroyAcceleratorTable () { 431 if (hAccel != 0 && hAccel != -1) OS. DestroyAcceleratorTable (hAccel);446 if (hAccel != 0 && hAccel != -1) OS.WinDestroyAccelTable (hAccel); 432 447 hAccel = -1; 433 448 } … … 1264 1279 1265 1280 boolean translateAccelerator (QMSG qmsg) { 1266 return false; 1267 //@@TODO (dmik): later 1268 // if (!isEnabled () || !isActive ()) return false; 1269 // if (menuBar != null && !menuBar.isEnabled ()) return false; 1270 // if (hAccel == -1) createAcceleratorTable (); 1271 // if (hAccel == 0) return false; 1272 // return OS.TranslateAccelerator (handle, hAccel, msg) != 0; 1281 if (!isEnabled () || !isActive ()) return false; 1282 if (menuBar != null && !menuBar.isEnabled ()) return false; 1283 if (hAccel == -1) createAcceleratorTable (); 1284 if (hAccel == 0) return false; 1285 return OS.WinTranslateAccel (getDisplay().hab, handle, hAccel, qmsg); 1286 1273 1287 } 1274 1288 … … 1286 1300 int windowProc (int msg, int mp1, int mp2) { 1287 1301 //@@TODO (dmik): remove 1288 //switch (msg) {1302 switch (msg) { 1289 1303 //@@TODO(dmik) 1290 // case OS.WM_APP:1291 // case OS.WM_APP+1:1292 //if (hAccel == -1) createAcceleratorTable ();1293 // return msg == OS.WM_APP? nAccel : hAccel;1294 //}1304 case OS.WM_USER: 1305 case OS.WM_USER+1: 1306 if (hAccel == -1) createAcceleratorTable (); 1307 return msg == OS.WM_USER ? nAccel : hAccel; 1308 } 1295 1309 return super.windowProc (msg, mp1, mp2); 1296 1310 }
Note:
See TracChangeset
for help on using the changeset viewer.