proc SCHEMATIC_trline_vsource {} {
make output -name out -origin {20 80}
make input -name phase -origin {-70 140}
make input -orient RX -name outr -origin {20 110}
make input -orient RX -name outr_p -origin {20 140}
}

proc ICON_trline_vsource args {
  icon_setup $args {{origin {0 0}} {orient R0} {name x} {zor {}} {zo {}} {stype {}} {freq {}} {amp {}} {sim_order {}} {offset {}}}
icon_term -type output -origin {80 -30} -name out
icon_term -type input -origin {-80 30} -name phase
icon_term -type input -origin {80 -10} -orient RX -name outr
icon_term -type input -origin {80 30} -orient RX -name outr_p
icon_property -origin {70 -60} -label {$name}
  icon_property -origin {-40 150} -type user -name name -default x
  icon_property -origin {-40 160} -type user -name zor
  icon_line -80 -50 -80 50 80 50 80 -50 -80 -50
icon_property -origin {-40 -60} -label trline_vsource
  icon_property -origin {-40 170} -type user -name zo
  icon_property -origin {-40 180} -type user -name stype
icon_property -origin {-30 60} -label {zor=$zor}
icon_property -origin {-30 70} -label {zo=$zo}
icon_property -origin {-30 80} -label {stype=$stype}
icon_property -origin {-30 90} -label {freq=$freq}
icon_property -origin {-30 100} -label {amp=$amp}
icon_property -origin {-30 120} -label {sim_order=$sim_order}
  icon_property -origin {-40 190} -type user -name freq
  icon_property -origin {-40 200} -type user -name amp
  icon_property -origin {-40 220} -type user -name sim_order
icon_property -origin {-30 110} -label {offset=$offset}
icon_property -origin {-70 -30} -label {stype: 1: square}
icon_property -origin {-30 -10} -label {3: prbs}
  icon_property -origin {-40 210} -type user -name offset
icon_property -origin {-70 30} -label phase
icon_property -origin {50 -30} -label out
icon_property -origin {50 -10} -label outr
icon_property -origin {30 30} -label outr_p
icon_property -origin {-30 -20} -label {2: sine}
icon_property -origin {-30 0} -label {4: impulse}
}

