- Timestamp:
- Dec 26, 2007, 4:54:29 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/plugins/org.eclipse.swt/Eclipse SWT PI/pm/library/structs.c
r14 r52 1333 1333 } 1334 1334 1335 /* MENUITEM struct */ 1336 1337 void cacheMENUITEMFids(JNIEnv *env, jobject lpObject, PMENUITEM_FID_CACHE lpCache) 1338 { 1339 if (lpCache->cached) return; 1340 lpCache->clazz = (*env)->GetObjectClass(env, lpObject); 1341 lpCache->iPosition = (*env)->GetFieldID(env, lpCache->clazz, "iPosition", "S"); 1342 lpCache->afStyle = (*env)->GetFieldID(env, lpCache->clazz, "afStyle", "S"); 1343 lpCache->afAttribute = (*env)->GetFieldID(env, lpCache->clazz, "afAttribute", "S"); 1344 lpCache->id = (*env)->GetFieldID(env, lpCache->clazz, "id", "S"); 1345 lpCache->hwndSubMenu = (*env)->GetFieldID(env, lpCache->clazz, "hwndSubMenu", "I"); 1346 lpCache->hItem = (*env)->GetFieldID(env, lpCache->clazz, "hItem", "I"); 1347 lpCache->cached = 1; 1348 } 1349 1350 PMENUITEM getMENUITEMFields(JNIEnv *env, jobject lpObject, PMENUITEM lpStruct, PMENUITEM_FID_CACHE lpCache) 1351 { 1352 if (!lpCache->cached) cacheMENUITEMFids(env, lpObject, lpCache); 1353 lpStruct->iPosition = (*env)->GetShortField(env, lpObject, lpCache->iPosition); 1354 lpStruct->afStyle = (*env)->GetShortField(env, lpObject, lpCache->afStyle); 1355 lpStruct->afAttribute = (*env)->GetShortField(env, lpObject, lpCache->afAttribute); 1356 lpStruct->id = (*env)->GetShortField(env, lpObject, lpCache->id); 1357 lpStruct->hwndSubMenu = (*env)->GetIntField(env, lpObject, lpCache->hwndSubMenu); 1358 lpStruct->hItem = (*env)->GetIntField(env, lpObject, lpCache->hItem); 1359 return lpStruct; 1360 } 1361 1362 void setMENUITEMFields(JNIEnv *env, jobject lpObject, PMENUITEM lpStruct, PMENUITEM_FID_CACHE lpCache) 1363 { 1364 if (!lpCache->cached) cacheMENUITEMFids(env, lpObject, lpCache); 1365 (*env)->SetShortField(env, lpObject, lpCache->iPosition, lpStruct->iPosition); 1366 (*env)->SetShortField(env, lpObject, lpCache->afStyle, lpStruct->afStyle); 1367 (*env)->SetShortField(env, lpObject, lpCache->afAttribute, lpStruct->afAttribute); 1368 (*env)->SetShortField(env, lpObject, lpCache->id, lpStruct->id); 1369 (*env)->SetIntField(env, lpObject, lpCache->hwndSubMenu, lpStruct->hwndSubMenu); 1370 (*env)->SetIntField(env, lpObject, lpCache->hItem, lpStruct->hItem); 1371 } 1372 1373 /* OWNERITEM struct */ 1374 1375 void cacheOWNERITEMFids(JNIEnv *env, jobject lpObject, POWNERITEM_FID_CACHE lpCache) 1376 { 1377 if (lpCache->cached) return; 1378 lpCache->clazz = (*env)->GetObjectClass(env, lpObject); 1379 lpCache->hwnd = (*env)->GetFieldID(env, lpCache->clazz, "hwnd", "I"); 1380 lpCache->hps = (*env)->GetFieldID(env, lpCache->clazz, "hps", "I"); 1381 lpCache->fsState = (*env)->GetFieldID(env, lpCache->clazz, "fsState", "I"); 1382 lpCache->fsAttribute = (*env)->GetFieldID(env, lpCache->clazz, "fsAttribute", "I"); 1383 lpCache->fsStateOld = (*env)->GetFieldID(env, lpCache->clazz, "fsStateOld", "I"); 1384 lpCache->fsAttributeOld = (*env)->GetFieldID(env, lpCache->clazz, "fsAttributeOld", "I"); 1385 lpCache->rclItem = (*env)->GetFieldID(env, lpCache->clazz, "rclItem", "Lorg/eclipse/swt/internal/pm/RECTL;"); 1386 lpCache->idItem = (*env)->GetFieldID(env, lpCache->clazz, "idItem", "I"); 1387 lpCache->hItem = (*env)->GetFieldID(env, lpCache->clazz, "hItem", "I"); 1388 lpCache->cached = 1; 1389 } 1390 1391 POWNERITEM getOWNERITEMFields(JNIEnv *env, jobject lpObject, POWNERITEM lpStruct, POWNERITEM_FID_CACHE lpCache) 1392 { 1393 if (!lpCache->cached) cacheOWNERITEMFids(env, lpObject, lpCache); 1394 lpStruct->hwnd = (*env)->GetIntField(env, lpObject, lpCache->hwnd); 1395 lpStruct->hps = (*env)->GetIntField(env, lpObject, lpCache->hps); 1396 lpStruct->fsState = (*env)->GetIntField(env, lpObject, lpCache->fsState); 1397 lpStruct->fsAttribute = (*env)->GetIntField(env, lpObject, lpCache->fsAttribute); 1398 lpStruct->fsStateOld = (*env)->GetIntField(env, lpObject, lpCache->fsStateOld); 1399 lpStruct->fsAttributeOld = (*env)->GetIntField(env, lpObject, lpCache->fsAttributeOld); 1400 { 1401 jobject prclItem = (*env)->GetObjectField(env, lpObject, lpCache->rclItem); 1402 if (prclItem){ 1403 if(&(lpStruct->rclItem)){ 1404 getRECTLFields(env, prclItem, &(lpStruct->rclItem), &PGLOB(RECTLFc)); 1405 } 1406 } 1407 } 1408 lpStruct->idItem = (*env)->GetIntField(env, lpObject, lpCache->idItem); 1409 lpStruct->hItem = (*env)->GetIntField(env, lpObject, lpCache->hItem); 1410 return lpStruct; 1411 } 1412 1413 void setOWNERITEMFields(JNIEnv *env, jobject lpObject, POWNERITEM lpStruct, POWNERITEM_FID_CACHE lpCache) 1414 { 1415 if (!lpCache->cached) cacheOWNERITEMFids(env, lpObject, lpCache); 1416 (*env)->SetIntField(env, lpObject, lpCache->hwnd, lpStruct->hwnd); 1417 (*env)->SetIntField(env, lpObject, lpCache->hps, lpStruct->hps); 1418 (*env)->SetIntField(env, lpObject, lpCache->fsState, lpStruct->fsState); 1419 (*env)->SetIntField(env, lpObject, lpCache->fsAttribute, lpStruct->fsAttribute); 1420 (*env)->SetIntField(env, lpObject, lpCache->fsStateOld, lpStruct->fsStateOld); 1421 (*env)->SetIntField(env, lpObject, lpCache->fsAttributeOld, lpStruct->fsAttributeOld); 1422 { 1423 jobject prclItem = (*env)->GetObjectField(env, lpObject, lpCache->rclItem); 1424 if (prclItem && &(lpStruct->rclItem)) 1425 setRECTLFields(env, prclItem, &(lpStruct->rclItem), &PGLOB(RECTLFc)); 1426 } 1427 (*env)->SetIntField(env, lpObject, lpCache->idItem, lpStruct->idItem); 1428 (*env)->SetIntField(env, lpObject, lpCache->hItem, lpStruct->hItem); 1429 } 1430 1335 1431 /* FACENAMEDESC struct */ 1336 1432 /*@@TODO (dmik): don't need, remove!
Note:
See TracChangeset
for help on using the changeset viewer.