Sketch.sdef

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dictionary SYSTEM "file://localhost/System/Library/DTDs/sdef.dtd">
 
<!--
 
File: Sketch.sdef
 
Abstract: sdef for Sketch.app (see /Developer/Examples/AppKit/Sketch).
 
Version: 1.0
 
Disclaimer: IMPORTANT:  This Apple software is supplied to you by 
Apple 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 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.
 
Copyright (C) 2008 Apple Inc. All Rights Reserved. 
 
-->
 
<dictionary title="Sketch Terminology">
 
    <!--
        STANDARD SUITE
    -->
    <suite name="Standard Suite" code="core"
        description="Common classes and commands for all applications.">
 
        <cocoa name="NSCoreSuite"/>
 
        <command name="open" code="aevtodoc"
            description="Open a document.">
            <direct-parameter description="The file(s) to be opened.">
                <type type="file"/>
                <type type="file" list="yes"/>
            </direct-parameter>
            <!--
                According to TN2106, 'open' should return the resulting document
                object.  However, the Cocoa implementation does not do this yet.
            <result type="specifier"/>
            -->
        </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="Whether or not changes should 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.">
                <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="text" optional="yes"
                description="The type of file to save.">
                <cocoa key="FileType"/>
            </parameter>
            -->
        </command>
 
        <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" 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="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="Whether or not changed documents should be saved before closing.">
                <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 object whose elements are to be counted"/>
            <parameter name="each" code="kocl" type="type" optional="yes"
                description="The class of objects to be counted.">
                <cocoa key="ObjectClass"/>
            </parameter>
            <result type="integer" description="the number of elements"/>
        </command>
 
        <command name="delete" code="coredelo" description="Delete an object.">
            <cocoa class="NSDeleteCommand"/>
            <direct-parameter type="specifier" description="the object to delete"/>
        </command>
 
        <command name="duplicate" code="coreclon"
            description="Copy object(s) and put the copies at a new location.">
            <cocoa class="NSCloneCommand"/>
            <direct-parameter type="specifier"
                description="the object(s) to duplicate"/>
            <parameter name="to" code="insh" type="location specifier"
                description="The location for the new object(s).">
                <cocoa key="ToLocation"/>
            </parameter>
            <parameter name="with properties" code="prdt" type="record" optional="yes"
                description="Properties to be set in the new duplicated object(s).">
                <cocoa key="WithProperties"/>
            </parameter>
            <result type="specifier" description="the duplicated object(s)"/>
        </command>
 
        <command name="exists" code="coredoex" description="Verify if an object exists.">
            <cocoa class="NSExistsCommand"/>
            <direct-parameter type="any" description="the object in question"/>
            <result type="boolean" description="true if it exists, false if not"/>
        </command>
 
        <command name="make" code="corecrel" description="Make 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="to the new object"/>
        </command>
 
        <command name="move" code="coremove" description="Move object(s) 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>
            <result type="specifier" description="the moved object(s)"/>
        </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 frontmost (active) application?">
                <cocoa key="isActive"/>
            </property>
            <property name="version" code="vers" type="text" access="r"
                description="The version 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="document" code="docu" description="A Sketch document.">
            <cocoa class="SKTDrawDocument"/>
            <property name="name" code="pnam" type="text" access="r"
                description="The document's name.">
                <cocoa key="displayName"/>
            </property>
            <property name="modified" code="imod" type="boolean" access="r"
                description="Has the document been modified since the last save?">
                <cocoa key="isDocumentEdited"/>
            </property>
            <property name="file" code="file" type="file" access="r"
                description="The document's location on disk.">
                <cocoa key="fileURL"/>
            </property>
            <element type="graphic"/>
            <element type="box">
                <cocoa key="rectangles"/>
            </element>
            <element type="circle"/>
            <element type="image"/>
            <element type="line"/>
            <element type="text area"/>
            <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" type="text" access="r"
                description="The full 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="Whether the window has a close box.">
                <cocoa key="hasCloseBox"/>
            </property>
            <property name="minimizable" code="ismn" type="boolean" access="r"
                description="Whether the window can be minimized.">
                <cocoa key="isMiniaturizable"/>
            </property>
            <property name="minimized" code="pmnd" type="boolean"
                description="Whether the window is currently minimized.">
                <cocoa key="isMiniaturized"/>
            </property>
            <property name="resizable" code="prsz" type="boolean" access="r"
                description="Whether the window can be resized.">
                <cocoa key="isResizable"/>
            </property>
            <property name="visible" code="pvis" type="boolean"
                description="Whether the window is currently visible.">
                <cocoa key="isVisible"/>
            </property>
            <property name="zoomable" code="iszm" type="boolean" access="r"
                description="Whether the window can be zoomed.">
                <cocoa key="isZoomable"/>
            </property>
            <property name="zoomed" code="pzum" type="boolean"
                description="Whether the window is currently zoomed.">
                <cocoa key="isZoomed"/>
            </property>
            <property name="document" code="docu" type="document" access="r"
                description="The document whose contents are being 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>
 
 
    <!--
        TEXT SUITE
    -->
    <suite name="Text Suite" code="TEXT"
        description="A set of basic classes for text processing.">
 
        <cocoa name="NSTextSuite"/>
 
        <value-type name="color" code="cRGB">
            <cocoa class="NSColor"/>
        </value-type>
 
        <class name="rich text" plural="rich text" code="ricT"
            description="Rich (styled) text">
            <cocoa class="NSTextStorage"/>
            <type type="text"/>
            <property name="color" code="colr" type="color"
                description="The color of the first character.">
                <cocoa key="foregroundColor"/>
            </property>
            <property name="font" code="font" type="text"
                description="The name of the font of the first character.">
                <cocoa key="fontName"/>
            </property>
            <property name="size" code="ptsz" type="integer"
                description="The size in points of the 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="This subdivides the text into characters.">
            <cocoa class="NSTextStorage"/>
            <type type="text"/>
            <property name="color" code="colr" type="color"
                description="The color of the first character.">
                <cocoa key="foregroundColor"/>
            </property>
            <property name="font" code="font" type="text"
                description="The name of the font of the first character.">
                <cocoa key="fontName"/>
            </property>
            <property name="size" code="ptsz" type="integer"
                description="The size in points of the 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="paragraph" code="cpar"
            description="This subdivides the text into paragraphs.">
            <cocoa class="NSTextStorage"/>
            <type type="text"/>
            <property name="color" code="colr" type="color"
                description="The color of the first character.">
                <cocoa key="foregroundColor"/>
            </property>
            <property name="font" code="font" type="text"
                description="The name of the font of the first character.">
                <cocoa key="fontName"/>
            </property>
            <property name="size" code="ptsz" type="integer"
                description="The size in points of the 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="This subdivides the text into words.">
            <cocoa class="NSTextStorage"/>
            <type type="text"/>
            <property name="color" code="colr" type="color"
                description="The color of the first character.">
                <cocoa key="foregroundColor"/>
            </property>
            <property name="font" code="font" type="text"
                description="The name of the font of the first character.">
                <cocoa key="fontName"/>
            </property>
            <property name="size" code="ptsz" type="integer"
                description="The size in points of the 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="This subdivides the text into chunks that all have the same attributes.">
            <cocoa class="NSTextStorage"/>
            <type type="text"/>
            <property name="color" code="colr" type="color"
                description="The color of the first character.">
                <cocoa key="foregroundColor"/>
            </property>
            <property name="font" code="font" type="text"
                description="The name of the font of the first character.">
                <cocoa key="fontName"/>
            </property>
            <property name="size" code="ptsz" type="integer"
                description="The size in points of the 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="attachment" code="atts" inherits="rich text"
            description="Represents an inline text attachment. This class is used mainly for make commands.">
            <cocoa class="NSAttachmentTextStorage"/>
            <property name="file name" code="atfn" type="text"
                description="The path to the file for the attachment">
                <cocoa key="filename"/>
            </property>
        </class>
 
    </suite>
 
 
    <!--
        SKETCH SUITE
    -->
    <suite name="Sketch Suite" code="sktc" description="Sketch-specific classes and commands.">
 
        <!-- Classes -->
        <class name="graphic" code="grph"
            description="A graphic. This abstract class represents the individual shapes in a Sketch document. There are subclasses for each specific type of graphic.">
            <cocoa class="SKTGraphic"/>
            <property name="x position" code="xpos" type="real"
                description="The x coordinate of the graphic's bounding rectangle."/>
            <property name="y position" code="ypos" type="real"
                description="The y coordinate of the graphic's bounding rectangle."/>
            <property name="width" code="widt" type="real"
                description="The width of the graphic's bounding rectangle."/>
            <property name="height" code="heig" type="real"
                description="The height of the graphic's bounding rectangle."/>
            <property name="stroke color" code="sclr" type="color"/>
            <property name="fill color" code="fclr" type="color"/>
            <property name="stroke thickness" code="slwd" type="real">
                <cocoa key="strokeLineWidth"/>
            </property>
            <responds-to name="rotate">
                <cocoa method="rotate:"/>
            </responds-to>
        </class>
 
        <class name="box" plural="boxes" code="d2rc" inherits="graphic"
            description="A rectangle graphic.">
            <cocoa class="SKTRectangle"/>
            <property name="orientation" code="orin" type="orientation"/>
        </class>
        <enumeration name="orientation" code="orie">
            <enumerator name="portrait" code="port" description="Taller than wide."/>
            <enumerator name="landscape" code="land" description="Wider than tall."/>
            <enumerator name="square" code="squa" description="Neither wider nor taller."/>
        </enumeration>
 
        <class name="circle" code="d2cr" inherits="graphic"
            description="A circle graphic.">
            <cocoa class="SKTCircle"/>
        </class>
 
        <class name="image" code="d2im" inherits="graphic"
            description="A placed image.">
            <cocoa class="SKTImage"/>
            <property name="image file" code="imgf" type="text" access="w"
                description="The path to the file containing the image.">
                <cocoa key="imageFile"/>
            </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="SKTTextArea"/>
            <contents name="text contents" code="tact" type="rich text"
                description="The text of the text area.">
                <cocoa key="contents"/>
            </contents>
        </class>
 
 
        <!-- Commands -->
        <command name="rotate" code="sktcrota"
            description="Rotate objects.">
            <cocoa method="rotate:"/>
            <direct-parameter type="graphic"/>
            <parameter name="by" code="by  " type="real"
                description="degrees to rotate; positive numbers rotate counter-clockwise.">
                <cocoa key="byDegrees"/>
            </parameter>
        </command>
 
        <command name="align" code="sktcalig"
            description="Align a set of objects.">
            <cocoa class="SKTAlignCommand"/>
            <direct-parameter>
                <type type="graphic" list="yes"/>
            </direct-parameter>
            <parameter name="to" code="to  " type="edge">
                <cocoa key="toEdge"/>
            </parameter>
        </command>
        <enumeration name="edge" code="edge">
            <enumerator name="left edges" code="left"/>
            <enumerator name="right edges" code="righ"/>
            <enumerator name="horizontal centers" code="horc"/>
            <enumerator name="top edges" code="top "/>
            <enumerator name="bottom edges" code="bott"/>
            <enumerator name="vertical centers" code="verc"/>
        </enumeration>
 
    </suite>
 
</dictionary>