public
Description: A small sample application that defines a category of NSAppleEventDescriptor that will convert NSAppleEventDescriptors into normal Cocoa objects.
Homepage: http://www.fromconcentratesoftware.com/
Clone URL: git://github.com/Grayson/applescripttodictionarywithnutoo.git
Grayson Hansard (author)
Mon Apr 21 16:20:23 -0700 2008
applescripttodictionarywithnutoo / ApplescriptToDictionaryWithNuToo.sdef
100644 432 lines (423 sloc) 19.961 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dictionary SYSTEM "file://localhost/System/Library/DTDs/sdef.dtd">
<!--
 
File: Skeleton.sdef
 
Abstract: Starting sdef for a scriptable application.
 
Version: 1.0
 
© Copyright 2005 Apple Computer, Inc. All rights reserved.
 
IMPORTANT: This Apple software is supplied to
you by Apple Computer, Inc. ("Apple") in
consideration of your agreement to the following
terms, and your use, installation, modification
or redistribution of this Apple software
constitutes acceptance of these terms. If you do
not agree with these terms, please do not use,
install, modify or redistribute this Apple
software.
 
In consideration of your agreement to abide by
the following terms, and subject to these terms,
Apple grants you a personal, non-exclusive
license, under Apple's copyrights in this
original Apple software (the "Apple Software"),
to use, reproduce, modify and redistribute the
Apple Software, with or without modifications, in
source and/or binary forms; provided that if you
redistribute the Apple Software in its entirety
and without modifications, you must retain this
notice and the following text and disclaimers in
all such redistributions of the Apple Software.
Neither the name, trademarks, service marks or
logos of Apple Computer, Inc. may be used to
endorse or promote products derived from the
Apple Software without specific prior written
permission from Apple. Except as expressly
stated in this notice, no other rights or
licenses, express or implied, are granted by
Apple herein, including but not limited to any
patent rights that may be infringed by your
derivative works or by other works in which the
Apple Software may be incorporated.
 
The Apple Software is provided by Apple on an "AS
IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED
WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING
THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE
OR IN COMBINATION WITH YOUR PRODUCTS.
 
