class Reline::LineEditor::Dialog
Attributes
column
[RW]
contents
[R]
name
[R]
pointer
[RW]
scroll_top
[RW]
trap_key
[RW]
vertical_offset
[RW]
width
[R]
Public Class Methods
new
(name, config, proc_scope)
# File lib/reline/line_editor.rb, line 640 def initialize(name, config, proc_scope) @name = name @config = config @proc_scope = proc_scope @width = nil @scroll_top = 0 @trap_key = nil end
Public Instance Methods
call
(key)
# File lib/reline/line_editor.rb, line 664 def call(key) @proc_scope.set_dialog(self) @proc_scope.set_key(key) dialog_render_info = @proc_scope.call if @trap_key if @trap_key.any?{ |i| i.is_a?(Array) } # multiple trap @trap_key.each do |t| @config.add_oneshot_key_binding(t, @name) end else @config.add_oneshot_key_binding(@trap_key, @name) end end dialog_render_info end
contents=
(contents)
# File lib/reline/line_editor.rb, line 657 def contents=(contents) @contents = contents if contents and @width.nil? @width = contents.map{ |line| Reline::Unicode.calculate_width(line, true) }.max end end
set_cursor_pos
(col, row)
# File lib/reline/line_editor.rb, line 649 def set_cursor_pos(col, row) @proc_scope.set_cursor_pos(col, row) end
width=
(v)
# File lib/reline/line_editor.rb, line 653 def width=(v) @width = v end