<?xml version="1.0" encoding="UTF-8"?>
<otrunk id="234707a8-c611-4581-9d34-19fa41d82bff" >

  <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.script.ui.OTScriptButton"/>
    <import class="org.concord.otrunk.script.jruby.OTJRuby"/>
    <import class="org.concord.otrunk.script.OTScriptEngineBundle"/>
    <import class="org.concord.otrunk.script.OTScriptEngineEntry"/>
    <import class="org.concord.otrunk.script.ui.OTScriptVariable" />
    <import class="org.concord.otrunk.ui.OTText"/>
    <import class="org.concord.otrunk.view.document.OTCompoundDoc"/>
  </imports>
  
  <objects>
    <OTSystem>
      <bundles>
        <OTViewBundle>
          <views>
            <OTViewEntry
              objectClass="org.concord.otrunk.script.ui.OTScriptButton" 
              viewClass="org.concord.otrunk.script.ui.OTScriptButtonView"/>
            <OTViewEntry
              objectClass="org.concord.otrunk.ui.OTText" 
              viewClass="org.concord.otrunk.ui.swing.OTTextEditView"/>
            <OTViewEntry 
              objectClass="org.concord.otrunk.view.document.OTCompoundDoc"
              viewClass="org.concord.otrunk.view.document.OTDocumentView"/>  
          </views>
        </OTViewBundle>
        <OTScriptEngineBundle>
          <engines>
             <OTScriptEngineEntry 
             	objectClass="org.concord.otrunk.script.jruby.OTJRuby"
             	engineClass="org.concord.otrunk.script.jruby.OTJRubyEngine"/>
          </engines>
        </OTScriptEngineBundle>
      </bundles>
      
      <root>
      <OTCompoundDoc name="Document Object">
          <bodyText>
          Start: <object refid="${start}" /><br/>
          End: <object refid="${end}" /><br/>
          <object refid="${button}" />
          </bodyText>
          <children>
            <OTText local_id="start" />
            <OTText local_id="end" />
            <OTScriptButton local_id="button">
              <text>Launch GBrowse</text>
              <scriptVariables>
                <OTScriptVariable reference="${start}" name="start" />
                <OTScriptVariable reference="${end}" name="end" />
              </scriptVariables>
              <script>
                <OTJRuby>
                  <script>
                    require 'java' 
                    require 'rbconfig'
                    require 'uri'
                    
                    import org.concord.framework.otrunk.view.OTExternalAppService
                    import java.net.URL
                    
                    $external_app_service = $viewContext.getViewService(OTExternalAppService.java_class)
                    
                    def clicked
                      url = "http://cgd.jax.org/cgi-bin/geniquest/dragon/?start=#{$start.text.to_i*10000};stop=#{$end.text.to_i*10000};ref=1;width=800;version=100;label=Genes%3Aoverview-Genes-CrossFxV;id=b6caf2a864ad7bcdc88c3735f3241464;grid=on"
                      $external_app_service.showDocument(URL.new(url))
                    end
                  </script>
                </OTJRuby>
              </script>
            </OTScriptButton>
          </children>
        </OTCompoundDoc>
      </root>
      
    </OTSystem>
  </objects>
</otrunk>
