forked from davebaldwin/Ruby-Sketch
/
Sketch.sdef
455 lines (412 loc) · 19 KB
/
Sketch.sdef
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
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dictionary SYSTEM "file://localhost/System/Library/DTDs/sdef.dtd">
<dictionary title="Sketch Terminology">
<suite name="Standard Suite" code="????" description="Common classes and commands for all applications.">
<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>
<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>
<command name="close" code="coreclos" description="Close a document.">
<cocoa class="NSCloseCommand"/>
<direct-parameter type="specifier" description="the document(s) or window(s) to close."/>
<parameter name="saving" code="savo" type="save options" optional="yes" description="Should changes be saved before closing?">
<cocoa key="SaveOptions"/>
</parameter>
<parameter name="saving in" code="kfil" type="file" optional="yes" description="The file in which to save the document, if so.">
<cocoa key="File"/>
</parameter>
</command>
<command name="save" code="coresave" description="Save a document.">
<direct-parameter type="specifier" description="The document(s) or window(s) to save."/>
<parameter name="in" code="kfil" type="file" optional="yes" description="The file in which to save the document.">
<cocoa key="File"/>
</parameter>
<parameter name="as" code="fltp" type="saveable file format" optional="yes" description="The file format to use.">
<cocoa key="FileType"/>
</parameter>
</command>
<enumeration name="printing error handling" code="enum">
<enumerator name="standard" code="lwst" description="Standard PostScript error handling">
<cocoa boolean-value="NO"/>
</enumerator>
<enumerator name="detailed" code="lwdt" description="print a detailed report of PostScript errors">
<cocoa boolean-value="YES"/>
</enumerator>
</enumeration>
<record-type name="print settings" code="pset">
<property name="copies" code="lwcp" type="integer" description="the number of copies of a document to be printed">
<cocoa key="NSCopies"/>
</property>
<property name="collating" code="lwcl" type="boolean" description="Should printed copies be collated?">
<cocoa key="NSMustCollate"/>
</property>
<property name="starting page" code="lwfp" type="integer" description="the first page of the document to be printed">
<cocoa key="NSFirstPage"/>
</property>
<property name="ending page" code="lwlp" type="integer" description="the last page of the document to be printed">
<cocoa key="NSLastPage"/>
</property>
<property name="pages across" code="lwla" type="integer" description="number of logical pages laid across a physical page">
<cocoa key="NSPagesAcross"/>
</property>
<property name="pages down" code="lwld" type="integer" description="number of logical pages laid out down a physical page">
<cocoa key="NSPagesDown"/>
</property>
<property name="requested print time" code="lwqt" type="date" description="the time at which the desktop printer should print the document">
<cocoa key="NSPrintTime"/>
</property>
<property name="error handling" code="lweh" type="printing error handling" description="how errors are handled">
<cocoa key="NSDetailedErrorReporting"/>
</property>
<property name="fax number" code="faxn" type="text" description="for fax number">
<cocoa key="NSFaxNumber"/>
</property>
<property name="target printer" code="trpr" type="text" description="for target printer">
<cocoa key="NSPrinterName"/>
</property>
</record-type>
<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" type="print settings" optional="yes" description="The print settings to use.">
<cocoa key="PrintSettings"/>
</parameter>
<parameter name="print dialog" code="pdlg" type="boolean" optional="yes" description="Should the application show the print dialog?">
<cocoa key="ShowPrintDialog"/>
</parameter>
</command>
<command name="quit" code="aevtquit" description="Quit the application.">
<cocoa class="NSQuitCommand"/>
<parameter name="saving" code="savo" type="save options" optional="yes" description="Should changes be saved before quitting?">
<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 type="specifier" description="The objects to be counted."/>
<parameter name="each" code="kocl" type="type" optional="yes" description="The class of objects to be counted." hidden="yes">
<cocoa key="ObjectClass"/>
</parameter>
<result type="integer" description="The count."/>
</command>
<command name="delete" code="coredelo" description="Delete an object.">
<cocoa class="NSDeleteCommand"/>
<direct-parameter type="specifier" description="The object(s) to delete."/>
</command>
<command name="duplicate" code="coreclon" description="Copy an object.">
<cocoa class="NSCloneCommand"/>
<direct-parameter type="specifier" description="The object(s) to copy."/>
<parameter name="to" code="insh" type="location specifier" description="The location for the new copy or copies." optional="yes">
<cocoa key="ToLocation"/>
</parameter>
<parameter name="with properties" code="prdt" type="record" description="Properties to set in the new copy or copies right away." optional="yes">
<cocoa key="WithProperties"/>
</parameter>
</command>
<command name="exists" code="coredoex" description="Verify that an object exists.">
<cocoa class="NSExistsCommand"/>
<direct-parameter type="any" description="The object(s) to check."/>
<result type="boolean" description="Did the object(s) exist?"/>
</command>
<command name="make" code="corecrel" description="Create a new object.">
<cocoa class="NSCreateCommand"/>
<parameter name="new" code="kocl" type="type" description="The class of the new object.">
<cocoa key="ObjectClass"/>
</parameter>
<parameter name="at" code="insh" type="location specifier" optional="yes" description="The location at which to insert the object.">
<cocoa key="Location"/>
</parameter>
<parameter name="with data" code="data" type="any" optional="yes" description="The initial contents of the object.">
<cocoa key="ObjectData"/>
</parameter>
<parameter name="with properties" code="prdt" type="record" optional="yes" description="The initial values for properties of the object.">
<cocoa key="KeyDictionary"/>
</parameter>
<result type="specifier" description="The new object."/>
</command>
<command name="move" code="coremove" description="Move an object to a new location.">
<cocoa class="NSMoveCommand"/>
<direct-parameter type="specifier" description="The object(s) to move."/>
<parameter name="to" code="insh" type="location specifier" description="The new location for the object(s).">
<cocoa key="ToLocation"/>
</parameter>
</command>
<class name="application" code="capp" description="The application's top-level scripting object.">
<cocoa class="NSApplication"/>
<property name="name" code="pnam" type="text" access="r" description="The name of the application."/>
<property name="frontmost" code="pisf" type="boolean" access="r" description="Is this the active application?">
<cocoa key="isActive"/>
</property>
<property name="version" code="vers" type="text" access="r" description="The version number of the application."/>
<element type="document">
<cocoa key="orderedDocuments"/>
</element>
<element type="window" access="r">
<cocoa key="orderedWindows"/>
</element>
<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="window" code="cwin" description="A window.">
<cocoa class="NSWindow"/>
<property name="name" code="pnam" type="text" access="r" description="The title of the window.">
<cocoa key="title"/>
</property>
<property name="id" code="ID " type="integer" access="r" description="The unique identifier of the window.">
<cocoa key="uniqueID"/>
</property>
<property name="index" code="pidx" type="integer" description="The index of the window, ordered front to back.">
<cocoa key="orderedIndex"/>
</property>
<property name="bounds" code="pbnd" type="rectangle" description="The bounding rectangle of the window.">
<cocoa key="boundsAsQDRect"/>
</property>
<property name="closeable" code="hclb" type="boolean" access="r" description="Does the window have a close button?">
<cocoa key="hasCloseBox"/>
</property>
<property name="miniaturizable" code="ismn" type="boolean" access="r" description="Does the window have a minimize button?">
<cocoa key="isMiniaturizable"/>
</property>
<property name="miniaturized" code="pmnd" type="boolean" description="Is the window minimized right now?">
<cocoa key="isMiniaturized"/>
</property>
<property name="resizable" code="prsz" type="boolean" access="r" description="Can the window be resized?">
<cocoa key="isResizable"/>
</property>
<property name="visible" code="pvis" type="boolean" description="Is the window visible right now?">
<cocoa key="isVisible"/>
</property>
<property name="zoomable" code="iszm" type="boolean" access="r" description="Does the window have a zoom button?">
<cocoa key="isZoomable"/>
</property>
<property name="zoomed" code="pzum" type="boolean" description="Is the window zoomed right now?">
<cocoa key="isZoomed"/>
</property>
<property name="document" code="docu" type="document" access="r" description="The document whose contents are displayed in the window."/>
<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>
</suite>
<suite name="Text Suite" code="????" description="Common text classes for all applications.">
<value-type name="RGB color" code="cRGB">
<cocoa class="NSColor"/>
</value-type>
<class name="rich text" plural="rich text" code="ctxt" description="Rich (styled) text.">
<cocoa class="NSTextStorage"/>
<type type="text"/>
<property name="color" code="colr" type="RGB color" description="The color of the text's first character.">
<cocoa key="foregroundColor"/>
</property>
<property name="font" code="font" type="text" description="The name of the font of the text's first character.">
<cocoa key="fontName"/>
</property>
<property name="size" code="ptsz" type="integer" description="The size in points of the text's first character.">
<cocoa key="fontSize"/>
</property>
<element type="character"/>
<element type="paragraph"/>
<element type="word"/>
<element type="attribute run"/>
<element type="attachment"/>
</class>
<class name="character" code="cha " description="One of some text's characters.">
<cocoa class="NSTextStorage"/>
<type type="text"/>
<property name="color" code="colr" type="RGB color" description="Its color.">
<cocoa key="foregroundColor"/>
</property>
<property name="font" code="font" type="text" description="The name of its font.">
<cocoa key="fontName"/>
</property>
<property name="size" code="ptsz" type="integer" description="Its size, in points.">
<cocoa key="fontSize"/>
</property>
<element type="character"/>
<element type="paragraph"/>
<element type="word"/>
<element type="attribute run"/>
<element type="attachment"/>
</class>
<class name="paragraph" code="cpar" description="One of some text's paragraphs.">
<cocoa class="NSTextStorage"/>
<type type="text"/>
<property name="color" code="colr" type="RGB color" description="The color of the paragraph's first character.">
<cocoa key="foregroundColor"/>
</property>
<property name="font" code="font" type="text" description="The name of the font of the paragraph's first character.">
<cocoa key="fontName"/>
</property>
<property name="size" code="ptsz" type="integer" description="The size in points of the paragraph's first character.">
<cocoa key="fontSize"/>
</property>
<element type="character"/>
<element type="paragraph"/>
<element type="word"/>
<element type="attribute run"/>
<element type="attachment"/>
</class>
<class name="word" code="cwor" description="One of some text's words.">
<cocoa class="NSTextStorage"/>
<type type="text"/>
<property name="color" code="colr" type="RGB color" description="The color of the word's first character.">
<cocoa key="foregroundColor"/>
</property>
<property name="font" code="font" type="text" description="The name of the font of the word's first character.">
<cocoa key="fontName"/>
</property>
<property name="size" code="ptsz" type="integer" description="The size in points of the word's first character.">
<cocoa key="fontSize"/>
</property>
<element type="character"/>
<element type="paragraph"/>
<element type="word"/>
<element type="attribute run"/>
<element type="attachment"/>
</class>
<class name="attribute run" code="catr" description="A chunk of text that all has the same attributes.">
<cocoa class="NSTextStorage"/>
<type type="text"/>
<property name="color" code="colr" type="RGB color" description="Its color.">
<cocoa key="foregroundColor"/>
</property>
<property name="font" code="font" type="text" description="The name of its font.">
<cocoa key="fontName"/>
</property>
<property name="size" code="ptsz" type="integer" description="Its size, in points.">
<cocoa key="fontSize"/>
</property>
<element type="character"/>
<element type="paragraph"/>
<element type="word"/>
<element type="attribute run"/>
<element type="attachment"/>
</class>
<class name="attachment" code="atts" inherits="rich text" description="A file embedded in text. This is just for use when embedding a file using the make command.">
<cocoa class="NSAttachmentTextStorage"/>
<property name="file name" code="atfn" type="text" description="The path to the embedded file.">
<cocoa key="filename"/>
</property>
</class>
</suite>
<suite name="Sketch Suite" code="sktc" description="Classes just for the Sketch application.">
<enumeration name="saveable file format" code="savf">
<enumerator name="Sketch" code="sktc" description="The native Sketch 2 file format">
<cocoa string-value="com.apple.sketch2"/>
</enumerator>
<enumerator name="PDF" code="PDF " description="Portable Document Format">
<cocoa string-value="com.adobe.pdf"/>
</enumerator>
<enumerator name="TIFF" code="TIFF" description="Tagged Image File Format">
<cocoa string-value="public.tiff"/>
</enumerator>
</enumeration>
<class name="document" code="docu" description="A Sketch document.">
<cocoa class="SKTDocument"/>
<property name="name" code="pnam" type="text" access="r" description="Its name.">
<cocoa key="displayName"/>
</property>
<property name="modified" code="imod" type="boolean" access="r" description="Has it been modified since the last save?">
<cocoa key="isDocumentEdited"/>
</property>
<property name="file" code="file" type="file" access="r" description="Its location on disk, if it has one.">
<cocoa key="fileURL"/>
</property>
<!-- This is just here for compatibility with old scripts. New scripts should use the more user-friendly file property. -->
<property name="path" code="ppth" type="text" access="r" description="Its location on disk, if it has one, as a POSIX path string." hidden="yes">
<cocoa key="fileName"/>
</property>
<element type="graphic">
<cocoa insert-at-beginning="yes"/>
</element>
<element type="box">
<cocoa insert-at-beginning="yes" key="rectangles"/>
</element>
<element type="circle">
<cocoa insert-at-beginning="yes"/>
</element>
<element type="image">
<cocoa insert-at-beginning="yes"/>
</element>
<element type="line">
<cocoa insert-at-beginning="yes"/>
</element>
<element type="text area">
<cocoa insert-at-beginning="yes"/>
</element>
<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="graphic" code="grph" description="An object in a Sketch document. There are subclasses for each kind of graphic.">
<cocoa class="SKTGraphic"/>
<property name="x position" code="xpos" type="real"/>
<property name="y position" code="ypos" type="real"/>
<property name="width" code="widt" type="real"/>
<property name="height" code="heig" type="real"/>
<property name="fill color" code="fclr">
<type type="RGB color"/>
<type type="missing value"/>
<cocoa key="scriptingFillColor"/>
</property>
<property name="stroke color" code="sclr">
<type type="RGB color"/>
<type type="missing value"/>
<cocoa key="scriptingStrokeColor"/>
</property>
<property name="stroke thickness" code="slwd">
<type type="real"/>
<type type="missing value"/>
<cocoa key="scriptingStrokeWidth"/>
</property>
</class>
<class name="box" plural="boxes" code="d2rc" inherits="graphic" description="A rectangular graphic.">
<cocoa class="SKTRectangle"/>
</class>
<class name="circle" code="d2cr" inherits="graphic" description="an ellipsoidal graphic, actually.">
<cocoa class="SKTCircle"/>
</class>
<class name="image" code="d2im" inherits="graphic" description="A placed image.">
<cocoa class="SKTImage"/>
<property name="imagefile" code="imgf" type="text" access="w" description="The path to the file containing the image. This is just for use when creating a new placed image using the make command.">
<cocoa key="filePath"/>
</property>
</class>
<class name="line" code="d2ln" inherits="graphic" description="A line graphic.">
<cocoa class="SKTLine"/>
</class>
<class name="text area" code="d2ta" inherits="graphic" description="A text graphic.">
<cocoa class="SKTText"/>
<contents name="text contents" code="tact" type="rich text" description="Its contents.">
<cocoa key="scriptingContents"/>
</contents>
</class>
</suite>
</dictionary>