From 4bf8ac534500f170b6e79478fe5ba3b99ac9df86 Mon Sep 17 00:00:00 2001 From: Torsten Ruger Date: Thu, 29 Oct 2015 16:49:14 +0200 Subject: [PATCH] raw source int the source view --- assets/css/app.css.scss | 6 +++--- lib/debugger.rb | 6 +++--- lib/views/blocks_view.rb | 2 +- lib/views/file_view.rb | 8 -------- lib/views/instruction_view.rb | 3 ++- lib/views/source_view.rb | 32 ++++++++++++++++++++++++++++++++ lib/views/switch_view.rb | 2 +- 7 files changed, 42 insertions(+), 17 deletions(-) delete mode 100644 lib/views/file_view.rb create mode 100644 lib/views/source_view.rb diff --git a/assets/css/app.css.scss b/assets/css/app.css.scss index 4390970..7be5fa9 100644 --- a/assets/css/app.css.scss +++ b/assets/css/app.css.scss @@ -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; diff --git a/lib/debugger.rb b/lib/debugger.rb index df692bb..b70bd6f 100644 --- a/lib/debugger.rb +++ b/lib/debugger.rb @@ -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) , diff --git a/lib/views/blocks_view.rb b/lib/views/blocks_view.rb index 0b4867b..832855e 100644 --- a/lib/views/blocks_view.rb +++ b/lib/views/blocks_view.rb @@ -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 diff --git a/lib/views/file_view.rb b/lib/views/file_view.rb deleted file mode 100644 index 09977dd..0000000 --- a/lib/views/file_view.rb +++ /dev/null @@ -1,8 +0,0 @@ -class FileView < ElementView - - - def draw - @element = div(".file_view") << div("h4" ,"Future") - end - -end diff --git a/lib/views/instruction_view.rb b/lib/views/instruction_view.rb index eb2ef8e..ebf55af 100644 --- a/lib/views/instruction_view.rb +++ b/lib/views/instruction_view.rb @@ -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 diff --git a/lib/views/source_view.rb b/lib/views/source_view.rb new file mode 100644 index 0000000..24a5a4e --- /dev/null +++ b/lib/views/source_view.rb @@ -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 diff --git a/lib/views/switch_view.rb b/lib/views/switch_view.rb index 49c3ca3..a582fc1 100644 --- a/lib/views/switch_view.rb +++ b/lib/views/switch_view.rb @@ -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