class PDFWalker::Walker::DumpView
Public Class Methods
new(parent)
click to toggle source
Calls superclass method
# File lib/pdfwalker/hexview.rb, line 34 def initialize(parent) @parent = parent super() set_policy(POLICY_AUTOMATIC, POLICY_AUTOMATIC) @current_obj = nil @view = HexEditor.new @view.show_offsets(true) add_with_viewport @view end
Public Instance Methods
clear()
click to toggle source
# File lib/pdfwalker/hexview.rb, line 48 def clear @view.set_data '' end
load(object)
click to toggle source
# File lib/pdfwalker/hexview.rb, line 52 def load(object) return if @current_obj.equal?(object) self.clear case object when Origami::Stream load_stream(object) when Origami::String load_string(object) end @current_obj = object end
Private Instance Methods
load_stream(object)
click to toggle source
# File lib/pdfwalker/hexview.rb, line 69 def load_stream(object) begin @view.set_data(object.data) rescue Origami::Filter::Error @view.set_data($!.input_data) if $!.input_data @parent.error("#{$!.class}: #{$!.message}") unless object.filters == [ :DCTDecode ] end end
load_string(object)
click to toggle source
# File lib/pdfwalker/hexview.rb, line 79 def load_string(object) @view.set_data(object.value) end