class TheFox::TermKit::CursesApp
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/termkit/app/app_curses.rb, line 13 def initialize @curses_timeout = CURSES_TIMEOUT @ui_inited = false @ui_closed = false super() #puts 'CursesApp->initialize' end
Public Instance Methods
curses_timeout=(curses_timeout)
click to toggle source
# File lib/termkit/app/app_curses.rb, line 24 def curses_timeout=(curses_timeout) @curses_timeout = curses_timeout Curses.timeout = @curses_timeout end
draw_point(point, content)
click to toggle source
See UIApp
`draw_point()` method.
# File lib/termkit/app/app_curses.rb, line 41 def draw_point(point, content) # @logger.debug("draw_point #{point} #{content.inspect}") content_s = content foreground_color = nil background_color = nil if content.is_a?(ViewContent) # @logger.debug("draw_point #{point} content is ViewContent") content_s = content.char # @logger.debug("draw_point #{point} #{content.foreground_color} #{content.background_color}") foreground_color = CursesColor::COLORS[content.foreground_color] background_color = CursesColor::COLORS[content.background_color] end c_attr = Curses::A_NORMAL if !foreground_color.nil? && !background_color.nil? Curses.init_pair(1, foreground_color, background_color) c_attr = Curses.color_pair(1) end # @logger.debug("draw_point #{point} '#{content_s}' #{foreground_color.inspect} #{background_color.inspect}") begin Curses.setpos(point.y, point.x) Curses.attron(c_attr) do Curses.addstr(content_s) end rescue Exception => e @logger.error("draw_point: #{e}") end # @logger.debug("draw_point #{point} #{content.inspect} DONE") end
run_cycle()
click to toggle source
See UIApp
`run_cycle()` method.
Calls superclass method
# File lib/termkit/app/app_curses.rb, line 31 def run_cycle super() #puts 'CursesApp->run_cycle' handle_user_input end
ui_max_x()
click to toggle source
See UIApp
`ui_max_x()` method.
# File lib/termkit/app/app_curses.rb, line 87 def ui_max_x Curses.cols end
ui_max_y()
click to toggle source
See UIApp
`ui_max_y()` method.
# File lib/termkit/app/app_curses.rb, line 93 def ui_max_y Curses.rows end
ui_refresh()
click to toggle source
See UIApp
`ui_refresh()` method.
# File lib/termkit/app/app_curses.rb, line 81 def ui_refresh Curses.refresh end
Protected Instance Methods
ui_close()
click to toggle source
See UIApp
`ui_close()` method.
# File lib/termkit/app/app_curses.rb, line 131 def ui_close #puts "CursesApp->ui_close" raise 'ui already closed' if @ui_closed @ui_closed = true # Curses.setpos(10, 0) # Curses.addstr('CLOSE ') # Curses.refresh # sleep(2) Curses.refresh Curses.stdscr.clear Curses.stdscr.refresh Curses.stdscr.close Curses.close_screen end
ui_init()
click to toggle source
See UIApp
`ui_init()` method.
Calls superclass method
# File lib/termkit/app/app_curses.rb, line 101 def ui_init #puts "CursesApp->ui_init '#{@curses_timeout}'" raise 'ui already initialized' if @ui_inited @ui_inited = true super() # @logger.debug("init Curses") Curses.noecho Curses.timeout = @curses_timeout Curses.curs_set(0) Curses.init_screen Curses.start_color Curses.use_default_colors Curses.crmode Curses.stdscr.keypad(true) # @logger.debug("color_pairs: #{Curses.color_pairs}") # Curses.init_pair(1, Curses::COLOR_BLACK, Curses::COLOR_GREEN) # Curses.setpos(0, 0) # Curses.addstr('INIT OK') # Curses.refresh end
Private Instance Methods
handle_user_input()
click to toggle source
# File lib/termkit/app/app_curses.rb, line 151 def handle_user_input key_down(Curses.getch) #key_down(IO.console.getch) end