add run button , while pressed runs the program

This commit is contained in:
Torsten Ruger 2015-10-29 18:36:42 +02:00
parent b76fe1645e
commit a18bbeebdf
2 changed files with 32 additions and 0 deletions

View File

@ -62,6 +62,12 @@ $susy: (
-webkit-border-radius: 7px; -webkit-border-radius: 7px;
font-size: 100%; font-size: 100%;
} }
.run{
background-color: #00FF37;
-moz-border-radius: 7px;
-webkit-border-radius: 7px;
font-size: 100%;
}
.bright { .bright {
padding-right: 6px; padding-right: 6px;

View File

@ -1,13 +1,17 @@
require "browser/delay"
class StatusView < ElementView class StatusView < ElementView
def initialize interpreter def initialize interpreter
@interpreter = interpreter @interpreter = interpreter
@running = false
end end
def draw def draw
@element = div(".status_view") << @element = div(".status_view") <<
div("h4" , "Interpreter" ) << div("h4" , "Interpreter" ) <<
div("button.act" , "Next") << div("button.act" , "Next") <<
div("button.run" , "Run") <<
div( "br") << div( "br") <<
div("span.clock" , clock_text) << div("span.clock" , clock_text) <<
div( "br") << div( "br") <<
@ -18,9 +22,31 @@ class StatusView < ElementView
div("span.stdout") div("span.stdout")
# set up event handler # set up event handler
@element.at_css(".act").on("click") { self.update } @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 return @element
end 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 def update
begin begin
@interpreter.tick @interpreter.tick