Class: Kaitai::Struct::Visualizer::Visualizer

Inherits:
Object
  • Object
show all
Defined in:
lib/kaitai/struct/visualizer/visualizer.rb

Direct Known Subclasses

ExternalCompilerVisualizer

Instance Method Summary collapse

Constructor Details

#initialize(bin_fn, formats_fn) ⇒ Visualizer

Returns a new instance of Visualizer.



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/kaitai/struct/visualizer/visualizer.rb', line 13

def initialize(bin_fn, formats_fn)
  @bin_fn = bin_fn
  @formats_fn = formats_fn
  @primary_format = @formats_fn.shift

  main_class_name = compile_format(@primary_format)

  @formats_fn.each { |fn|
    compile_format(fn)
  }

  main_class = Kernel::const_get(main_class_name)
  @data = main_class.from_file(@bin_fn)

  load_exc = nil
  begin
    @data._read
  rescue EOFError => e
    load_exc = e
  rescue Kaitai::Struct::Stream::UnexpectedDataError => e
    load_exc = e
  end

  @ui = Kaitai::TUI.new
  @tree = Tree.new(@ui, @data)

  @tree.redraw
  @ui.message_box_exception(load_exc) if load_exc
end

Instance Method Details

#runObject



43
44
45
# File 'lib/kaitai/struct/visualizer/visualizer.rb', line 43

def run
  @tree.run
end