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