summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/debugger/osx/pointsviewer.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/osd/modules/debugger/osx/pointsviewer.mm')
-rw-r--r--src/osd/modules/debugger/osx/pointsviewer.mm38
1 files changed, 32 insertions, 6 deletions
diff --git a/src/osd/modules/debugger/osx/pointsviewer.mm b/src/osd/modules/debugger/osx/pointsviewer.mm
index 8bd4dad3a1b..ca3d9b356a0 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 "registerpointsview.h"
#import "watchpointsview.h"
#include "util/xmlfile.h"
@@ -18,9 +19,9 @@
@implementation MAMEPointsViewer
- (id)initWithMachine:(running_machine &)m console:(MAMEDebugConsole *)c {
- MAMEDebugView *breakView, *watchView;
- NSScrollView *breakScroll, *watchScroll;
- NSTabViewItem *breakTab, *watchTab;
+ MAMEDebugView *breakView, *watchView, *registerView;
+ NSScrollView *breakScroll, *watchScroll, *registerScroll;
+ NSTabViewItem *breakTab, *watchTab, *registerTab;
NSPopUpButton *actionButton;
NSRect subviewFrame;
@@ -44,6 +45,9 @@
[[[subviewButton menu] addItemWithTitle:@"All Watchpoints"
action:NULL
keyEquivalent:@""] setTag:1];
+ [[[subviewButton menu] addItemWithTitle:@"All Registerpoints"
+ action:NULL
+ keyEquivalent:@""] setTag:2];
[subviewButton sizeToFit];
subviewFrame = [subviewButton frame];
subviewFrame.origin.x = subviewFrame.size.height;
@@ -82,7 +86,7 @@
[breakTab setView:breakScroll];
[breakScroll release];
- // create the breakpoints view
+ // create the watchpoints view
watchView = [[MAMEWatchpointsView alloc] initWithFrame:NSMakeRect(0, 0, 100, 100)
machine:*machine];
watchScroll = [[NSScrollView alloc] initWithFrame:[breakScroll frame]];
@@ -98,6 +102,22 @@
[watchTab setView:watchScroll];
[watchScroll release];
+ // create the registerpoints view
+ registerView = [[MAMERegisterpointsView alloc] initWithFrame:NSMakeRect(0, 0, 100, 100)
+ machine:*machine];
+ registerScroll = [[NSScrollView alloc] initWithFrame:[breakScroll frame]];
+ [registerScroll setAutoresizingMask:(NSViewWidthSizable | NSViewHeightSizable)];
+ [registerScroll setHasHorizontalScroller:YES];
+ [registerScroll setHasVerticalScroller:YES];
+ [registerScroll setAutohidesScrollers:YES];
+ [registerScroll setBorderType:NSNoBorder];
+ [registerScroll setDrawsBackground:NO];
+ [registerScroll setDocumentView:registerView];
+ [registerView release];
+ registerTab = [[NSTabViewItem alloc] initWithIdentifier:@""];
+ [registerTab setView:registerScroll];
+ [registerScroll release];
+
// create a tabless tabview for the two subviews
tabs = [[NSTabView alloc] initWithFrame:[breakScroll frame]];
[tabs setTabViewType:NSNoTabsNoBorder];
@@ -106,6 +126,8 @@
[breakTab release];
[tabs addTabViewItem:watchTab];
[watchTab release];
+ [tabs addTabViewItem:registerTab];
+ [registerTab release];
[[window contentView] addSubview:tabs];
[tabs release];
@@ -124,8 +146,12 @@
hasHorizontalScroller:YES
hasVerticalScroller:YES
borderType:[watchScroll borderType]];
- NSSize const desired = NSMakeSize(std::max(breakDesired.width, watchDesired.width),
- std::max(breakDesired.height, watchDesired.height));
+ NSSize const registerDesired = [NSScrollView frameSizeForContentSize:[registerView maximumFrameSize]
+ hasHorizontalScroller:YES
+ hasVerticalScroller:YES
+ borderType:[registerScroll borderType]];
+ NSSize const desired = NSMakeSize(std::max({ breakDesired.width, watchDesired.width, registerDesired.width }),
+ std::max({ breakDesired.height, watchDesired.height, registerDesired.height }));
[self cascadeWindowWithDesiredSize:desired forView:tabs];
// don't forget the result