lib/ppcurses/actions/GetEnumeratedStringAction.rb in ppcurses-0.0.20 vs lib/ppcurses/actions/GetEnumeratedStringAction.rb in ppcurses-0.0.21
- old
+ new
@@ -1,62 +1,64 @@
require_relative 'BaseAction.rb'
+#noinspection RubyResolve
module PPCurses
class GetEnumeratedStringAction < PromptAction
# enumeration is a list of possible values
# i.e. CD, Vinyl, MP3
def initialize(prompt, enumeration)
super(prompt)
# verify enumeration is an array
- if ( enumeration.respond_to?('each_with_index') == false ) then
+ unless enumeration.respond_to?('each_with_index') then
raise
end
+
@options = enumeration
- @currOption = 0
+ @current_option = 0
end
- def printPrompt()
+ def print_prompt
super()
@options.each_with_index do |option, index|
@win.addstr(option)
- if ( index == @currOption ) then
- @win.addstr(" [X] ")
+ if index == @current_option then
+ @win.addstr(' [X] ')
else
- @win.addstr(" [ ] ")
+ @win.addstr(' [ ] ')
end
end
end
- def execute()
- printPrompt()
+ def execute
+ print_prompt()
# Enables reading arrow keys in getch
@win.keypad(true)
- while(1)
+ while 1
noecho
c = @win.getch
- if c == KEY_LEFT then @currOption = @currOption-1 end
- if c == KEY_RIGHT then @currOption= @currOption+1 end
+ if c == KEY_LEFT then @current_option = @current_option-1 end
+ if c == KEY_RIGHT then @current_option= @current_option+1 end
if c == 10 then break end
- if (@currOption < 0 ) then @currOption = @options.length-1 end
- if (@currOption > @options.length-1 ) then @currOption = 0 end
+ if @current_option < 0 then @current_option = @options.length-1 end
+ if @current_option > @options.length-1 then @current_option = 0 end
echo
- printPrompt()
+ print_prompt()
end
echo
# Go to next line so that further actions to overwrite
# the choice
- @win.setpos(@win.cury() + 1, xPadding())
+ @win.setpos(@win.cury() + 1, x_padding())
end
def data
- @options[@currOption]
+ @options[@current_option]
end
end
end