Changeset 5178
- Timestamp:
- 01/18/08 05:53:41 (6 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
WiredAdditions/trunk/WIImageViewWithImagePicker.h
r4787 r5178 31 31 NSSize _maxImageSize; 32 32 33 BOOL _pickerIsAvailable; 33 BOOL _10_4_pickerIsAvailable; 34 BOOL _10_5_pickerIsAvailable; 34 35 id _picker; 35 36 } WiredAdditions/trunk/WIImageViewWithImagePicker.m
r5002 r5178 124 124 125 125 126 // 127 // IKPictureTaker.h 128 // ImageKit 129 // 130 // Copyright (c) 2006 Apple Computer, Inc. All rights reserved. 131 // 132 133 @interface IKPictureTaker : NSPanel { 134 @private 135 void *__strong _ikReserved; 136 } 137 138 + (IKPictureTaker *) pictureTaker; 139 - (NSInteger) runModal; 140 - (void) beginPictureTakerWithDelegate:(id) delegate didEndSelector:(SEL) didEndSelector contextInfo:(void *) contextInfo; 141 - (void) beginPictureTakerSheetForWindow:(NSWindow *)aWindow withDelegate:(id) delegate didEndSelector:(SEL) didEndSelector contextInfo:(void *) contextInfo; 142 - (void) popUpRecentsMenuForView:(NSView *) aView withDelegate:(id) delegate didEndSelector:(SEL) didEndSelector contextInfo:(void *) contextInfo; 143 - (void) setInputImage:(NSImage *) image; 144 - (NSImage*) inputImage; 145 - (NSImage*) outputImage; 146 - (void) setMirroring:(BOOL)b; 147 - (BOOL) mirroring; 148 149 @end 150 151 extern NSString *const IKPictureTakerAllowsVideoCaptureKey; 152 extern NSString *const IKPictureTakerAllowsFileChoosingKey; 153 extern NSString *const IKPictureTakerShowRecentPictureKey; 154 extern NSString *const IKPictureTakerUpdateRecentPictureKey; 155 extern NSString *const IKPictureTakerAllowsEditingKey; 156 extern NSString *const IKPictureTakerShowEffectsKey; 157 extern NSString *const IKPictureTakerInformationalTextKey; 158 extern NSString *const IKPictureTakerImageTransformsKey; 159 extern NSString *const IKPictureTakerOutputImageMaxSizeKey; 160 extern NSString *const IKPictureTakerCropAreaSizeKey; 161 extern NSString *const IKPictureTakerShowAddressBookPictureKey; 162 extern NSString *const IKPictureTakerShowEmptyPictureKey; 163 164 165 126 166 @interface WIImageViewWithImagePicker(Private) 127 167 … … 140 180 recentPictureClass = NSClassFromString(@"NSIPRecentPicture"); 141 181 142 _pickerIsAvailable = ([pickerClass respondsToSelector:@selector(sharedImagePickerControllerCreate:withTexturedWindow:)] && 143 [pickerClass instancesRespondToSelector:@selector(window)] && 144 [pickerClass instancesRespondToSelector:@selector(initAtPoint:inWindow:)] && 145 [pickerClass instancesRespondToSelector:@selector(setDelegate:)] && 146 [pickerClass instancesRespondToSelector:@selector(selectionChanged)] && 147 [recentPictureClass instancesRespondToSelector:@selector(initWithOriginalImage:)] && 148 [recentPictureClass instancesRespondToSelector:@selector(setCurrent)] && 149 [recentPictureClass respondsToSelector:@selector(_saveChanges)]); 182 _10_4_pickerIsAvailable = ([pickerClass respondsToSelector:@selector(sharedImagePickerControllerCreate:withTexturedWindow:)] && 183 [pickerClass instancesRespondToSelector:@selector(window)] && 184 [pickerClass instancesRespondToSelector:@selector(initAtPoint:inWindow:)] && 185 [pickerClass instancesRespondToSelector:@selector(setDelegate:)] && 186 [pickerClass instancesRespondToSelector:@selector(selectionChanged)] && 187 [recentPictureClass instancesRespondToSelector:@selector(initWithOriginalImage:)] && 188 [recentPictureClass instancesRespondToSelector:@selector(setCurrent)] && 189 [recentPictureClass respondsToSelector:@selector(_saveChanges)]); 190 191 _10_5_pickerIsAvailable = (NSClassFromString(@"IKImagePicker") != NULL); 150 192 } 151 193 … … 159 201 NSPoint point; 160 202 161 if(_pickerIsAvailable) { 203 if(_10_5_pickerIsAvailable) { 204 if(!_picker) 205 _picker = [[NSClassFromString(@"IKImagePicker") pictureTaker] retain]; 206 207 [_picker setInputImage:[self image]]; 208 [_picker beginPictureTakerWithDelegate:self 209 didEndSelector:@selector(pictureTakerDidEnd:returnCode:contextInfo:) 210 contextInfo:NULL]; 211 } 212 else if(_10_4_pickerIsAvailable) { 162 213 if(!_picker) { 163 214 _picker = [[NSClassFromString(@"NSImagePickerController") sharedImagePickerControllerCreate:YES withTexturedWindow:NO] retain]; … … 330 381 #pragma mark - 331 382 383 - (void) pictureTakerDidEnd:(id)picker returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo { 384 if(returnCode == NSOKButton) { 385 [self setImage:[picker outputImage]]; 386 387 [[self target] performSelector:[self action] withObject:self]; 388 } 389 } 390 391 392 393 #pragma mark - 394 332 395 - (void)imagePicker:(id)imagePicker selectedImage:(NSImage *)image { 333 396 NSIPRecentPicture *recentPicture; WiredAdditions/trunk/WiredAdditions.xcodeproj/project.pbxproj
r5109 r5178 183 183 A54E10FD0C0799C300EF5FBF /* WIImageViewWithImagePicker.m in Sources */ = {isa = PBXBuildFile; fileRef = A54E10FB0C0799C300EF5FBF /* WIImageViewWithImagePicker.m */; }; 184 184 A54E11160C079A3900EF5FBF /* AddressBook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A54E11150C079A3900EF5FBF /* AddressBook.framework */; }; 185 A5604A060D4069060080EA07 /* Quartz.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A5604A050D4069060080EA07 /* Quartz.framework */; }; 185 186 A569E7FC0CCBFB740046F90E /* NSBezierPath-WIAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = A569E7FA0CCBFB740046F90E /* NSBezierPath-WIAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; 186 187 A569E7FD0CCBFB740046F90E /* NSBezierPath-WIAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = A569E7FB0CCBFB740046F90E /* NSBezierPath-WIAdditions.m */; }; … … 393 394 A54E10FB0C0799C300EF5FBF /* WIImageViewWithImagePicker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WIImageViewWithImagePicker.m; sourceTree = "<group>"; }; 394 395 A54E11150C079A3900EF5FBF /* AddressBook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBook.framework; path = /System/Library/Frameworks/AddressBook.framework; sourceTree = "<absolute>"; }; 396 A5604A050D4069060080EA07 /* Quartz.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Quartz.framework; path = /System/Library/Frameworks/Quartz.framework; sourceTree = "<absolute>"; }; 395 397 A56288F1097ED2BD00F34C4C /* wired */ = {isa = PBXFileReference; lastKnownFileType = folder; path = wired; sourceTree = BUILT_PRODUCTS_DIR; }; 396 398 A56443710A261F1C00ADF4F5 /* Japanese */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = Japanese; path = WiredAdditions/Japanese.lproj/ReleaseNotes.nib; sourceTree = "<group>"; }; … … 443 445 8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */, 444 446 7724739A09DD82E30010335B /* ExceptionHandling.framework in Frameworks */, 447 A5604A060D4069060080EA07 /* Quartz.framework in Frameworks */, 445 448 ); 446 449 runOnlyForDeploymentPostprocessing = 0; … … 463 466 isa = PBXGroup; 464 467 children = ( 468 A5604A050D4069060080EA07 /* Quartz.framework */, 465 469 774896E40CC8A5BF00E95A83 /* Wired Additions */, 466 470 774896E70CC8A5CC00E95A83 /* Wired Networking */,
