trunk/src/osd/modules/debugger/osx/debugview.m
| r243620 | r243621 | |
| 358 | 358 | } |
| 359 | 359 | |
| 360 | 360 | |
| 361 | - (IBAction)paste:(id)sender { |
| 362 | NSPasteboard *const board = [NSPasteboard generalPasteboard]; |
| 363 | NSString *const avail = [board availableTypeFromArray:[NSArray arrayWithObject:NSStringPboardType]]; |
| 364 | if (avail == nil) |
| 365 | { |
| 366 | NSBeep(); |
| 367 | return; |
| 368 | } |
| 369 | |
| 370 | NSData *const data = [[board stringForType:avail] dataUsingEncoding:NSASCIIStringEncoding |
| 371 | allowLossyConversion:YES]; |
| 372 | char const *const bytes = (char const *)[data bytes]; |
| 373 | for (NSUInteger i = 0, l = [data length]; i < l; i++) |
| 374 | view->process_char(bytes[i]); |
| 375 | } |
| 376 | |
| 377 | |
| 361 | 378 | - (void)windowDidBecomeKey:(NSNotification *)notification { |
| 362 | 379 | NSWindow *win = [notification object]; |
| 363 | 380 | if ((win == [self window]) && ([win firstResponder] == self) && view->cursor_supported()) |
| r243620 | r243621 | |
| 379 | 396 | action:@selector(copyVisible:) |
| 380 | 397 | keyEquivalent:@""]; |
| 381 | 398 | [item setTarget:self]; |
| 399 | |
| 400 | item = [menu addItemWithTitle:@"Paste" |
| 401 | action:@selector(paste:) |
| 402 | keyEquivalent:@""]; |
| 403 | [item setTarget:self]; |
| 382 | 404 | } |
| 383 | 405 | |
| 384 | 406 | |
| r243620 | r243621 | |
| 653 | 675 | } |
| 654 | 676 | } |
| 655 | 677 | |
| 678 | |
| 679 | - (BOOL)validateMenuItem:(NSMenuItem *)item { |
| 680 | SEL action = [item action]; |
| 681 | |
| 682 | if (action == @selector(paste:)) |
| 683 | { |
| 684 | NSPasteboard *const board = [NSPasteboard generalPasteboard]; |
| 685 | return [board availableTypeFromArray:[NSArray arrayWithObject:NSStringPboardType]] != nil; |
| 686 | } |
| 687 | else |
| 688 | { |
| 689 | return YES; |
| 690 | } |
| 691 | } |
| 692 | |
| 656 | 693 | @end |
trunk/src/osd/modules/debugger/osx/memoryview.m
| r243620 | r243621 | |
| 34 | 34 | NSInteger tag = [item tag]; |
| 35 | 35 | debug_view_memory *memview = downcast<debug_view_memory *>(view); |
| 36 | 36 | |
| 37 | | if (action == @selector(showChunkSize:)) { |
| 37 | if (action == @selector(showChunkSize:)) |
| 38 | { |
| 38 | 39 | [item setState:((tag == memview->bytes_per_chunk()) ? NSOnState : NSOffState)]; |
| 39 | | } else if (action == @selector(showPhysicalAddresses:)) { |
| 40 | } |
| 41 | else if (action == @selector(showPhysicalAddresses:)) |
| 42 | { |
| 40 | 43 | [item setState:((tag == memview->physical()) ? NSOnState : NSOffState)]; |
| 41 | | } else if (action == @selector(showReverseView:)) { |
| 44 | } |
| 45 | else if (action == @selector(showReverseView:)) |
| 46 | { |
| 42 | 47 | [item setState:((tag == memview->reverse()) ? NSOnState : NSOffState)]; |
| 43 | | } else if (action == @selector(showReverseViewToggle:)) { |
| 48 | } |
| 49 | else if (action == @selector(showReverseViewToggle:)) |
| 50 | { |
| 44 | 51 | [item setState:(memview->reverse() ? NSOnState : NSOffState)]; |
| 45 | 52 | } |
| 46 | | return YES; |
| 53 | return [super validateMenuItem:item]; |
| 47 | 54 | } |
| 48 | 55 | |
| 49 | 56 | |