This is DirController.m in view mode; [Download] [Up]
//=============================================================================
//
// Copyright (C) 1995-1997 by Paul S. McCarthy and Eric Sunshine.
// Written by Paul S. McCarthy and Eric Sunshine.
// All Rights Reserved.
//
// This notice may not be removed from this source code.
//
// This object is included in the MiscKit by permission from the authors
// and its use is governed by the MiscKit license, found in the file
// "License.rtf" in the MiscKit distribution. Please refer to that file
// for a list of all applicable permissions and restrictions.
//
//=============================================================================
//-----------------------------------------------------------------------------
// DirController.m
//
// Manages application which demonstrates use of TableScroll.
//
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// $Id: DirController.m,v 1.1 97/03/23 01:59:13 sunshine Exp $
// $Log: DirController.m,v $
// Revision 1.1 97/03/23 01:59:13 sunshine
// v13.1: Application controller.
//
//-----------------------------------------------------------------------------
#import "DirController.h"
#import "Defaults.h"
#import "DirWindow.h"
#import "SD_PageLayout.h"
#import <AppKit/NSNibLoading.h>
#import <AppKit/NSOpenPanel.h>
#import <AppKit/NSTextField.h>
@implementation DirController
//-----------------------------------------------------------------------------
// - init
//-----------------------------------------------------------------------------
- (id)init
{
[super init];
infoPanel = 0;
return self;
}
//-----------------------------------------------------------------------------
// - dealloc
//-----------------------------------------------------------------------------
- (void)dealloc
{
if (infoPanel)
[infoPanel release];
[super dealloc];
}
//-----------------------------------------------------------------------------
// - applicationDidFinishLaunching:
//-----------------------------------------------------------------------------
- (void)applicationDidFinishLaunching:(NSNotification*)n
{
[DirWindow launchDir:0];
}
//-----------------------------------------------------------------------------
// - applicationWillTerminate:
//-----------------------------------------------------------------------------
- (void)applicationWillTerminate:(NSNotification*)n
{
[Defaults commit];
}
//-----------------------------------------------------------------------------
// - runPageLayout:
//-----------------------------------------------------------------------------
- (void)runPageLayout:(id)sender
{
[[SD_PageLayout pageLayout] runModal];
}
//-----------------------------------------------------------------------------
// - new:
//-----------------------------------------------------------------------------
- (void)new:(id)sender
{
static NSOpenPanel* panel = 0;
if (panel == 0)
{
panel = [[NSOpenPanel openPanel] retain];
[panel setTitle:@"Open Directory"];
[panel setPrompt:@"Directory:"];
[panel setCanChooseDirectories:YES];
[panel setCanChooseFiles:NO];
[panel setAllowsMultipleSelection:YES];
[panel setTreatsFilePackagesAsDirectories:YES];
}
if ([panel runModal] == NSOKButton)
{
unsigned int i;
NSArray* filenames = [panel filenames];
for (i = [filenames count]; i-- > 0; )
[DirWindow launchDir:[filenames objectAtIndex:i]];
}
}
//-----------------------------------------------------------------------------
// - info:
//-----------------------------------------------------------------------------
- (void)info:(id)sender
{
if (infoPanel == 0)
{
NSString* s;
[NSBundle loadNibNamed:@"Info" owner:self];
s = [[NSBundle bundleForClass:[self class]]
pathForResource:@"README" ofType:@"rtf"];
if (s == 0)
s = [[NSBundle bundleForClass:[self class]]
pathForResource:@"README" ofType:@"rtfd"];
if (s != 0)
[infoText readRTFDFromFile:s];
}
[infoPanel makeKeyAndOrderFront:self];
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.