trying to get register view to update
This commit is contained in:
parent
933b64c499
commit
79383d89b1
@ -10,15 +10,24 @@ class RegisterView
|
|||||||
|
|
||||||
before_mount do
|
before_mount do
|
||||||
interpreter.register_event(:register_changed, self)
|
interpreter.register_event(:register_changed, self)
|
||||||
|
interpreter.register_event(:object_changed, self)
|
||||||
register_changed( register , nil , interpreter.registers[register])
|
register_changed( register , nil , interpreter.registers[register])
|
||||||
end
|
end
|
||||||
|
|
||||||
def register_changed reg , old , value
|
def register_changed reg , old , value
|
||||||
|
reg = reg.symbol unless reg.is_a? Symbol
|
||||||
return unless reg == register
|
return unless reg == register
|
||||||
objects_id! value
|
objects_id! value
|
||||||
calc_fields
|
calc_fields
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def object_changed reg
|
||||||
|
reg = reg.symbol unless reg.is_a? Symbol
|
||||||
|
return unless reg == register
|
||||||
|
puts "Object changed in #{reg}"
|
||||||
|
calc_fields
|
||||||
|
end
|
||||||
|
|
||||||
def calc_fields
|
def calc_fields
|
||||||
#puts "My id #{objects_id} , #{objects_id.class}"
|
#puts "My id #{objects_id} , #{objects_id.class}"
|
||||||
object = Virtual.machine.objects[objects_id]
|
object = Virtual.machine.objects[objects_id]
|
||||||
@ -49,6 +58,7 @@ class RegisterView
|
|||||||
end
|
end
|
||||||
|
|
||||||
def marker var
|
def marker var
|
||||||
|
return "W" if var.is_a? String
|
||||||
var.class.name.split("::").last[0]
|
var.class.name.split("::").last[0]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -10,7 +10,7 @@ $susy: (
|
|||||||
.classes { @include span(3); }
|
.classes { @include span(3); }
|
||||||
|
|
||||||
.file-view {
|
.file-view {
|
||||||
@include span(4);
|
@include span(4);
|
||||||
margin: span(1);
|
margin: span(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -31,7 +31,8 @@ $susy: (
|
|||||||
}
|
}
|
||||||
|
|
||||||
.register-view {
|
.register-view {
|
||||||
@include gallery(2);
|
@include gallery(3);
|
||||||
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bright {
|
.bright {
|
||||||
|
@ -26,8 +26,8 @@ class Interpreter
|
|||||||
@state = "runnnig"
|
@state = "runnnig"
|
||||||
@stdout = ""
|
@stdout = ""
|
||||||
@registers = {}
|
@registers = {}
|
||||||
(0...12).each do |r|
|
(0...16).each do |r|
|
||||||
set_register "r#{r}".to_sym , "undefined"
|
set_register "r#{r}".to_sym , "r#{r}:unknown"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -114,6 +114,7 @@ class Interpreter
|
|||||||
value = object_for( @instruction.register )
|
value = object_for( @instruction.register )
|
||||||
object = object_for( @instruction.array )
|
object = object_for( @instruction.array )
|
||||||
object.internal_object_set( @instruction.index , value )
|
object.internal_object_set( @instruction.index , value )
|
||||||
|
trigger(:object_changed, @instruction.register )
|
||||||
true
|
true
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -133,6 +134,7 @@ class Interpreter
|
|||||||
def execute_SaveReturn
|
def execute_SaveReturn
|
||||||
object = object_for @instruction.register
|
object = object_for @instruction.register
|
||||||
raise "save return has nothing to save" unless @link
|
raise "save return has nothing to save" unless @link
|
||||||
|
trigger(:object_changed, @instruction.register )
|
||||||
object.internal_object_set @instruction.index , @link
|
object.internal_object_set @instruction.index , @link
|
||||||
true
|
true
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user