//genesis

function add_squid_graphs(path)
str path, gpath
float Xmax =8  // Sec 
float Ymin = -.07
float Ymax = 0.03

    create xform {path}/graphs [1500,10,1000,550] -notitle
    create xlabel {path}/graphs/label [10,0,98%,25] -label {path}

    // plot membrane potential

    gpath = (path) @ "/graphs/Vm"
    create xgraph {gpath} [10,10:label.bottom,49%,45%] -title \
         "membrane potential"
    create xbutton {gpath}"scale" [-50:Vm.right,10:label.bottom,50,25] \
	-title "scale" -script "set_scale "{gpath}
    setfield {gpath} XUnits "t (sec)" YUnits "voltage (V)"
    setfield {gpath} xmax {Xmax} ymin {Ymin}  \
        ymax {Ymax}

    // plot injection currents
    gpath = (path) @ "/graphs/inj"
    create xgraph {gpath}  \
        [10,10:Vm.bottom,49%,45%] -title  \
        "injection current"
    create xbutton {gpath}"scale" [-50:inj.right,10:Vm.bottom,50,25] -title \
         "scale" -script "set_scale "{gpath}
    setfield {gpath} XUnits "t (sec)" YUnits "current (A)"
    setfield {gpath} xmax {Xmax} ymin {-10e-9} ymax {10e-9}

    // plot channel conductances
    gpath = (path) @ "/graphs/Gk"
    create xgraph {gpath}  \
        [10:Vm.right,10:label.bottom,49%,45%] -title  "channel conductance"
    create xbutton {gpath}"scale" [-50:Gk.right,10:label.bottom,50,25] \
	 -title "scale"  -script "set_scale "{gpath}
    setfield {gpath} XUnits "t (sec)" YUnits "conductance (S)"
    setfield {gpath} xmax {Xmax} ymin 0.0 ymax 5e-10

    // plot channel currents
    gpath = (path) @ "/graphs/Ik"
    create xgraph {gpath}  \
        [10:inj.right,10:Gk.bottom,49%,45%] -title  "channel current"
    create xbutton {gpath}"scale" [-50:Ik.right,10:Gk.bottom,50,25] \
	-title "scale" -script "set_scale "{gpath}
    setfield {gpath} XUnits "t (sec)" YUnits "current (A)"
    setfield {gpath} xmax {Xmax} ymin -5e-11 ymax 5e-11


    graphclock {path} 1
    // make an exception for the injection graph - use simulation clock
    useclock {path}"/graphs/inj" 0
    showgraphics {path}
end

function set_scale(gpath)
    str gpath
    float xmin, xmax, ymin, ymax, overlay
    xmin = {getfield {gpath} xmin}
    xmax = {getfield {gpath} xmax}
    ymin = {getfield {gpath} ymin}
    ymax = {getfield {gpath} ymax}
    overlay = {getfield {gpath} overlay}

    pushe /forms/gscale
    setfield  /forms/gscale gpath {gpath}
    setfield xmin value {xmin}
    setfield xmax value {xmax}
    setfield ymin value {ymin}
    setfield ymax value {ymax}
    setfield overlay value {overlay}
    xshow .
    pope
end