raw source int the source view
This commit is contained in:
parent
3477de8c81
commit
4bf8ac5345
@ -17,14 +17,14 @@ $susy: (
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.file_view {
|
||||
.source_view {
|
||||
@include span(4);
|
||||
margin-left: span(1);
|
||||
}
|
||||
|
||||
.source_view { @include span(8); }
|
||||
.instruction_view { @include span(6); }
|
||||
|
||||
.label_view {
|
||||
.labels_view {
|
||||
@include span(3);
|
||||
margin-right: span(1);
|
||||
height: 200px;
|
||||
|
@ -15,7 +15,7 @@ require "base/list_view"
|
||||
# each seperate view is in it's own class.
|
||||
require "views/switch_view"
|
||||
require "views/status_view"
|
||||
require "views/file_view"
|
||||
require "views/source_view"
|
||||
require "views/blocks_view"
|
||||
require "views/instruction_view"
|
||||
require "views/registers_view"
|
||||
@ -27,11 +27,11 @@ class MainView < ListView
|
||||
machine = Register.machine.boot
|
||||
code = s(:statements, s(:class, :Foo, s(:derives, nil),
|
||||
s(:statements, s(:class_field, :Integer, :x))))
|
||||
Soml::Compiler.compile( code )
|
||||
Soml.compile( code )
|
||||
machine.collect
|
||||
@interpreter = Interpreter::Interpreter.new
|
||||
super( [SwitchView.new(@interpreter) ,
|
||||
FileView.new ,
|
||||
SourceView.new(@interpreter) ,
|
||||
BlocksView.new(@interpreter) ,
|
||||
InstructionView.new(@interpreter) ,
|
||||
StatusView.new(@interpreter) ,
|
||||
|
@ -12,7 +12,7 @@ class BlocksView < ListView
|
||||
|
||||
def draw
|
||||
super()
|
||||
wrap_element div("div.label_view") << div("h4" , "Method + Block " ) << div("h4.method" , @method_name)
|
||||
wrap_element div("div.labels_view") << div("h4" , "Method + Block " ) << div("h4.method" , @method_name)
|
||||
return @element
|
||||
end
|
||||
|
||||
|
@ -1,8 +0,0 @@
|
||||
class FileView < ElementView
|
||||
|
||||
|
||||
def draw
|
||||
@element = div(".file_view") << div("h4" ,"Future")
|
||||
end
|
||||
|
||||
end
|
@ -24,7 +24,7 @@ class InstructionView < ListView
|
||||
def draw
|
||||
super()
|
||||
wrap_node_with @elements.first , div
|
||||
wrap_element div(".source_view") << div("h4" ,"Register Machine Instruction")
|
||||
wrap_element div(".instruction_view") << div("h4" ,"Register Machine Instruction")
|
||||
@element
|
||||
end
|
||||
|
||||
@ -38,4 +38,5 @@ class InstructionView < ListView
|
||||
return "" unless @interpreter.instruction
|
||||
@interpreter.instruction.to_s
|
||||
end
|
||||
|
||||
end
|
||||
|
32
lib/views/source_view.rb
Normal file
32
lib/views/source_view.rb
Normal file
@ -0,0 +1,32 @@
|
||||
class SourceView < ElementView
|
||||
|
||||
def initialize interpreter
|
||||
@interpreter = interpreter
|
||||
@interpreter.register_event(:instruction_changed, self)
|
||||
end
|
||||
|
||||
def draw
|
||||
@text = div
|
||||
@element = div(".source_view") << div("h4" ,"Future") << @text
|
||||
@element
|
||||
end
|
||||
|
||||
def instruction_changed
|
||||
@text.text = source
|
||||
end
|
||||
|
||||
def source
|
||||
i = @interpreter.instruction
|
||||
return "" unless i
|
||||
case i.source
|
||||
when AST::Node
|
||||
i.source.to_s
|
||||
when String
|
||||
"String " + i.source
|
||||
else
|
||||
raise i.source.class.name
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
@ -64,7 +64,7 @@ class SelectView < ElementView
|
||||
promise.then do |response|
|
||||
code = decode( response.text)
|
||||
machine = Register.machine.boot
|
||||
Soml::Compiler.compile( code )
|
||||
Soml.compile( code )
|
||||
machine.collect
|
||||
@interpreter.start machine.init
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user