diff options
Diffstat (limited to 'src/osd/modules/debugger/osx')
-rw-r--r-- | src/osd/modules/debugger/osx/debugview.mm | 8 | ||||
-rw-r--r-- | src/osd/modules/debugger/osx/disassemblyviewer.mm | 4 | ||||
-rw-r--r-- | src/osd/modules/debugger/osx/exceptionpointsview.h | 23 | ||||
-rw-r--r-- | src/osd/modules/debugger/osx/exceptionpointsview.mm | 27 | ||||
-rw-r--r-- | src/osd/modules/debugger/osx/pointsviewer.mm | 40 |
5 files changed, 89 insertions, 13 deletions
diff --git a/src/osd/modules/debugger/osx/debugview.mm b/src/osd/modules/debugger/osx/debugview.mm index ebf4ce257d5..504eaab8fe3 100644 --- a/src/osd/modules/debugger/osx/debugview.mm +++ b/src/osd/modules/debugger/osx/debugview.mm @@ -432,15 +432,15 @@ static void debugwin_view_update(debug_view &view, void *osdprivate) NSRange const run = NSMakeRange(0, [text length]); [text addAttribute:NSFontAttributeName value:font range:run]; NSPasteboard *const board = [NSPasteboard generalPasteboard]; - [board declareTypes:[NSArray arrayWithObject:NSRTFPboardType] owner:nil]; - [board setData:[text RTFFromRange:run documentAttributes:[NSDictionary dictionary]] forType:NSRTFPboardType]; + [board declareTypes:[NSArray arrayWithObject:NSPasteboardTypeRTF] owner:nil]; + [board setData:[text RTFFromRange:run documentAttributes:[NSDictionary dictionary]] forType:NSPasteboardTypeRTF]; [text deleteCharactersInRange:run]; } - (IBAction)paste:(id)sender { NSPasteboard *const board = [NSPasteboard generalPasteboard]; - NSString *const avail = [board availableTypeFromArray:[NSArray arrayWithObject:NSStringPboardType]]; + NSString *const avail = [board availableTypeFromArray:[NSArray arrayWithObject:NSPasteboardTypeString]]; if (avail == nil) { NSBeep(); @@ -921,7 +921,7 @@ static void debugwin_view_update(debug_view &view, void *osdprivate) if (action == @selector(paste:)) { NSPasteboard *const board = [NSPasteboard generalPasteboard]; - return [board availableTypeFromArray:[NSArray arrayWithObject:NSStringPboardType]] != nil; + return [board availableTypeFromArray:[NSArray arrayWithObject:NSPasteboardTypeString]] != nil; } else { diff --git a/src/osd/modules/debugger/osx/disassemblyviewer.mm b/src/osd/modules/debugger/osx/disassemblyviewer.mm index 20ec457f628..a0659c00cfc 100644 --- a/src/osd/modules/debugger/osx/disassemblyviewer.mm +++ b/src/osd/modules/debugger/osx/disassemblyviewer.mm @@ -45,9 +45,7 @@ [expressionField sizeToFit]; // create the subview popup - subviewButton = [[NSPopUpButton alloc] initWithFrame:NSOffsetRect(expressionFrame, - expressionFrame.size.width, - 0)]; + subviewButton = [[NSPopUpButton alloc] initWithFrame:NSMakeRect(0, 0, 100, 19)]; [subviewButton setAutoresizingMask:(NSViewWidthSizable | NSViewMinXMargin | NSViewMinYMargin)]; [subviewButton setBezelStyle:NSBezelStyleShadowlessSquare]; [subviewButton setFocusRingType:NSFocusRingTypeNone]; diff --git a/src/osd/modules/debugger/osx/exceptionpointsview.h b/src/osd/modules/debugger/osx/exceptionpointsview.h new file mode 100644 index 00000000000..73e3958c9b8 --- /dev/null +++ b/src/osd/modules/debugger/osx/exceptionpointsview.h @@ -0,0 +1,23 @@ +// license:BSD-3-Clause +// copyright-holders:Vas Crabb +//============================================================ +// +// exceptionpointsview.h - MacOS X Cocoa debug window handling +// +//============================================================ + +#import "debugosx.h" + +#import "debugview.h" + + +#import <Cocoa/Cocoa.h> + + +@interface MAMEExceptionpointsView : MAMEDebugView +{ +} + +- (id)initWithFrame:(NSRect)f machine:(running_machine &)m; + +@end diff --git a/src/osd/modules/debugger/osx/exceptionpointsview.mm b/src/osd/modules/debugger/osx/exceptionpointsview.mm new file mode 100644 index 00000000000..c15f9c56f4f --- /dev/null +++ b/src/osd/modules/debugger/osx/exceptionpointsview.mm @@ -0,0 +1,27 @@ +// license:BSD-3-Clause +// copyright-holders:Vas Crabb +//============================================================ +// +// exceptionpointsview.m - MacOS X Cocoa debug window handling +// +//============================================================ + +#import "exceptionpointsview.h" + +#include "debug/debugvw.h" + + +@implementation MAMEExceptionpointsView + +- (id)initWithFrame:(NSRect)f machine:(running_machine &)m { + if (!(self = [super initWithFrame:f type:DVT_EXCEPTION_POINTS machine:m wholeLineScroll:YES])) + return nil; + return self; +} + + +- (void)dealloc { + [super dealloc]; +} + +@end diff --git a/src/osd/modules/debugger/osx/pointsviewer.mm b/src/osd/modules/debugger/osx/pointsviewer.mm index 8b2f69c50b5..0fafe35a799 100644 --- a/src/osd/modules/debugger/osx/pointsviewer.mm +++ b/src/osd/modules/debugger/osx/pointsviewer.mm @@ -10,6 +10,7 @@ #import "pointsviewer.h" #import "breakpointsview.h" +#import "exceptionpointsview.h" #import "registerpointsview.h" #import "watchpointsview.h" @@ -19,9 +20,9 @@ @implementation MAMEPointsViewer - (id)initWithMachine:(running_machine &)m console:(MAMEDebugConsole *)c { - MAMEDebugView *breakView, *watchView, *registerView; - NSScrollView *breakScroll, *watchScroll, *registerScroll; - NSTabViewItem *breakTab, *watchTab, *registerTab; + MAMEDebugView *breakView, *watchView, *registerView, *exceptionView; + NSScrollView *breakScroll, *watchScroll, *registerScroll, *exceptionScroll; + NSTabViewItem *breakTab, *watchTab, *registerTab, *exceptionTab; NSPopUpButton *actionButton; NSRect subviewFrame; @@ -48,6 +49,9 @@ [[[subviewButton menu] addItemWithTitle:@"All Registerpoints" action:NULL keyEquivalent:@""] setTag:2]; + [[[subviewButton menu] addItemWithTitle:@"All Exceptionpoints" + action:NULL + keyEquivalent:@""] setTag:3]; [subviewButton sizeToFit]; subviewFrame = [subviewButton frame]; subviewFrame.origin.x = subviewFrame.size.height; @@ -118,7 +122,23 @@ [registerTab setView:registerScroll]; [registerScroll release]; - // create a tabless tabview for the two subviews + // create the exceptionpoints view + exceptionView = [[MAMEExceptionpointsView alloc] initWithFrame:NSMakeRect(0, 0, 100, 100) + machine:*machine]; + exceptionScroll = [[NSScrollView alloc] initWithFrame:[breakScroll frame]]; + [exceptionScroll setAutoresizingMask:(NSViewWidthSizable | NSViewHeightSizable)]; + [exceptionScroll setHasHorizontalScroller:YES]; + [exceptionScroll setHasVerticalScroller:YES]; + [exceptionScroll setAutohidesScrollers:YES]; + [exceptionScroll setBorderType:NSNoBorder]; + [exceptionScroll setDrawsBackground:NO]; + [exceptionScroll setDocumentView:exceptionView]; + [exceptionView release]; + exceptionTab = [[NSTabViewItem alloc] initWithIdentifier:@""]; + [exceptionTab setView:exceptionScroll]; + [exceptionScroll release]; + + // create a tabless tabview for the four subviews tabs = [[NSTabView alloc] initWithFrame:[breakScroll frame]]; [tabs setTabViewType:NSNoTabsNoBorder]; [tabs setAutoresizingMask:(NSViewWidthSizable | NSViewHeightSizable)]; @@ -128,6 +148,8 @@ [watchTab release]; [tabs addTabViewItem:registerTab]; [registerTab release]; + [tabs addTabViewItem:exceptionTab]; + [exceptionTab release]; [[window contentView] addSubview:tabs]; [tabs release]; @@ -156,8 +178,14 @@ borderType:[registerScroll borderType] controlSize:NSControlSizeRegular scrollerStyle:NSScrollerStyleOverlay]; - NSSize const desired = NSMakeSize(std::max({ breakDesired.width, watchDesired.width, registerDesired.width }), - std::max({ breakDesired.height, watchDesired.height, registerDesired.height })); + NSSize const exceptionDesired = [NSScrollView frameSizeForContentSize:[exceptionView maximumFrameSize] + horizontalScrollerClass:[NSScroller class] + verticalScrollerClass:[NSScroller class] + borderType:[exceptionScroll borderType] + controlSize:NSControlSizeRegular + scrollerStyle:NSScrollerStyleOverlay]; + NSSize const desired = NSMakeSize(std::max({ breakDesired.width, watchDesired.width, registerDesired.width, exceptionDesired.width }), + std::max({ breakDesired.height, watchDesired.height, registerDesired.height, exceptionDesired.height })); [self cascadeWindowWithDesiredSize:desired forView:tabs]; // don't forget the result |