Class: TextLineWidget

Inherits:
Object
  • Object
show all
Defined in:
lib/widget/text-line-widget.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(screen, value, x, y, w) ⇒ TextLineWidget

Returns a new instance of TextLineWidget.



4
5
6
7
8
9
10
11
# File 'lib/widget/text-line-widget.rb', line 4

def initialize(screen, value, x, y, w)
    @active = false
    @screen = screen
    @value  = value
    @x      = x
    @y      = y
    @w      = w
end

Instance Attribute Details

#activeObject

Returns the value of attribute active.



2
3
4
# File 'lib/widget/text-line-widget.rb', line 2

def active
  @active
end

#valueObject

Returns the value of attribute value.



3
4
5
# File 'lib/widget/text-line-widget.rb', line 3

def value
  @value
end

Instance Method Details

#drawObject



25
26
27
28
29
30
31
32
33
34
35
# File 'lib/widget/text-line-widget.rb', line 25

def draw
    value = @value
    if(value.empty?)
       value = "_________________"
    end

    @screen.setpos(@y,@x)
    @screen.attron Curses::A_BOLD if @active
    @screen.addstr(value)
    @screen.attroff Curses::A_BOLD if @active
end

#handle(chr) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/widget/text-line-widget.rb', line 13

def handle(chr)
    if(chr.class == String && chr.match(/[a-zA-Z\- .]/))
        @value += chr
        true
    elsif(chr == Curses::KEY_BACKSPACE || chr == 127)
        @value = @value[0..-2]
        true
    else
        false
    end
end