From 10faaed845981cb93c5a0c3747c44787f51d3476 Mon Sep 17 00:00:00 2001 From: Lassi Kortela Date: Fri, 5 Aug 2022 12:28:41 +0300 Subject: [PATCH] GScheme-20060213.tar --- #EnvWindow.m# | 171 -------------------------------------------------- GNUmakefile | 4 -- 2 files changed, 175 deletions(-) delete mode 100644 #EnvWindow.m# diff --git a/#EnvWindow.m# b/#EnvWindow.m# deleted file mode 100644 index b955a15..0000000 --- a/#EnvWindow.m# +++ /dev/null @@ -1,171 +0,0 @@ - -#import "EnvWindow.h" -#import "VScheme.h" - -@implementation EnvWindow - -#define WIDTH 300 -#define HEIGHT 200 - -static int count = 0; -- initWithEnv:(Environment *)env -{ - NSWindow *window; - Environment *layer; int lind; - NSRect contentRect = {{0, 0}, {WIDTH, HEIGHT}}; - NSRect winRect = - {{250+(count%12)*24, 100+(count%12)*24}, {WIDTH, HEIGHT}}; - NSRect textRect; - unsigned int style = NSTitledWindowMask | NSClosableWindowMask | - NSMiniaturizableWindowMask | NSResizableWindowMask; - NSString *title = - [NSString stringWithFormat:@"Scheme Env. # %d", ++count]; - - length = [env chainLength]; - names = NSZoneMalloc([self zone], length*sizeof(id)); - values = NSZoneMalloc([self zone], length*sizeof(id)); - - NSAutoreleasePool *pool = [NSAutoreleasePool new]; - - for(lind=length-1, layer = env; lind>=0; lind--){ - NSMapTable *data = [layer data]; - - names[lind] = [NSMutableArray arrayWithArray:[data allKeys]]; - [names[lind] sortUsingSelector:@selector(compare:)]; - [names[lind] retain]; - - values[lind] = [NSMutableArray arrayWithCapacity:[names[lind] count]]; - [values[lind] retain]; - - NSMapEnumerator en = [names[lind] objectEnumerator]; - id key, val; - while(NSNextMapEnumeratorPair(&enumerator, (void**)&key, (void**)&val)){ - id obj = NSMapGet(data, key); - [values[lind] addObject:[VScheme valToString:obj]]; - } - - layer = [layer parent]; - } - - [pool release]; - - [self initWithContentRect:winRect - styleMask:style - backing:NSBackingStoreRetained - defer:NO]; - [self setMinSize:NSMakeSize(WIDTH, HEIGHT)]; - [self setReleasedWhenClosed:YES]; - - - NSTableColumn *nameColumn, *valueColumn; - - nameColumn = - [(NSTableColumn *)[NSTableColumn alloc] - initWithIdentifier: @"Name"]; - [nameColumn setEditable: NO]; - [[nameColumn headerCell] setStringValue: @"Name"]; - [nameColumn setMinWidth:WIDTH/2]; - - valueColumn = - [(NSTableColumn *)[NSTableColumn alloc] - initWithIdentifier: @"Value"]; - [valueColumn setEditable: NO]; - [[valueColumn headerCell] setStringValue: @"Value"]; - [valueColumn setMinWidth:WIDTH/2]; - - table = - [[NSTableView alloc] initWithFrame:contentRect]; - [table addTableColumn:nameColumn]; RELEASE(nameColumn); - [table addTableColumn:valueColumn]; RELEASE(valueColumn); - - current=length-1; - [table setDataSource:self]; - - scrollView = [[NSScrollView alloc] initWithFrame:contentRect]; - [scrollView setHasHorizontalScroller:YES]; - [scrollView setHasVerticalScroller:YES]; - [scrollView setAutoresizingMask: NSViewHeightSizable | NSViewWidthSizable]; - [[scrollView contentView] - setAutoresizingMask: NSViewHeightSizable | NSViewWidthSizable]; - [[scrollView contentView] setAutoresizesSubviews:YES]; - - [table setFrameSize:[scrollView contentSize]]; - [scrollView setDocumentView:table]; - - [self setContentView:scrollView]; - // RELEASE(scrollView); - - [self setTitle:title]; - [self display]; - [self makeKeyAndOrderFront:nil]; - - return self; -} - -- up:(id)sender -{ - if(!current){ - NSBeep(); - } - else{ - current--; - [table reloadData]; - } - - return self; -} - -- down:(id)sender -{ - if(current==length-1){ - NSBeep(); - } - else{ - current++; - [table reloadData]; - } - - return self; -} - -- (int)numberOfRowsInTableView:(NSTableView *)aTableView -{ - return [names[current] count]; -} - -- (id)tableView:(NSTableView *)aTableView - objectValueForTableColumn:(NSTableColumn *)aTableColumn - row:(int)rowIndex -{ - if(rowIndex>=[names[current] count]){ - return nil; - } - - if([[aTableColumn identifier] isEqualToString:@"Name"]){ - return [names[current] objectAtIndex:rowIndex]; - } - else{ - return [values[current] objectAtIndex:rowIndex]; - } -} - -- (void)dealloc -{ - int ind; - - [table release]; - [scrollView release]; - - for(ind=0; ind