Re: Sending non-string parameters to an AppleScript
Re: Sending non-string parameters to an AppleScript
- Subject: Re: Sending non-string parameters to an AppleScript
- From: Mike Abdullah <email@hidden>
- Date: Sun, 23 Jul 2006 18:08:26 +0100
Use somethign like this:
NSAppleEventDescriptor *xCoordinate = [NSAppleEventDescriptor
descriptorWithInt32: myPoint.x];
NSAppleEventDescriptor *yCoordinate = [NSAppleEventDescriptor
descriptorWithInt32: myPoint.y];
NSAppleEventDescriptor *newPoint = [NSAppleEventDescriptor
listDescriptor];
[newPoint insertDescriptor: xCoordinate atIndex: 1];
[newPoint insertDescriptor: xCoordinate atIndex: 2];
Then pass newPoint off to your script. Your script might have to do
a little work to reassemble the point into something the Finder can
understand.
In fact, you could probably wrap the above up into a Category for
NSAppleEventDescriptor for something like descriptorWithPoint:
Mike.
On 23 Jul 2006, at 3:58PM, Jeremy Dronfield wrote:
I'm calling an AppleScript using NSAppleScript and
NSAppleEventDescriptor. Part of the the purpose of the script is to
set the positions of the icons in a Finder window. My problem is in
working out how to pass a parameter (in this case a point) which
isn't an NSString, since +[NSAppleEventDescriptor
descriptorWithString:] seems to be the only way of passing an Obj-C
data type. In desperation I've tried using:
[NSAppleEventDescriptor descriptorWithString:NSStringFromPoint
(NSMakePoint(100, 100))]
and coercing the parameter to a point in the script with:
set position of item fileRef of windowRef to (newPosition as point)
but it doesn't work. I get an error: "{100, 100}" cannot be
converted to type point. Surely it must be possible to pass a point
(and other data types) to an AppleScript? If so, how?
Jeremy
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40gmail.com
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden