//---------------------------------------------------------------------------- // define a panel to run the different demos //---------------------------------------------------------------------------- proc make_demopanel() { xpanel("Simulations of thalamic oscillations") xbutton("Spindle oscillations - short run","restart(\"Fspin\")") xbutton("Spindle oscillations - long run","restart(\"FspinL\")") xbutton("Bicuculline-induced oscillations - short run","restart(\"Fbic\")") xbutton("Bicuculline-induced oscillations - long run","restart(\"FbicL\")") xbutton("Delta oscillations - short run","restart(\"Fdelta\")") xbutton("Delta oscillations - long run","restart(\"FdeltaL\")") xpanel() } make_demopanel() ismenu=0 load_file("nrngui.hoc") strdef tstr objref El electrodes_present=0 // after electrodes are created they must be // destroyed if simulation restarted proc destroy_elec() { execute("objref stim, vc",El) } pwmcnt = PWManager[0].count // the initial GUIs should not be dismissed ismenu=0 // determines if electrode is defined proc restart() { local i if (electrodes_present) { destroy_elec() } forall delete_section() for i=0, n_graph_lists-1 { graphList[i].remove_all() } flush_list.remove_all() fast_flush_list.remove_all() doNotify() for (i= PWManager[0].count-1; i >= pwmcnt; i -= 1) { PWManager[0].close(i) doNotify() } stoprun = 0 cvode_active(0) ismenu=0 sprint(tstr, "%s.oc", $s1) load_file(1, tstr) }