now very simple to get expanding objects
This commit is contained in:
parent
7885ae93c4
commit
83e0c8a925
@ -2,15 +2,15 @@ require_relative "ref_view"
|
||||
|
||||
class ObjectView < ListView
|
||||
|
||||
def initialize interpreter , object_id
|
||||
def initialize object_id , interpreter = nil
|
||||
@object_id = object_id
|
||||
@interpreter = interpreter
|
||||
@interpreter.register_event(:object_changed, self)
|
||||
@interpreter.register_event(:object_changed, self) if interpreter
|
||||
super( content_elements )
|
||||
end
|
||||
|
||||
def draw
|
||||
@element = super("ul.nav!")
|
||||
@element = super(@interpreter ? "ul.nav!" : "ul")
|
||||
prepend_element div("li" , "-------------------------")
|
||||
prepend_element div( "li" ) << div("span" , class_header(@object_id) )
|
||||
return @element
|
||||
|
@ -1,14 +1,36 @@
|
||||
class RefView < ElementView
|
||||
class RefView < ListView
|
||||
|
||||
def initialize name , value
|
||||
@name = name
|
||||
@value = value
|
||||
super []
|
||||
end
|
||||
|
||||
attr_accessor :value
|
||||
attr_reader :value
|
||||
|
||||
def value= val
|
||||
@value = val
|
||||
add_hover
|
||||
end
|
||||
|
||||
def draw
|
||||
@element = div("li") << div("a" , "#{@name} : #{marker(@value)}" )
|
||||
add_hover
|
||||
@element
|
||||
end
|
||||
|
||||
def add_hover
|
||||
@element.on("hover"){ hover } if is_object?(@value)
|
||||
end
|
||||
|
||||
def is_object?( id )
|
||||
Virtual.machine.objects[id] != nil
|
||||
end
|
||||
|
||||
def hover
|
||||
puts "hovering #{@name}"
|
||||
append ObjectView.new(@value)
|
||||
@element.off("hover")
|
||||
end
|
||||
|
||||
def marker id
|
||||
|
@ -26,7 +26,7 @@ class RegistersView < ListView
|
||||
reg = reg.symbol unless reg.is_a? Symbol
|
||||
index = reg.to_s[1 .. -1 ].to_i
|
||||
if( is_object? value )
|
||||
swap = ObjectView.new( @interpreter, value )
|
||||
swap = ObjectView.new( value , @interpreter )
|
||||
else
|
||||
swap = ValueView.new value
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user