47 return [NSString stringWithFormat:@"CMenuItem[ %@ ]", fMenuItem]; 48 } 49 50 @end // implementationCPopupMenu : CMenu 51 52 53 /* 54 * Class: sun_lwawt_macosx_CPopupMenu 55 * Method: nativeCreatePopupMenu 56 * Signature: (JII)J 57 */ 58 JNIEXPORT jlong JNICALL Java_sun_lwawt_macosx_CPopupMenu_nativeCreatePopupMenu 59 (JNIEnv *env, jobject peer) { 60 61 __block CPopupMenu *aCPopupMenu = nil; 62 63 JNF_COCOA_ENTER(env); 64 65 jobject cPeerObjGlobal = JNFNewGlobalRef(env, peer); 66 67 [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){ 68 aCPopupMenu = [[CPopupMenu alloc] initWithPeer:cPeerObjGlobal]; 69 CFRetain(aCPopupMenu); 70 [aCPopupMenu release]; 71 }]; 72 73 JNF_COCOA_EXIT(env); 74 75 return ptr_to_jlong(aCPopupMenu); 76 } 77 78 JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CPopupMenu_nativeShowPopupMenu 79 (JNIEnv *env, jobject peer, jlong menuPtr, jint x, jint y) { 80 81 JNF_COCOA_ENTER(env); 82 83 CPopupMenu* cPopupMenu = (CPopupMenu*)jlong_to_ptr(menuPtr); 84 85 [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ 86 NSPoint loc = ConvertNSScreenPoint(env, NSMakePoint(x, y)); 87 88 [[cPopupMenu menu] popUpMenuPositioningItem: nil 89 atLocation: loc 90 inView: nil]; 91 }]; 92 93 JNF_COCOA_EXIT(env); 94 95 } 96 | 47 return [NSString stringWithFormat:@"CMenuItem[ %@ ]", fMenuItem]; 48 } 49 50 @end // implementationCPopupMenu : CMenu 51 52 53 /* 54 * Class: sun_lwawt_macosx_CPopupMenu 55 * Method: nativeCreatePopupMenu 56 * Signature: (JII)J 57 */ 58 JNIEXPORT jlong JNICALL Java_sun_lwawt_macosx_CPopupMenu_nativeCreatePopupMenu 59 (JNIEnv *env, jobject peer) { 60 61 __block CPopupMenu *aCPopupMenu = nil; 62 63 JNF_COCOA_ENTER(env); 64 65 jobject cPeerObjGlobal = JNFNewGlobalRef(env, peer); 66 67 [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ 68 aCPopupMenu = [[CPopupMenu alloc] initWithPeer:cPeerObjGlobal]; 69 CFRetain(aCPopupMenu); 70 [aCPopupMenu release]; 71 }]; 72 73 JNF_COCOA_EXIT(env); 74 75 return ptr_to_jlong(aCPopupMenu); 76 } 77 78 JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CPopupMenu_nativeShowPopupMenu 79 (JNIEnv *env, jobject peer, jlong menuPtr, jint x, jint y) { 80 81 JNF_COCOA_ENTER(env); 82 83 CPopupMenu* cPopupMenu = (CPopupMenu*)jlong_to_ptr(menuPtr); 84 85 [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ 86 NSPoint loc = ConvertNSScreenPoint(env, NSMakePoint(x, y)); 87 88 [[cPopupMenu menu] popUpMenuPositioningItem: nil 89 atLocation: loc 90 inView: nil]; 91 }]; 92 93 JNF_COCOA_EXIT(env); 94 95 } 96 |