This is MiscFileDragView.m in view mode; [Download] [Up]
/* MiscFileDragView.m Copyright (C) 1996 Todd Thomas Use is governed by the MiscKit license This object is included in the MiscKit by permission from the author 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. */ // RCS identification information static char *rcsID = "$Id: MiscFileDragView.m,v 1.3 1996/10/07 02:49:25 todd Exp $"; static void __AvoidCompilerWarning(void) {if(!rcsID)__AvoidCompilerWarning();} #import <AppKit/AppKit.h> #import "MiscFileDragCell.h" #import "MiscFileDragView.h" // Our current class version (for archiving purposes). #define MISC_FILE_DRAG_VIEW_VERSION 0 // Class ivars static Class _dragCellClass = nil; @implementation MiscFileDragView /*" MiscFileDragView is a subclass of MiscDragView that only adds the few extra methods that MiscFileDragCell adds to MiscDragCell's API. Our default cell class is the MiscFileDragCell class. Most of our methods just pass the message on to our cell. "*/ + (void) initialize /*" Our class initializer. Sets our class version (for archiving) and our cell class (MiscFileDragCell). "*/ { if (self == [MiscFileDragView class]) { [self setVersion:MISC_FILE_DRAG_VIEW_VERSION]; [self setCellClass:[MiscFileDragCell class]]; } } + (Class) cellClass /*" Returns the cell class we use to create our cell upon initialization. By default it is MiscFileDragCell. "*/ { return _dragCellClass; } + (void) setCellClass:(Class)newDragCellClass /*" Sets our cell class that new instances will use. It should be a subclass of MiscFileDragCell for everything to work properly. "*/ { _dragCellClass = newDragCellClass; } - (NSString *) filename /*" Returns our filename or the empty string if we don't currently have a filename. If we represent more than one filename we return the first one. If you want access to all the filenames use our #filenames method. "*/ { return [[self cell] filename]; } - (void) setFilename:(NSString*)aFilename /*" Sets the filename we currently represent. This will also set the appropriate matching image. If aFilename is nil or empty we clear our current filename and image. "*/ { [[self cell] setFilename:aFilename]; } - (NSArray*) filenames /*" Returns our filenames or nil if we don't currently have a filename. If we represent one filename it will be the only filename in the array. If you know for sure we only represent a single filename you can use #filename. "*/ { return [[self cell] filenames]; } - (void) setFilenames:(NSArray*)filenames /*" Sets the filenames we currently represent. If filenames is nil that will remove any files we used to represent. "*/ { [[self cell] setFilenames:filenames]; } - (BOOL) allowsDoubleClickLaunch /*" Returns YES if double clicking the view when there is an image will get NSWorkspace to launch the filenames in whatever applications they've been registered to handled by. "*/ { return [[self cell] allowsDoubleClickLaunch]; } - (void) setAllowsDoubleClickLaunch:(BOOL)aBool /*" Sets whether double clicking will launch the filenames we represent. "*/ { [[self cell] setAllowsDoubleClickLaunch:aBool]; } - (void) launch:(id)sender /*" Passes the launch: message onto our cell. "*/ { [[self cell] launch:sender]; } - (id) initWithCoder:(NSCoder*)aDecoder /*" Decodes an instance of MiscFileDragView. "*/ { int version; [super initWithCoder:aDecoder]; version = [aDecoder versionForClassName:@"MiscFileDragView"]; switch (version) { case MISC_FILE_DRAG_VIEW_VERSION: break; default: NSLog(@"[%@ %@] - unknown version found.", NSStringFromClass([self class]), NSStringFromSelector(_cmd)); break; } return self; } - (void) encodeWithCoder:(NSCoder *)aCoder /*" Standard instance encoder. Currently does nothing because we have no instance variables. "*/ { [super encodeWithCoder:aCoder]; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.