Class: LCDProc::MenuItems::Ring

Inherits:
Object
  • Object
show all
Includes:
LCDProc::MenuItem
Defined in:
lib/lcdproc/menu_items/ring.rb

Constant Summary collapse

@@ring_item_count =
0

Instance Attribute Summary

Attributes included from LCDProc::MenuItem

#id, #is_hidden, #lcdproc_event_type, #lcdproc_options, #lcdproc_type, #next, #parent_menu, #previous, #text

Instance Method Summary collapse

Methods included from LCDProc::MenuItem

add_support, #lcdproc_options_as_string, new, supported_types

Constructor Details

#initialize(user_options = {}, lcdproc_options = {}) ⇒ Ring

Creates a new Ring MenuItem object.

The user_options will accept a hash of the following MenuItem options.

  • :id - The unique string that identifies this ring. Defaults to “RingMenuMenuItem_” + a sequence number.

The lcdproc_options will accept a hash of the options to be passed to LCDd when creating or updating the ring.

  • :text - The text to be displayed on the LCD for this ring. Defaults to the id.

  • :strings - A tab separated list of the strings to be displayed as options. Defaults to “YestNotMaybe”.

  • :value - The index of the string to be displayed initially. Defaults to 0.



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/lcdproc/menu_items/ring.rb', line 48

def initialize( user_options = {}, lcdproc_options = {} )
  @lcdproc_options = {}
  
  if user_options[:id].nil?
    @id = "RingMenuItem_#{@@ring_item_count}"
  else
    @id = user_options[:id]
  end
  
  @lcdproc_type = "ring"
  @lcdproc_event_type = "update"
  
  @lcdproc_options[:text] = @id
  
  @lcdproc_options[:strings] = "Yes\tNo\tMaybe"
  @lcdproc_options[:value] = 0
  
  @lcdproc_options.update( lcdproc_options )
  
  [ :text, :strings ].each { |s| @lcdproc_options[s].quotify! }
  
  @@ring_item_count += 1
end