<?xml version="1.0" encoding="UTF-8"?>
<otrunk id="0f1473c0-7200-11dc-8314-0800200c9a66">

  <imports>
    <import class="org.concord.otrunk.OTSystem"/>
    <import class="org.concord.otrunk.view.OTViewBundle"/>
    <import class="org.concord.otrunk.view.OTViewEntry"/>
    <import class="org.concord.otrunk.view.document.OTCompoundDoc"/>
    <import class="org.concord.otrunk.ui.OTText"/>
    
	<import class="org.concord.otrunk.script.ui.OTScriptObject"/>
	<import class="org.concord.otrunk.script.ui.OTScriptVariable"/>
	<import class="org.concord.otrunk.script.js.OTJavascript" />
	<import class="org.concord.otrunk.script.OTScriptEngineBundle"/>
	<import class="org.concord.otrunk.script.OTScriptEngineEntry"/>

    <import class="org.concord.otrunk.view.OTViewMode"/>
  </imports>
  
  <objects>
    <OTSystem>
      <bundles>
        <OTViewBundle showLeftPanel="false">
          <views>
            <OTViewEntry
              objectClass="org.concord.otrunk.ui.OTText" 
              viewClass="org.concord.otrunk.ui.swing.OTTextView"/>
			<OTViewEntry local_id="script_entry"
				objectClass="org.concord.otrunk.script.ui.OTScriptObject"
				viewClass="org.concord.otrunk.script.ui.OTScriptObjectView"/>
			<OTViewEntry
				objectClass="org.concord.otrunk.view.document.OTDocument"
				viewClass="org.concord.otrunk.view.document.OTDocumentView" />
          </views>
          <modes>
          	<OTViewMode name="reporting">
          		<map>
                 <entry key="${script_entry}">
					<OTViewEntry
						objectClass="org.concord.otrunk.script.ui.OTScriptObject"
			 			viewClass="org.concord.otrunk.script.ui.OTScriptObjectContentsReportView"/>
                 </entry>
          		</map>
          	</OTViewMode>
          </modes>
        </OTViewBundle>
		<OTScriptEngineBundle>
		  <engines>
		     <OTScriptEngineEntry 
		     	objectClass="org.concord.otrunk.script.js.OTJavascript"
		     	engineClass="org.concord.otrunk.script.js.OTJavascriptEngine"/>
		  </engines>
		</OTScriptEngineBundle>
      </bundles>
      
      <root>
        <OTCompoundDoc>
        	<bodyText>
        		This is a document. The following text will be changed by a script:<br/>
        		<object refid="${text_object}"/>
        		<object refid="${script_object}"/>
        	</bodyText>
        </OTCompoundDoc>
      </root>
      <library>
      	<OTText local_id="text_object"/>
      	<OTScriptObject local_id="script_object">
			<variables>
			  <OTScriptVariable name="myTextVariable" reference="${text_object}"/>
			</variables>
      		<script>
	      		<OTJavascript>
	      			<script>
importClass(Packages.org.concord.otrunk.ui.OTText);

function init()
{
  //This function is called when the script is loaded.
  myTextVariable.setText("Hello world, I'm a script!!");
  
  var newText = otObjectService.createObject(OTText);
  newText.setText((new java.util.Date()).toString() + " - Contents created from script");
  otContents.add(newText);
}
function save()
{
}
	      			</script>
	      		</OTJavascript>
	      	</script>
      	</OTScriptObject>
      </library>
      
    </OTSystem>
  </objects>
</otrunk>
