Re: Subclassing a Subclass of SBApplication
Re: Subclassing a Subclass of SBApplication
- Subject: Re: Subclassing a Subclass of SBApplication
- From: Conrad Shultz <email@hidden>
- Date: Tue, 30 Jun 2015 10:52:09 -0700
Note that this is a category, not a class extension.
-Conrad
> On Jun 30, 2015, at 6:19 AM, Jean-Daniel Dupas <email@hidden> wrote:
>
> Using class extension is probably a safe way to extends such classes.
>
> @interface SXPhotoshopApplication (MyExtension)
>
> - (void)myWrapper;
>
> @end
>
>
>> Le 29 juin 2015 à 13:54, Dave <email@hidden <mailto:email@hidden>> a écrit :
>>
>> Hi,
>>
>> I’m using the Scripting Bridge, and I was wondering if it ok to subclass SBXXX classes. Basically, I have a header file generated by the “sdp” tool with definitions as below:
>>
>> And I’d like to subclass this to add some extra wrapping to hide some of the nastiness from the rest of the app and provide a tighter integration with the current app handling. I remember reading somewhere that these classes shouldn’t be subclassed, but I can’t seem to find it again now.
>>
>> Thanks a lot
>> Dave
>>
>> -------------------------
>>
>> @interface SXPhotoshopApplication : SBApplication
>>
>> - (SBElementArray *) documents;
>> - (SBElementArray *) fonts;
>> - (SBElementArray *) notifiers;
>>
>> @property (copy, readonly) NSNumber *bestType; // the best type for the object's value
>> @property (copy, readonly) NSNumber *defaultType; // the default type for the object's value
>> @property (copy) NSDictionary *properties; // all of this object's properties returned in a single record
>> @property (copy) SXPhotoshopColorValue *backgroundColor;
>> @property (copy, readonly) NSString *build; // the build number of Adobe Photoshop application
>> @property (copy) id colorSettings; // name of selected color settings' set
>> @property (copy) SXPhotoshopDocument *currentDocument; // the frontmost document
>> @property SXPhotoshopE050 displayDialogs; // controls whether or not Photoshop displays dialogs
>> @property (copy) SXPhotoshopColorValue *foregroundColor;
>> @property (readonly) double freeMemory; // the amount of unused memory available to Adobe Photoshop
>> @property (readonly) BOOL frontmost; // is Photoshop the frontmost application?
>> @property (copy, readonly) NSString *locale; // language locale of application
>> @property (copy, readonly) NSArray *macintoshFileTypes; // list of file image types Photoshop can open
>> @property (copy, readonly) NSString *name; // the application's name
>> @property BOOL notifiersEnabled; // enable or disable all notifiers
>> @property (copy, readonly) id preferencesFolder; // full path to the preferences folder
>> @property (copy, readonly) NSArray *recentFiles; // files in the recent file list
>> @property (copy, readonly) NSString *scriptingBuildDate; // the build date of the scripting interface
>> @property (copy, readonly) NSString *scriptingVersion; // the version of the Scripting interface
>> @property (copy, readonly) SXPhotoshopSettingsObject *settings; // preference settings
>> @property (copy, readonly) NSString *systemInformation; // system information of the host application and machine
>> @property (copy, readonly) NSString *version; // the version of Adobe Photoshop application
>> @property (copy, readonly) NSArray *windowsFileTypes; // list of file image extensions Photoshop can open
>>
>> - (void) AETEScriptsScriptsJavaScriptNameName:(NSString *)JavaScriptNameName JavaScriptFileFile:(NSString *)JavaScriptFileFile JavaScriptTextText:(NSString *)JavaScriptTextText JavaScriptDebuggingDebugging:(BOOL)JavaScriptDebuggingDebugging JavaScriptMessageMessage:(NSString *)JavaScriptMessageMessage; // Photoshop scripting support plug-in
>> - (void) open:(id)x as:(SXPhotoshopOpAs)as withOptions:(SXPhotoshopOpenOptions *)withOptions showingDialogs:(SXPhotoshopE050)showingDialogs smartObject:(BOOL)smartObject; // open the specified document file(s)
>> - (void) print:(id)x sourceSpace:(SXPhotoshopE945)sourceSpace printSpace:(NSString *)printSpace intent:(SXPhotoshopE130)intent blackpointCompensation:(BOOL)blackpointCompensation; // print the specified object(s)
>> - (void) quit; // quit the application
>> - (NSArray *) PhotoshopOpenDialog; // use the Photoshop open dialog to select files
>> - (NSString *) batch:(NSString *)x fromFiles:(NSArray *)fromFiles from:(NSString *)from withOptions:(SXPhotoshopBatchOptions *)withOptions; // run the batch automation routine
>> - (NSString *) createPDFPresentationFromFiles:(NSArray *)fromFiles toFile:(id)toFile withOptions:(SXPhotoshopPresentationOptions *)withOptions; // create a PDF presentation file
>> - (NSString *) createContactSheetFromFiles:(NSArray *)fromFiles withOptions:(SXPhotoshopContactSheetOptions *)withOptions; // create a contact sheet from multiple files
>> - (NSString *) createPhotoGalleryFromFolder:(id)fromFolder toFolder:(id)toFolder withOptions:(SXPhotoshopGalleryOptions *)withOptions; // Creates a web photo gallery
>> - (NSString *) createPhotoMergeFromFiles:(NSArray *)fromFiles; // DEPRECATED. Merges multiple files into one, user interaction required.
>> - (NSString *) createPicturePackageFromFiles:(NSArray *)fromFiles withOptions:(SXPhotoshopPicturePackageOptions *)withOptions; // create a picture package from multiple files
>> - (BOOL) featureEnabledName:(NSString *)name; // is the feature with the given name enabled?
>> - (void) purge:(SXPhotoshopE150)x; // purges one or more caches
>> - (void) refresh; // pause the script until the application refreshes
>> - (SXPhotoshopRGBColor *) webSafeColorFor:(SXPhotoshopColorValue *)for_; // find the closest web safe color for a color
>> - (void) clear; // clear current selection
>> - (void) copy NS_RETURNS_NOT_RETAINED; // copy current selection to the clipboard
>> - (void) copyMerged NS_RETURNS_NOT_RETAINED; // copy current selection to the clipboard. Include data in all visible layers.
>> - (void) cut; // cut current selection to the clipboard
>> - (void) doAction:(NSString *)x from:(NSString *)from; // play an action from the Actions Palette
>> - (NSString *) doJavascript:(id)x withArguments:(NSArray *)withArguments showDebugger:(SXPhotoshopE940)showDebugger; // execute a JavaScript
>> - (void) pasteClippingToSelection:(BOOL)clippingToSelection; // paste clipboard into the current document
>>
>> @end
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>>
>> Cocoa-dev mailing list (email@hidden)
>>
>> Please do not post admin requests or moderator comments to the list.
>> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>>
>> Help/Unsubscribe/Update your Subscription:
>>
>> This email sent to email@hidden <mailto:email@hidden>
>
>
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden <mailto:email@hidden>)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com <http://lists.apple.com/>
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden <mailto:email@hidden>
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden