<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dictionary SYSTEM "file://localhost/System/Library/DTDs/sdef.dtd">

<dictionary xmlns:xi="http://www.w3.org/2003/XInclude">
	<xi:include href="file:///System/Library/ScriptingDefinitions/CocoaStandard.sdef" xpointer="xpointer(/dictionary/suite)"/>
	
	<suite name="Orion Suite" code="orin" description="Common classes and commands for all applications.">
		<class-extension extends="window" description="A Orion window.">
			<cocoa class="BrowserWindow"/>
			<property type="tab" name="current tab" code="cTab" description="The current tab.">
				<cocoa key="currentTabView"/>
			</property>
			<element type="tab">
				<cocoa key="orderedTabViews"/>
			</element>
		</class-extension>
		
		<class-extension extends="document" description="A Orion document representing the active tab in a window.">
			<cocoa class="TabViewItem"/>
			<property type="text" name="URL" code="pURL" description="The current URL of the document.">
				<cocoa key="URLString"/>
			</property>
			<responds-to command="do JavaScript">
				<cocoa method="handleDoJavaScriptCommand:"/>
			</responds-to>
		</class-extension>
		
		<class name="tab" plural="tabs" code="bTab" description="A Orion window tab.">
			<cocoa class="TabView"/>
			<property type="text" name="URL" code="pURL" description="The current URL of the tab.">
				<cocoa key="URLString"/>
			</property>
			<property type="text" name="name" code="pnam" access="r" description="The name of the tab.">
				<cocoa key="title"/>
			</property>
			<responds-to command="close">
				<cocoa method="closeTab:"/>
			</responds-to>
			<responds-to command="do JavaScript">
				<cocoa method="handleDoJavaScriptCommand:"/>
			</responds-to>
		</class>
		<command name="do JavaScript" code="orindojs" description="Applies a string of JavaScript code to a document.">
			<cocoa class="DoJavaScriptCommand"/>
			<direct-parameter type="text" description="The JavaScript code to evaluate."/>
			<parameter name="in" code="dcnm" optional="yes" description="The tab that the JavaScript should be evaluated in.">
				<cocoa key="Target"/>
				<type type="document"/>
				<type type="tab"/>
			</parameter>
			<result type="any"/>
		</command>
		<command name="make" code="corecrel" description="Create a new object.">
			<cocoa class="AppleScriptCreateCommand"/>
			<access-group identifier="*"/>
			<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>
	</suite>
</dictionary>