IN NO EVENT SHALL APPLE BE LIABLE FOR ANY
SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE,
REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF
THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER
UNDER THEORY OF CONTRACT, TORT (INCLUDING
NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN
IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
 
-->
<dictionary title="ApplescriptToDictionaryWithNuToo">
<!--
STANDARD SUITE
-->
<suite name="Standard Suite" code="core" description="Common classes and commands for all applications.">
<enumeration name="save options" code="savo">
<enumerator name="yes" code="yes " description="Save the file."/>
<enumerator name="no" code="no " description="Do not save the file."/>
<enumerator name="ask" code="ask " description="Ask the user whether or not to save the file."/>
</enumeration>
<enumeration name="printing error handling" code="enum">
<enumerator name="standard" code="lwst" description="Standard PostScript error handling"/>
<enumerator name="detailed" code="lwdt" description="print a detailed report of PostScript errors"/>
</enumeration>
<record-type name="print settings" code="pset">
<property name="copies" code="lwcp" description="the number of copies of a document to be printed" type="integer">
<cocoa key="NSCopies"/>
</property>
<property name="collating" code="lwcl" description="Should printed copies be collated?" type="boolean">
<cocoa key="NSMustCollate"/>
</property>
<property name="starting page" code="lwfp" description="the first page of the document to be printed" type="integer">
<cocoa key="NSFirstPage"/>
</property>
<property name="ending page" code="lwlp" description="the last page of the document to be printed" type="integer">
<cocoa key="NSLastPage"/>
</property>
<property name="pages across" code="lwla" description="number of logical pages laid across a physical page" type="integer">
<cocoa key="NSPagesAcross"/>
</property>
<property name="pages down" code="lwld" description="number of logical pages laid out down a physical page" type="integer">
<cocoa key="NSPagesDown"/>
</property>
<property name="error handling" code="lweh" description="how errors are handled" type="printing error handling">
<cocoa key="NSDetailedErrorReporting"/>
</property>
<property name="fax number" code="faxn" description="for fax number" type="text">
<cocoa key="NSFaxNumber"/>
</property>
<property name="target printer" code="trpr" description="for target printer" type="text">
<cocoa key="NSPrinterName"/>
</property>
</record-type>
<class name="application" code="capp" description="The application&apos;s top-level scripting object.">
<cocoa class="NSApplication"/>
<element type="document">
<cocoa key="orderedDocuments"/>
</element>
<element type="window" access="r">
<cocoa key="orderedWindows"/>
</element>
<property name="name" code="pnam" description="The name of the application." type="text" access="r"/>
<property name="frontmost" code="pisf" description="Is this the frontmost (active) application?" type="boolean" access="r">
<cocoa key="isActive"/>
</property>
<property name="version" code="vers" description="The version of the application." type="text" access="r"/>
<responds-to name="open">
<cocoa method="handleOpenScriptCommand:"/>
</responds-to>
<responds-to name="print">
<cocoa method="handlePrintScriptCommand:"/>
</responds-to>
<responds-to name="quit">
<cocoa method="handleQuitScriptCommand:"/>
</responds-to>
</class>
<class name="document" code="docu" description="A Sketch document.">
<cocoa class="NSDocument"/>
<property name="name" code="pnam" description="The document&apos;s name." type="text" access="r">
<cocoa key="displayName"/>
</property>
<property name="modified" code="imod" description="Has the document been modified since the last save?" type="boolean" access="r">
<cocoa key="isDocumentEdited"/>
</property>
<property name="file" code="file" description="The document&apos;s location on disk." type="file" access="r">
<cocoa key="fileURL"/>
</property>
<responds-to name="close">
<cocoa method="handleCloseScriptCommand:"/>
</responds-to>
<responds-to name="print">
<cocoa method="handlePrintScriptCommand:"/>
</responds-to>
<responds-to name="save">
<cocoa method="handleSaveScriptCommand:"/>
</responds-to>
</class>
<class name="window" code="cwin" description="A window.">
<cocoa class="NSWindow"/>
<property name="name" code="pnam" description="The full title of the window." type="text" access="r">
<cocoa key="title"/>
</property>
<property name="id" code="ID " description="The unique identifier of the window." type="integer" access="r">
<cocoa key="uniqueID"/>
</property>
<property name="index" code="pidx" description="The index of the window, ordered front to back." type="integer">
<cocoa key="orderedIndex"/>
</property>
<property name="bounds" code="pbnd" description="The bounding rectangle of the window." type="rectangle">
<cocoa key="boundsAsQDRect"/>
</property>
<property name="closeable" code="hclb" description="Whether the window has a close box." type="boolean" access="r">
<cocoa key="hasCloseBox"/>
</property>
<property name="minimizable" code="ismn" description="Whether the window can be minimized." type="boolean" access="r">
<cocoa key="isMiniaturizable"/>
<synonym name="miniaturizable"/>
</property>
<property name="minimized" code="pmnd" description="Whether the window is currently minimized." type="boolean">
<cocoa key="isMiniaturized"/>
<synonym name="miniaturized"/>
</property>
<property name="resizable" code="prsz" description="Whether the window can be resized." type="boolean" access="r">
<cocoa key="isResizable"/>
</property>
<property name="visible" code="pvis" description="Whether the window is currently visible." type="boolean">
<cocoa key="isVisible"/>
</property>
<property name="zoomable" code="iszm" description="Whether the window can be zoomed." type="boolean" access="r">
<cocoa key="isZoomable"/>
</property>
<property name="zoomed" code="pzum" description="Whether the window is currently zoomed." type="boolean">
<cocoa key="isZoomed"/>
</property>
<property name="document" code="docu" description="The document whose contents are being displayed in the window." type="document" access="r"/>
<responds-to name="close">
<cocoa method="handleCloseScriptCommand:"/>
</responds-to>
<responds-to name="print">
<cocoa method="handlePrintScriptCommand:"/>
</responds-to>
<responds-to name="save">
<cocoa method="handleSaveScriptCommand:"/>
</responds-to>
</class>
<command name="open" code="aevtodoc" description="Open a document.">
<direct-parameter description="The file(s) to be opened.">
<type type="file" list="yes"/>
</direct-parameter>
</command>
<command name="close" code="coreclos" description="Close a document.">
<cocoa class="NSCloseCommand"/>
<direct-parameter description="the document(s) or window(s) to close." type="specifier"/>
<parameter name="saving" code="savo" description="Whether or not changes should be saved before closing." type="save options" optional="yes">
<cocoa key="SaveOptions"/>
</parameter>
<parameter name="saving in" code="kfil" description="The file in which to save the document." type="file" optional="yes">
<cocoa key="File"/>
</parameter>
</command>
<command name="save" code="coresave" description="Save a document.">
<direct-parameter description="The document(s) or window(s) to save." type="specifier"/>
<parameter name="in" code="kfil" description="The file in which to save the document." type="file" optional="yes">
<cocoa key="File"/>
</parameter>
<parameter name="as" code="fltp" description="The type of file to save." type="text" optional="yes">
<cocoa key="FileType"/>
</parameter>
</command>
<command name="print" code="aevtpdoc" description="Print a document.">
<direct-parameter description="The file(s), document(s), or window(s) to be printed.">
<type type="file" list="yes"/>
<type type="specifier"/>
</direct-parameter>
<parameter name="with properties" code="prdt" description="The print settings to use." type="print settings" optional="yes">
<cocoa key="PrintSettings"/>
</parameter>
<parameter name="print dialog" code="pdlg" description="Should the application show the print dialog?" type="boolean" optional="yes">
<cocoa key="ShowPrintDialog"/>
</parameter>
</command>
<command name="quit" code="aevtquit" description="Quit the application.">
<cocoa class="NSQuitCommand"/>
<parameter name="saving" code="savo" description="Whether or not changed documents should be saved before closing." type="save options" optional="yes">
<cocoa key="SaveOptions"/>
</parameter>
</command>
<command name="count" code="corecnte" description="Return the number of elements of a particular class within an object.">
<cocoa class="NSCountCommand"/>
<direct-parameter description="the object whose elements are to be counted" type="specifier"/>
<parameter name="each" code="kocl" description="The class of objects to be counted." type="type" optional="yes">
<cocoa key="ObjectClass"/>
</parameter>
<result description="the number of elements" type="integer"/>
</command>
<command name="delete" code="coredelo" description="Delete an object.">
<cocoa class="NSDeleteCommand"/>
<direct-parameter description="the object to delete" type="specifier"/>
</command>
<command name="duplicate" code="coreclon" description="Copy object(s) and put the copies at a new location.">
<cocoa class="NSCloneCommand"/>
<direct-parameter description="the object(s) to duplicate" type="specifier"/>
<parameter name="to" code="insh" description="The location for the new object(s)." type="location specifier" optional="yes">
<cocoa key="ToLocation"/>
</parameter>
<parameter name="with properties" code="prdt" description="Properties to be set in the new duplicated object(s)." type="record" optional="yes">
<cocoa key="WithProperties"/>
</parameter>
<result description="to the duplicated object(s)" type="specifier"/>
</command>
<command name="exists" code="coredoex" description="Verify if an object exists.">
<cocoa class="NSExistsCommand"/>
<direct-parameter description="the object in question" type="any"/>
<result description="true if it exists, false if not" type="boolean"/>
</command>
<command name="make" code="corecrel" description="Make a new object.">
<cocoa class="NSCreateCommand"/>
<parameter name="new" code="kocl" description="The class of the new object." type="type">
<cocoa key="ObjectClass"/>
</parameter>
<parameter name="at" code="insh" description="The location at which to insert the object." type="location specifier" optional="yes">
<cocoa key="Location"/>
</parameter>
<parameter name="with contents" code="data" description="The initial contents of the object." type="any" optional="yes">
<cocoa key="ObjectData"/>
<synonym name="with data"/>
</parameter>
<parameter name="with properties" code="prdt" description="The initial values for properties of the object." type="record" optional="yes">
<cocoa key="KeyDictionary"/>
</parameter>
<result description="to the new object" type="specifier"/>
</command>
<command name="move" code="coremove" description="Move object(s) to a new location.">
<cocoa class="NSMoveCommand"/>
<direct-parameter description="the object(s) to move" type="specifier"/>
<parameter name="to" code="insh" description="The new location for the object(s)." type="location specifier">
<cocoa key="ToLocation"/>
</parameter>
<result description="to the moved object(s)" type="specifier"/>
</command>
</suite>
<!--
TEXT SUITE
-->
<suite name="Text Suite" code="TEXT" description="A set of basic classes for text processing.">
<value-type name="color" code="cRGB">
<cocoa class="NSColor"/>
</value-type>
<class name="rich text" code="ctxt" description="Rich (styled) text" plural="rich text">
<cocoa class="NSTextStorage"/>
<element type="character"/>
<element type="paragraph"/>
<element type="word"/>
<element type="attribute run"/>
<element type="attachment"/>
<property name="color" code="colr" description="The color of the first character." type="color">
<cocoa key="foregroundColor"/>
</property>
<property name="font" code="font" description="The name of the font of the first character." type="text">
<cocoa key="fontName"/>
</property>
<property name="size" code="ptsz" description="The size in points of the first character." type="real">
<cocoa key="fontSize"/>
</property>
</class>
<class name="character" code="cha " description="This subdivides the text into characters.">
<cocoa class="NSTextStorage"/>
<element type="character"/>
<element type="paragraph"/>
<element type="word"/>
<element type="attribute run"/>
<element type="attachment"/>
<property name="color" code="colr" description="The color of the first character." type="color">
<cocoa key="foregroundColor"/>
</property>
<property name="font" code="font" description="The name of the font of the first character." type="text">
<cocoa key="fontName"/>
</property>
<property name="size" code="ptsz" description="The size in points of the first character." type="integer">
<cocoa key="fontSize"/>
</property>
</class>
<class name="paragraph" code="cpar" description="This subdivides the text into paragraphs.">
<cocoa class="NSTextStorage"/>
<element type="character"/>
<element type="paragraph"/>
<element type="word"/>
<element type="attribute run"/>
<element type="attachment"/>
<property name="color" code="colr" description="The color of the first character." type="color">
<cocoa key="foregroundColor"/>
</property>
<property name="font" code="font" description="The name of the font of the first character." type="text">
<cocoa key="fontName"/>
</property>
<property name="size" code="ptsz" description="The size in points of the first character." type="integer">
<cocoa key="fontSize"/>
</property>
</class>
<class name="word" code="cwor" description="This subdivides the text into words.">
<cocoa class="NSTextStorage"/>
<element type="character"/>
<element type="paragraph"/>
<element type="word"/>
<element type="attribute run"/>
<element type="attachment"/>
<property name="color" code="colr" description="The color of the first character." type="color">
<cocoa key="foregroundColor"/>
</property>
<property name="font" code="font" description="The name of the font of the first character." type="text">
<cocoa key="fontName"/>
</property>
<property name="size" code="ptsz" description="The size in points of the first character." type="integer">
<cocoa key="fontSize"/>
</property>
</class>
<class name="attribute run" code="catr" description="This subdivides the text into chunks that all have the same attributes.">
<cocoa class="NSTextStorage"/>
<element type="character"/>
<element type="paragraph"/>
<element type="word"/>
<element type="attribute run"/>
<element type="attachment"/>
<property name="color" code="colr" description="The color of the first character." type="color">
<cocoa key="foregroundColor"/>
</property>
<property name="font" code="font" description="The name of the font of the first character." type="text">
<cocoa key="fontName"/>
</property>
<property name="size" code="ptsz" description="The size in points of the first character." type="integer">
<cocoa key="fontSize"/>
</property>
</class>
<class name="attachment" code="atts" description="Represents an inline text attachment. This class is used mainly for make commands." inherits="rich text">
<cocoa class="NSAttachmentTextStorage"/>
<property name="file" code="atfn" description="The path to the file for the attachment" type="file" access="r">
<cocoa key="filename"/>
<synonym name="file name"/>
</property>
</class>
</suite>
<suite name="ApplescriptToDictionaryWithNuToo" code="aDnt">
<cocoa name="ApplescriptToDictionaryWithNuToo"/>
<class name="application" code="capp" inherits="application">
<cocoa class="NSApplication"/>
<responds-to name="perform nu">
<cocoa method="ASPerformNu:"/>
</responds-to>
</class>
<command name="perform nu" code="aDntpfNu" description="Runs Nu code and returns the result.">
<direct-parameter description="The Nu code to run." type="text"/>
<parameter name="with context" code="wCtx" description="A dictionary of items to be inserted into the Nu code&apos;s context." type="any" optional="yes">
<cocoa key="context"/>
</parameter>
<result description="The result of the Nu code.">
<type type="any"/>
<type type="date"/>
<type type="number"/>
<type type="real"/>
<type type="record"/>
<type type="boolean"/>
<type type="text"/>
<type type="any" list="yes"/>
<type type="date" list="yes"/>
<type type="integer" list="yes"/>
<type type="number" list="yes"/>
<type type="real" list="yes"/>
<type type="record" list="yes"/>
<type type="boolean" list="yes"/>
<type type="text" list="yes"/>
</result>
</command>
</suite>
</dictionary>