mirror of
https://github.com/holub/mame
synced 2025-10-06 17:08:28 +03:00
63 lines
1.9 KiB
Plaintext
63 lines
1.9 KiB
Plaintext
// license:BSD-3-Clause
|
|
// copyright-holders:Vas Crabb
|
|
//============================================================
|
|
//
|
|
// errorlogviewer.m - MacOS X Cocoa debug window handling
|
|
//
|
|
//============================================================
|
|
|
|
#include "emu.h"
|
|
#import "errorlogviewer.h"
|
|
|
|
#import "errorlogview.h"
|
|
|
|
|
|
@implementation MAMEErrorLogViewer
|
|
|
|
- (id)initWithMachine:(running_machine &)m console:(MAMEDebugConsole *)c {
|
|
NSScrollView *logScroll;
|
|
NSString *title;
|
|
|
|
title = [NSString stringWithFormat:@"Error Log: %@ [%@]",
|
|
[NSString stringWithUTF8String:m.system().description],
|
|
[NSString stringWithUTF8String:m.system().name]];
|
|
if (!(self = [super initWithMachine:m title:title console:c]))
|
|
return nil;
|
|
|
|
// create the error log view
|
|
logView = [[MAMEErrorLogView alloc] initWithFrame:NSMakeRect(0, 0, 100, 100) machine:*machine];
|
|
logScroll = [[NSScrollView alloc] initWithFrame:NSMakeRect(0, 0, 100, 100)];
|
|
[logScroll setAutoresizingMask:(NSViewWidthSizable | NSViewHeightSizable)];
|
|
[logScroll setHasHorizontalScroller:YES];
|
|
[logScroll setHasVerticalScroller:YES];
|
|
[logScroll setAutohidesScrollers:YES];
|
|
[logScroll setBorderType:NSNoBorder];
|
|
[logScroll setDrawsBackground:NO];
|
|
[logScroll setDocumentView:logView];
|
|
[logView release];
|
|
[window setContentView:logScroll];
|
|
[logScroll release];
|
|
|
|
// calculate the optimal size for everything
|
|
{
|
|
NSSize desired = [NSScrollView frameSizeForContentSize:[logView maximumFrameSize]
|
|
hasHorizontalScroller:YES
|
|
hasVerticalScroller:YES
|
|
borderType:[logScroll borderType]];
|
|
|
|
// this thing starts with no content, so its prefered height may be very small
|
|
desired.height = std::max(desired.height, CGFloat(240));
|
|
[self cascadeWindowWithDesiredSize:desired forView:logScroll];
|
|
}
|
|
|
|
// don't forget the result
|
|
return self;
|
|
}
|
|
|
|
|
|
- (void)dealloc {
|
|
[super dealloc];
|
|
}
|
|
|
|
@end
|