#!/bin/sh
# Create a demo with LiveLinks to other demos
# Sample Usage:
#   cd $PTII
#   $PTII/adm/bin/ptmkLiveLinkDemo ptolemy/data/ontologies/demo/ConstPropagation > ptolemy/data/ontologies/demo/ConstPropagation/ConstPropagation.xml
#

demoBase=`basename $1`

# Header
cat <<EOF
<?xml version="1.0" standalone="no"?>
<!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
    "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
<entity name="Scale" class="ptolemy.actor.TypedCompositeActor">
    <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="11.0.devel">
    </property>
    <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={253, 133, 934, 634}, maximized=false}">
    </property>
    <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[700, 524]">
    </property>
    <property name="_vergilZoomFactor" class="ptolemy.data.expr.ExpertParameter" value="1.0">
    </property>
    <property name="_vergilCenter" class="ptolemy.data.expr.ExpertParameter" value="{340.0, 252.0}">
    </property>
    <property name="Annotation" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="18">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.0,0.0,0.0,1.0}">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="Click on the links below for different $demoBase models.">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[10.0, 25.0]">
        </property>
    </property>
EOF

# Iterate through the .xml files in the directory.

count=1
# If we have foo/demo/Bar, then exclude Bar.xml
demos=`ls $1/*.xml | grep -v "$demoBase.xml"`
yLocation=70
for demo in $demos
do

    base=`basename $demo .xml`
    count=$(expr  $count + 1)
    yLocation=$(expr $yLocation + 30)
cat <<EOF2
    <property name="Annotation${count}" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="See the $base model.">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[10.0, $yLocation.0]">
        </property>
        <property name="LiveLink" class="ptolemy.actor.gui.LiveLink" value="\$CLASSPATH/$1/${base}.xml">
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{0.0, 0.0, 1.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
      <svg>
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">LL</text>
      </svg>
    </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{395, 280}">
            </property>
        </property>
        <property name="IconLink" class="ptolemy.vergil.basic.export.web.IconLink" value="http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII11.0/ptII/$1/$base/index.html">
            <property name="linkTarget" class="ptolemy.vergil.basic.export.web.LinkTarget" value="_self">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{450, 180}">
            </property>
        </property>
    </property>
EOF2
done    

# Footer.
cat <<EOFEND
    <property name="Annotation999" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="9">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="(Created with $PTIIadm/bin/ptmkLiveLinkDemo.)">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[15.0, 485.0]">
        </property>
    </property>
</entity>
EOFEND

