src/macosx/native/sun/awt/CPopupMenu.m

Print this page




  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