File: xcontrol.g

package info (click to toggle)
genesis 2.1-1.1
  • links: PTS
  • area: main
  • in suites: potato
  • size: 14,288 kB
  • ctags: 10,667
  • sloc: ansic: 111,959; makefile: 2,240; yacc: 1,797; lex: 976; csh: 54; sh: 13
file content (102 lines) | stat: -rw-r--r-- 3,083 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
// genesis

float dt = 1.0e-4
float refresh_factor = 10.0

create xform   /control [0,0,300,444]
create xbutton /control/sweep_vert [50%,0,50%,30] \
    -script "autosweep vertical /control/bar_vel(cells_per_step)"
create xbutton /control/sweep_horiz [0,0,50%,30] \
    -script "autosweep horizontal /control/bar_vel(cells_per_step)"
create xbutton /control/step  -script "step"
create xbutton /control/stop  -script "stop"
create xbutton /control/reset -script "reset"
create xbutton /control/quit  -script "xshow /quitform"
create xdialog /control/nstep -script "nstep <w>" -value 100
create xdialog /control/current_time -value 0.000
create xdialog /control/dt_sec -script "setdt <w>" -value 1.0e-4
create xdialog /control/refresh_every_n_steps \
    -script "setrefresh <w>" -value 10
create xlabel /control/"Input pattern control"
create xdialog /control/"bar_vel(cells_per_step)" \
    -script "autosweep <w>" -value 0.01
    // the autosweep script is in ret_input.g
create xdialog /control/bar_firing_rate -value 500.0

create xform /quitform [0,40,300,100] -title "Do you really want to quit ?"
disable /quitform
create xbutton /quitform/yes -script quit
create xbutton /quitform/no -script "xhide /quitform"

function get_current_time
    setfield /control/current_time value {getstat -time}
end

function nstep(widget)
    str widget
    echo doing {getfield {widget} value} steps
    step {getfield {widget} value}
end

function setdt(widget)
    str widget
    echo setting timesteps to {getfield {widget} value} 
    dt = {getfield {widget} value}
    setclock 0 {dt}  // sec
    setclock 1 {dt * refresh_factor}  // sec : for the refresh views
end

function setrefresh(widget)
    str widget
    echo setting refresh_factor to {getfield {widget} value} 
    refresh_factor = {getfield {widget} value}
    setclock 1 {dt * refresh_factor}  // sec : for the refresh views
end

create xtoggle /control/xconn_toggle 
/*
setfield ^ script "showtoggle <w> /xconn"  \
	   state 1                             \
	   onlabel  "xconn hidden"             \
	   offlabel "xconn visible"
*/
setfield ^ script "echo Not available yet!"  \
	   state 1                             \
	   onlabel  "xconn hidden"             \
	   offlabel "xconn visible"

create xtoggle /control/xout_toggle 
setfield ^ script "showtoggle  <w> /xout" \
	   state 0                             \
	   onlabel  "xout hidden"              \
	   offlabel "xout visible"

create xtoggle /control/xtree_toggle 
/*
setfield ^ script "showtoggle  <w> /tree" \
	   state 1                             \
	   onlabel  "xtree hidden"             \
	   offlabel "xtree visible"
*/
setfield ^ script "echo Not available yet!" \
	   state 1                             \
	   onlabel  "xtree hidden"             \
	   offlabel "xtree visible"


function showtoggle(widget,form)
    str widget
    str form
    echo {widget} {form}
    if ({getfield {widget} state} == 1)
      xhide {form}
    else
      xshow {form}
    end
end 

xshow /control

function do_refresh // for calling refreshes 
    get_current_time
end