adds button and blocks tick over

This commit is contained in:
Torsten Ruger 2015-07-30 10:27:27 +03:00
parent d8a3657365
commit bb24a6cae5
5 changed files with 11 additions and 21 deletions

View File

@ -12,16 +12,16 @@ module Main
init_blocks
end
def about
# Add code for when the about view is loaded
def tick
@interpreter.tick
end
private
def init_machine
machine = Virtual.machine.boot
machine.run_before "Register::CallImplementation"
code = Ast::ExpressionList.new( [Ast::CallSiteExpression.new(:putstring, [] ,Ast::StringExpression.new("Hello again"))])
Virtual::Compiler.compile( code , machine.space.get_main )
machine.run_before "Register::CallImplementation"
@interpreter = Interpreter.new
@interpreter.start machine.init
end

View File

@ -1,8 +1,10 @@
class BlocksModel < Volt::ArrayModel
def instruction_changed old , ins
self.last._class_name = "" if( page._blocks.length > 0)
self << { :name => ins.to_s , :class_name => "active" }
self.last._class_name = "inactive" if( self.length > 0)
self << { :name => ins.to_s , :class_name => "bright" }
puts "block #{self.length}"
self.delete_at(0) if( self.length > 5)
end
end

View File

@ -3,7 +3,7 @@ class RegisterModel < Volt::Model
field :value
def register_changed reg , old , ins
self.last._class_name = "" if( page._blocks.length > 0)
self.last._class_name = "" if( self.length > 0)
self << { :name => ins.to_s , :class_name => "active" }
end

View File

@ -28,13 +28,14 @@
</div>
{{ page._blocks.each do |b| }}
<div class="{{b._class_name}}">
{{b._string}}
{{b._name}}
</div>
{{ end }}
</div>
<div class="status-view">
<div>
button.bright { "next" }.on(:click) { interpreter.tick }
<button e-click="tick">Next</button>
</div>
<div>
<h4> Status </h4>

View File

@ -1,13 +0,0 @@
# represent a block and hold the actual instance (as transient)
class BlockModel < Volt::Model
field :name
attr_accessor :block
def initialize(b)
super()
@block = b
self.name = b.nil? ? 'undefined' : b.name
end
end