class PPCurses::Button

Attributes

action[RW]
label[RW]
pushed[RW]
selected[RW]

Public Class Methods

new(label) click to toggle source
# File lib/ppcurses/form/button.rb, line 11
def initialize(label)
  @label = label
  @selected = false
  @pushed = false
end

Public Instance Methods

clear() click to toggle source
# File lib/ppcurses/form/button.rb, line 46
def clear
 # NOP
end
height() click to toggle source
# File lib/ppcurses/form/button.rb, line 30
def height
  1
end
key_down( key ) click to toggle source
# File lib/ppcurses/form/button.rb, line 38
def key_down( key )

  if key == ENTER
    @action.call unless action.nil?
  end

end
set_curs_pos(screen) click to toggle source
# File lib/ppcurses/form/button.rb, line 34
def set_curs_pos(screen)
  Curses.curs_set(INVISIBLE)
end
show(screen) click to toggle source

Screen should be of type Curses::Window

# File lib/ppcurses/form/button.rb, line 20
def show(screen)
  screen.attron(Curses::A_REVERSE) if @selected
  screen.addstr("< #{@label} >")
  screen.attroff(Curses::A_REVERSE) if @selected
end
width() click to toggle source
# File lib/ppcurses/form/button.rb, line 26
def width
  @label.length + 4
end