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

Print this page




 103 
 104     if (self != nil) {
 105         fChangeCount = [[NSPasteboard generalPasteboard] changeCount];
 106     }
 107 
 108     return self;
 109 }
 110 
 111 - (void) javaDeclareTypes:(NSArray *)inTypes withOwner:(jobject)inClipboard jniEnv:(JNIEnv *)inEnv {
 112 
 113     //NSLog(@"CClipboard javaDeclareTypes %@ withOwner", inTypes);
 114 
 115     @synchronized(self) {
 116         if (inClipboard != NULL) {
 117             if (fClipboardOwner != NULL) {
 118                 JNFDeleteGlobalRef(inEnv, fClipboardOwner);
 119             }
 120             fClipboardOwner = JNFNewGlobalRef(inEnv, inClipboard);
 121         }
 122     }
 123     [ThreadUtilities performOnMainThread:@selector(_nativeDeclareTypes:) onObject:self withObject:inTypes waitUntilDone:YES awtMode:YES];
 124 }
 125 
 126 - (void) _nativeDeclareTypes:(NSArray *)inTypes {
 127     AWT_ASSERT_APPKIT_THREAD;
 128 
 129     //NSLog(@"CClipboard _nativeDeclareTypes %@ withOwner", inTypes);
 130 
 131     fChangeCount = [[NSPasteboard generalPasteboard] declareTypes:inTypes owner:self];
 132 }
 133 
 134 
 135 - (NSArray *) javaGetTypes {
 136 
 137     NSMutableArray *args = [NSMutableArray arrayWithCapacity:1];
 138     [ThreadUtilities performOnMainThread:@selector(_nativeGetTypes:) onObject:self withObject:args waitUntilDone:YES awtMode:YES];
 139 
 140     //NSLog(@"CClipboard getTypes returns %@", [args lastObject]);
 141     return [args lastObject];
 142 }
 143 
 144 - (void) _nativeGetTypes:(NSMutableArray *)args {
 145     AWT_ASSERT_APPKIT_THREAD;
 146 
 147     [args addObject:[[NSPasteboard generalPasteboard] types]];
 148 
 149     //NSLog(@"CClipboard getTypes returns %@", [args lastObject]);
 150 }
 151 
 152 - (void) javaSetData:(NSData *)inData forType:(NSString *) inFormat {
 153 
 154     CClipboardUpdate *newUpdate = [[CClipboardUpdate alloc] initWithData:inData withFormat:inFormat];
 155     [ThreadUtilities performOnMainThread:@selector(_nativeSetData:) onObject:self withObject:newUpdate waitUntilDone:YES awtMode:YES];
 156     [newUpdate release];
 157 
 158     //NSLog(@"CClipboard javaSetData forType %@", inFormat);
 159 }
 160 
 161 - (void) _nativeSetData:(CClipboardUpdate *)newUpdate {
 162     AWT_ASSERT_APPKIT_THREAD;
 163 
 164     [[NSPasteboard generalPasteboard] setData:[newUpdate data] forType:[newUpdate format]];
 165 
 166     //NSLog(@"CClipboard _nativeSetData setData %@", [newUpdate data]);
 167     //NSLog(@"CClipboard _nativeSetData forType %@", [newUpdate format]);
 168 }
 169 
 170 - (NSData *) javaGetDataForType:(NSString *) inFormat {
 171 
 172     NSMutableArray *args = [NSMutableArray arrayWithObject:inFormat];
 173     [ThreadUtilities performOnMainThread:@selector(_nativeGetDataForType:) onObject:self withObject:args waitUntilDone:YES awtMode:YES];
 174 
 175     //NSLog(@"CClipboard javaGetDataForType %@ returns an NSData", inFormat);
 176     return [args lastObject];
 177 }
 178 
 179 - (void) _nativeGetDataForType:(NSMutableArray *) args {
 180     AWT_ASSERT_APPKIT_THREAD;
 181 
 182     NSData *returnValue = [[NSPasteboard generalPasteboard] dataForType:[args objectAtIndex:0]];
 183 
 184     if (returnValue) [args replaceObjectAtIndex:0 withObject:returnValue];
 185     else [args removeLastObject];
 186 
 187     //NSLog(@"CClipboard _nativeGetDataForType");
 188 }
 189 
 190 - (void) checkPasteboard:(id)application {
 191     AWT_ASSERT_APPKIT_THREAD;
 192 
 193     //NSLog(@"CClipboard checkPasteboard oldCount %d newCount %d newTypes %@", fChangeCount, [[NSPasteboard generalPasteboard] changeCount], [[NSPasteboard generalPasteboard] types]);




 103 
 104     if (self != nil) {
 105         fChangeCount = [[NSPasteboard generalPasteboard] changeCount];
 106     }
 107 
 108     return self;
 109 }
 110 
 111 - (void) javaDeclareTypes:(NSArray *)inTypes withOwner:(jobject)inClipboard jniEnv:(JNIEnv *)inEnv {
 112 
 113     //NSLog(@"CClipboard javaDeclareTypes %@ withOwner", inTypes);
 114 
 115     @synchronized(self) {
 116         if (inClipboard != NULL) {
 117             if (fClipboardOwner != NULL) {
 118                 JNFDeleteGlobalRef(inEnv, fClipboardOwner);
 119             }
 120             fClipboardOwner = JNFNewGlobalRef(inEnv, inClipboard);
 121         }
 122     }
 123     [ThreadUtilities performOnMainThread:@selector(_nativeDeclareTypes:) on:self withObject:inTypes waitUntilDone:YES];
 124 }
 125 
 126 - (void) _nativeDeclareTypes:(NSArray *)inTypes {
 127     AWT_ASSERT_APPKIT_THREAD;
 128 
 129     //NSLog(@"CClipboard _nativeDeclareTypes %@ withOwner", inTypes);
 130 
 131     fChangeCount = [[NSPasteboard generalPasteboard] declareTypes:inTypes owner:self];
 132 }
 133 
 134 
 135 - (NSArray *) javaGetTypes {
 136 
 137     NSMutableArray *args = [NSMutableArray arrayWithCapacity:1];
 138     [ThreadUtilities performOnMainThread:@selector(_nativeGetTypes:) on:self withObject:args waitUntilDone:YES];
 139 
 140     //NSLog(@"CClipboard getTypes returns %@", [args lastObject]);
 141     return [args lastObject];
 142 }
 143 
 144 - (void) _nativeGetTypes:(NSMutableArray *)args {
 145     AWT_ASSERT_APPKIT_THREAD;
 146 
 147     [args addObject:[[NSPasteboard generalPasteboard] types]];
 148 
 149     //NSLog(@"CClipboard getTypes returns %@", [args lastObject]);
 150 }
 151 
 152 - (void) javaSetData:(NSData *)inData forType:(NSString *) inFormat {
 153 
 154     CClipboardUpdate *newUpdate = [[CClipboardUpdate alloc] initWithData:inData withFormat:inFormat];
 155     [ThreadUtilities performOnMainThread:@selector(_nativeSetData:) on:self withObject:newUpdate waitUntilDone:YES];
 156     [newUpdate release];
 157 
 158     //NSLog(@"CClipboard javaSetData forType %@", inFormat);
 159 }
 160 
 161 - (void) _nativeSetData:(CClipboardUpdate *)newUpdate {
 162     AWT_ASSERT_APPKIT_THREAD;
 163 
 164     [[NSPasteboard generalPasteboard] setData:[newUpdate data] forType:[newUpdate format]];
 165 
 166     //NSLog(@"CClipboard _nativeSetData setData %@", [newUpdate data]);
 167     //NSLog(@"CClipboard _nativeSetData forType %@", [newUpdate format]);
 168 }
 169 
 170 - (NSData *) javaGetDataForType:(NSString *) inFormat {
 171 
 172     NSMutableArray *args = [NSMutableArray arrayWithObject:inFormat];
 173     [ThreadUtilities performOnMainThread:@selector(_nativeGetDataForType:) on:self withObject:args waitUntilDone:YES];
 174 
 175     //NSLog(@"CClipboard javaGetDataForType %@ returns an NSData", inFormat);
 176     return [args lastObject];
 177 }
 178 
 179 - (void) _nativeGetDataForType:(NSMutableArray *) args {
 180     AWT_ASSERT_APPKIT_THREAD;
 181 
 182     NSData *returnValue = [[NSPasteboard generalPasteboard] dataForType:[args objectAtIndex:0]];
 183 
 184     if (returnValue) [args replaceObjectAtIndex:0 withObject:returnValue];
 185     else [args removeLastObject];
 186 
 187     //NSLog(@"CClipboard _nativeGetDataForType");
 188 }
 189 
 190 - (void) checkPasteboard:(id)application {
 191     AWT_ASSERT_APPKIT_THREAD;
 192 
 193     //NSLog(@"CClipboard checkPasteboard oldCount %d newCount %d newTypes %@", fChangeCount, [[NSPasteboard generalPasteboard] changeCount], [[NSPasteboard generalPasteboard] types]);