+- (void)copy:(id)sender
+{
+ char *text;
+
+ if ((text = midend_text_format(me)) != NULL) {
+ NSPasteboard *pb = [NSPasteboard generalPasteboard];
+ NSArray *a = [NSArray arrayWithObject:NSStringPboardType];
+ [pb declareTypes:a owner:nil];
+ [pb setString:[NSString stringWithCString:text]
+ forType:NSStringPboardType];
+ } else
+ NSBeep();
+}
+
+- (BOOL)validateMenuItem:(NSMenuItem *)item
+{
+ if ([item action] == @selector(copy:))
+ return (ourgame->can_format_as_text ? YES : NO);
+ else
+ return [super validateMenuItem:item];
+}
+