class Curtis::BaseView

Attributes

cursor[R]
position[R]
size[R]
window[R]

Public Class Methods

instance() click to toggle source
# File lib/curtis/base_view.rb, line 19
def instance
  @instance ||= self.new(Ncurses.stdscr)
end
new(ncurses_window) click to toggle source
# File lib/curtis/base_view.rb, line 24
def initialize(ncurses_window)
  unless ncurses_window.kind_of? Ncurses::WINDOW
    fail ArgumentError, 'Only Ncurses::WINDOW instances allowed.'
  end

  @window   = ncurses_window
  @cursor   = Cursor.new(self)
  @size     = Size.new(self)
  @position = Position.new(self)
end

Public Instance Methods

method_missing(method_name, *arguments, &block) click to toggle source
Calls superclass method
# File lib/curtis/base_view.rb, line 35
def method_missing(method_name, *arguments, &block)
  return super unless window.respond_to?(method_name)
  window.send(method_name, *arguments, &block)
end
move_cursor(line: 0, column: 0) click to toggle source
# File lib/curtis/base_view.rb, line 56
def move_cursor(line: 0, column: 0)
  window.move(line, column)
end
parent() click to toggle source
# File lib/curtis/base_view.rb, line 47
def parent
  setup
  window
end
render() click to toggle source
# File lib/curtis/base_view.rb, line 52
def render
  window.refresh
end
respond_to_missing?(method_name, include_private = false) click to toggle source
Calls superclass method
# File lib/curtis/base_view.rb, line 40
def respond_to_missing?(method_name, include_private = false)
  window.respond_to?(method_name) || super
end
setup() click to toggle source
# File lib/curtis/base_view.rb, line 44
def setup
end