class PM::PmWindow
Attributes
title[RW]
title_prefix[R]
win[R]
Public Class Methods
new(rows, cols, row, col, title_prefix)
click to toggle source
If title is nil then list's name will be used
Calls superclass method
# File lib/patchmaster/curses/pm_window.rb, line 13 def initialize(rows, cols, row, col, title_prefix) @win = Window.new(rows, cols, row, col) super(@win) @title_prefix = title_prefix set_max_contents_len(cols) end
Public Instance Methods
draw()
click to toggle source
# File lib/patchmaster/curses/pm_window.rb, line 26 def draw @win.clear @win.box(?|, ?-) return unless @title_prefix || @title @win.setpos(0, 1) @win.attron(A_REVERSE) { @win.addch(' ') @win.addstr("#{@title_prefix}: ") if @title_prefix @win.addstr(@title) if @title @win.addch(' ') } end
make_fit(str)
click to toggle source
# File lib/patchmaster/curses/pm_window.rb, line 49 def make_fit(str) str = str[0..@max_contents_len] if str.length > @max_contents_len str end
move_and_resize(rect)
click to toggle source
# File lib/patchmaster/curses/pm_window.rb, line 20 def move_and_resize(rect) @win.move(rect[2], rect[3]) @win.resize(rect[0], rect[1]) set_max_contents_len(rect[1]) end
set_max_contents_len(cols)
click to toggle source
# File lib/patchmaster/curses/pm_window.rb, line 45 def set_max_contents_len(cols) @max_contents_len = cols - 3 # 2 for borders end
visible_height()
click to toggle source
Visible height is height of window minus 2 for the borders.
# File lib/patchmaster/curses/pm_window.rb, line 41 def visible_height @win.maxy - 2 end