lib/ppcurses/menu/RadioMenu.rb in ppcurses-0.0.20 vs lib/ppcurses/menu/RadioMenu.rb in ppcurses-0.0.21

- old
+ new

@@ -1,83 +1,85 @@ require_relative 'BaseMenu.rb' module PPCurses + #noinspection RubyResolve class RadioMenu < BaseMenu - def initialize( menuItems, actionItems ) + def initialize( menu_items, action_items ) @items = Array.new + @actions = Array.new - @menuLength = 0 + @menu_length = 0 - menuItems.each do |item| + menu_items.each do |item| @items.push item - @menuLength += item.length + 5 + @menu_length += item.length + 5 end @selection = 0 - unless actionItems.nil? - @actions = Array.new - actionItems.each do |item| + unless action_items.nil? + + action_items.each do |item| @actions.push item end end - winWidth = @menuLength + 4 + w_width = @menu_length + 4 - @win = Window.new(3, winWidth ,0, (cols - winWidth) / 2) + @win = Window.new(3, w_width ,0, (cols - w_width) / 2) @win.timeout=-1 # Enables reading arrow keys in getch @win.keypad(true) end - def show() - @win.box("|", "-") + def show + @win.box('|', '-') y = 1 x = 2 @win.setpos(y, x) for i in 0...@items.length @win.addstr( @items[i] ) - if @selection == i then @win.addstr(" [*] ") else @win.addstr(" [ ] " ) end + if @selection == i then @win.addstr(' [*] ') else @win.addstr(' [ ] ') end end @win.refresh end - def getMenuSelection() + def menu_selection - while(1) + while 1 c = @win.getch - processed = self.handleMenuSelection(c) + self.handle_menu_selection(c) - if c == 27 then # ESCAPE + if c == 27 # ESCAPE @win.clear @win.refresh break end end end - def handleMenuSelection(c) + def handle_menu_selection(c) n_choices = @items.length - if c == KEY_RIGHT then + if c == KEY_RIGHT if @selection < n_choices - 1 then @selection += 1 else @selection = 0 end self.show() end - if c == KEY_LEFT then + if c == KEY_LEFT if @selection > 0 then @selection -= 1 else @selection = n_choices-1 end self.show() end if c == 10 then # ENTER @@ -88,10 +90,10 @@ end end - def close() + def close @win.close() end end