<?xml version="1.0" encoding="UTF-8"?>
<otrunk id="33754150-b594-11d9-9669-0800200c9a66">
  <imports>
    <import class="org.concord.otrunk.OTSystem" />
    <import
      class="org.concord.otrunk.ui.notebook.OTNotebookMeasurement" />
    <import class="org.concord.otrunk.ui.notebook.OTNotebook" />
    <import class="org.concord.otrunk.view.OTFolderObject" />
    <import class="org.concord.otrunk.view.document.OTCompoundDoc" />
    <import class="org.concord.otrunk.view.OTViewEntry" />
	<import class="org.concord.otrunk.view.OTViewBundle" />
    <import class="org.concord.otrunk.ui.OTImage" />
    <import class="org.concord.otrunk.ui.OTImageViewConfig" />
    <import class="org.concord.otrunk.view.OTViewService" />
    <import class="org.concord.framework.otrunk.view.OTFrame" />
    <import class="org.concord.data.state.OTUnitValue" />
    <import class="org.concord.data.state.OTUnitValueViewConfig" />
    <import class="org.concord.otrunk.ui.OTText" />
    <import class="org.concord.calculator.state.OTProgrammableCalculator" />
    <import class="org.concord.calculator.state.OTProgrammableCalculatorNotebook" />
    <import class="org.concord.calculator.state.OTExpression" />
    <import class="org.concord.calculator.state.OTExpressionList" />
    <import class="org.concord.calculator.state.OTExpressionSymbol" />
    <import class="org.concord.calculator.state.OTExpressionVariable" />
    <import class="org.concord.calculator.state.OTExpressionConstant" />
    <import class="org.concord.calculator.state.OTExpressionConstantList" />
    <import class="org.concord.calculator.state.OTExpressionSymbolList" />
    <import class="org.concord.calculator.state.ui.OTExpressionVariableViewConfig" />
    <import class="org.concord.calculator.state.OTExpressionResult"/>
    <import class="org.concord.otrunk.view.OTViewChild"/>
    
	<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"/>  
    
  </imports>
  <objects>
    <OTSystem>
      <bundles>
		<OTScriptEngineBundle>  
		  <engines>  
		    <OTScriptEngineEntry    
		      objectClass="org.concord.otrunk.script.js.OTJavascript"  
		      engineClass="org.concord.otrunk.script.js.OTJavascriptEngine"/>   
		  </engines>  
		</OTScriptEngineBundle> 
		<OTViewBundle>
          <viewEntries>
            <OTViewEntry objectClass="org.concord.otrunk.ui.OTText"
              viewClass="org.concord.otrunk.ui.swing.OTTextView"/>
            <OTUnitValueViewConfig
              objectClass="org.concord.data.state.OTUnitValue"
              viewClass="org.concord.data.state.OTUnitValueView">
              <precision>1</precision>
              <editable>false</editable>
            </OTUnitValueViewConfig>
            <OTUnitValueViewConfig local_id="variableValueViewEntry"
              objectClass="org.concord.data.state.OTUnitValue"
              viewClass="org.concord.data.state.OTUnitValueEditView">
              <precision>1</precision>
              <editable>false</editable>
            </OTUnitValueViewConfig>
            <OTExpressionVariableViewConfig
              objectClass="org.concord.calculator.state.OTExpressionVariable"
              viewClass="org.concord.calculator.state.ui.OTExpressionVariableView">
              <unitsConversionList>
              	<string>m</string>
              	<string>cm</string>
              	<string>m/s</string>
              	<string>cm/s</string>
              	<string>s</string>
              	<string>kg</string>
              	<string>g</string>
              </unitsConversionList>
              <variableValueViewEntry>
              	<object refid="${variableValueViewEntry}"/>
              </variableValueViewEntry>
            </OTExpressionVariableViewConfig>
            <OTViewEntry
              objectClass="org.concord.calculator.state.OTExpressionResult"
              viewClass="org.concord.calculator.state.ui.OTExpressionResultView"/>
            <OTViewEntry
              objectClass="org.concord.calculator.state.OTExpressionConstant"
              viewClass="org.concord.calculator.state.ui.OTExpressionConstantView"/>
            <OTViewEntry
              objectClass="org.concord.calculator.state.OTExpressionSymbol"
              viewClass="org.concord.calculator.state.ui.OTExpressionSymbolView"/>
            <OTViewEntry
              objectClass="org.concord.calculator.state.OTExpressionConstantList"
              viewClass="org.concord.calculator.state.ui.OTExpressionConstantListView"/>
            <OTViewEntry
              objectClass="org.concord.calculator.state.OTExpressionSymbolList"
              viewClass="org.concord.calculator.state.ui.OTExpressionSymbolListView"/>
            <OTViewEntry
              objectClass="org.concord.calculator.state.OTExpression"
              viewClass="org.concord.calculator.state.ui.OTExpressionView"/>
            <OTViewEntry
              objectClass="org.concord.calculator.state.OTExpressionList"
              viewClass="org.concord.calculator.state.ui.OTExpressionListView"/>
            <OTViewEntry
              objectClass="org.concord.calculator.state.OTProgrammableCalculator"
              viewClass="org.concord.calculator.state.ui.OTProgrammableCalculatorView"/>
			<OTViewEntry   
			  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" />
            <OTViewEntry 
              objectClass="org.concord.otrunk.view.OTFolderObject" 
              viewClass="org.concord.otrunk.view.OTFolderObjectView"/>
          </viewEntries>
        </OTViewBundle>
      </bundles>
      <root>
        <OTFolderObject name="Calculator and its parts">
          <children>
          	<object refid="${value_constant1}"/>
          	<object refid="${value_constant1_edit}"/>
          	<object refid="${symbol1}"/>
          	<object refid="${symbol2}"/>
          	<object refid="${symbol3}"/>
          	<object refid="${symbol4}"/>
          	<object refid="${symbol5}"/>
          	<object refid="${list1}"/>
          	<object refid="${list2}"/>
          	<object refid="${formula1}"/>
          	<object refid="${symbol6}"/>
          	<object refid="${formulalist1}"/>
          	<object refid="${calc}"/>
          	<OTCompoundDoc name="All inside of a document">
          		<bodyText>
          			All the objects in a document:<br/>
          			<object refid="${value_constant1}"/><br/>
          			<object refid="${value_constant1_edit}"/><br/>
		          	<object refid="${symbol1}"/><br/>
		          	<object refid="${symbol2}"/><br/>
		          	<object refid="${symbol3}"/><br/>
		          	<object refid="${symbol4}"/><br/>
		          	<object refid="${symbol5}"/><br/>
		          	<object refid="${list1}"/><br/>
		          	<object refid="${list2}"/><br/>
		          	<object refid="${formula1}"/><br/>
		          	<object refid="${symbol6}"/><br/>
		          	<object refid="${formulalist1}"/><br/>
		          	<object refid="${calc}"/><br/>
          		</bodyText>
          	</OTCompoundDoc>
          </children>
        </OTFolderObject>
      </root>
      <library>
       	<OTViewChild name="Value Edit View" local_id="value_constant1_edit"
       		viewid="${variableValueViewEntry}">
        	<object refid="${value_constant1}"/>
       	</OTViewChild>
	    <OTUnitValue name="Gravity value" local_id="value_constant1" 
	      	value="9.8" unit="m/s2" />
	    <OTExpressionSymbol name="Gravity as symbol" local_id="symbol1">
	    	<symbol>gee</symbol>
	    	<value>
	    		<object refid="${value_constant1}"/>
	    	</value>
	    </OTExpressionSymbol>
	    <OTExpressionVariable name="variable" local_id="symbol2">
	    	<symbol>a</symbol>
	    	<value>
			    <OTUnitValue value="2.5" unit="m/s2" />
	    	</value>
	    </OTExpressionVariable>
	    <OTExpressionConstant name="Gravity Constant" local_id="symbol3">
	    	<symbol>G</symbol>
	    	<value>
	    		<object refid="${value_constant1}"/>
	    	</value>
	    	<note><OTText><text>hello gravity</text></OTText></note>
	    </OTExpressionConstant>
	    <OTExpressionResult name="Result without formula" local_id="symbol4">
	    	<symbol>x</symbol>
	    	<value>
			    <OTUnitValue value="88" unit="m" />
	    	</value>
	    </OTExpressionResult>
	    <OTExpressionConstantList name="Constant List" local_id="list1">
	    	<symbols>
	    		<object refid="${symbol3}"/>
			    <OTExpressionConstant name="Another constant" local_id="symbol5">
			    	<symbol>k</symbol>
			    	<value>
					    <OTUnitValue value="350"/>
			    	</value>
			    	<note><OTText><text>kkkkkkk</text></OTText></note>
			    </OTExpressionConstant>
	    	</symbols>
	    </OTExpressionConstantList>
	    <OTExpressionSymbolList name="Symbols List" local_id="list2" listTitle="All my symbols">
	    	<symbols>
	    		<object refid="${symbol1}"/>
	          	<object refid="${symbol2}"/>
	          	<object refid="${symbol3}"/>
	          	<object refid="${symbol4}"/>
	          	<object refid="${symbol5}"/>
	          	<object refid="${symbol6}"/>
	    	</symbols>
	    </OTExpressionSymbolList>
	    <OTExpression name="Formula - Newton" local_id="formula1"
	    	expression="f=a" description="Newton's Law"/>
	    <OTExpressionResult name="Result with Newton formula!" local_id="symbol6">
	    	<formula>
	    		<object refid="${formula1}"/>
	    	</formula>
	    </OTExpressionResult>
	    <OTExpressionList name="List of formulas" local_id="formulalist1">
	    	<expressions>
	    		<object refid="${formula1}"/>
	    	</expressions>
	    </OTExpressionList>
	    <OTProgrammableCalculator name="Calculator" local_id="calc"
	    	showResultsSeparate="true">
	    	<formulas>
	    		<object refid="${formulalist1}"/>
	    	</formulas>
	    	<constants>
	    		<object refid="${list1}"/>
	    	</constants>
	    </OTProgrammableCalculator>
      </library>
    </OTSystem>
  </objects>
</otrunk>