add run button , while pressed runs the program
This commit is contained in:
parent
b76fe1645e
commit
a18bbeebdf
@ -62,6 +62,12 @@ $susy: (
|
||||
-webkit-border-radius: 7px;
|
||||
font-size: 100%;
|
||||
}
|
||||
.run{
|
||||
background-color: #00FF37;
|
||||
-moz-border-radius: 7px;
|
||||
-webkit-border-radius: 7px;
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
.bright {
|
||||
padding-right: 6px;
|
||||
|
@ -1,13 +1,17 @@
|
||||
require "browser/delay"
|
||||
|
||||
class StatusView < ElementView
|
||||
|
||||
def initialize interpreter
|
||||
@interpreter = interpreter
|
||||
@running = false
|
||||
end
|
||||
|
||||
def draw
|
||||
@element = div(".status_view") <<
|
||||
div("h4" , "Interpreter" ) <<
|
||||
div("button.act" , "Next") <<
|
||||
div("button.run" , "Run") <<
|
||||
div( "br") <<
|
||||
div("span.clock" , clock_text) <<
|
||||
div( "br") <<
|
||||
@ -18,9 +22,31 @@ class StatusView < ElementView
|
||||
div("span.stdout")
|
||||
# set up event handler
|
||||
@element.at_css(".act").on("click") { self.update }
|
||||
@element.at_css(".run").on("mousedown") { self.start }
|
||||
@element.at_css(".run").on("mouseup") { self.stop }
|
||||
return @element
|
||||
end
|
||||
|
||||
|
||||
def start
|
||||
@running = true
|
||||
run
|
||||
end
|
||||
def stop
|
||||
@running = false
|
||||
end
|
||||
def run
|
||||
return unless @running
|
||||
begin
|
||||
proc = Proc.new do
|
||||
self.update
|
||||
self.run
|
||||
end
|
||||
proc.after( 0.1 )
|
||||
rescue => e
|
||||
puts e
|
||||
end
|
||||
end
|
||||
def update
|
||||
begin
|
||||
@interpreter.tick
|
||||
|
Loading…
x
Reference in New Issue
Block a user