Class: LCDProc::Widgets::HBar
- Inherits:
-
Object
- Object
- LCDProc::Widgets::HBar
- Includes:
- LCDProc::Widget
- Defined in:
- lib/lcdproc/widgets/hbar.rb
Constant Summary collapse
- @@widget_count =
0
Instance Attribute Summary collapse
-
#length ⇒ Object
Returns the value of attribute length.
-
#x ⇒ Object
Returns the value of attribute x.
-
#y ⇒ Object
Returns the value of attribute y.
Attributes included from LCDProc::Widget
Instance Method Summary collapse
-
#initialize(id = "HBarWidget_#{@@widget_count}", bar_length = 120, row = 1, col = 1) ⇒ HBar
constructor
Creates a new HBar widget which can then be displayed anywhere on the screen.
-
#update ⇒ Object
Sends to command to the LCDd server to update the widget on screen.
Methods included from LCDProc::Widget
add_support, #attach_to, #detach, #hide, new, #show, supported_types
Constructor Details
#initialize(id = "HBarWidget_#{@@widget_count}", bar_length = 120, row = 1, col = 1) ⇒ HBar
Creates a new HBar widget which can then be displayed anywhere on the screen.
-
:id
- A unique string which identifies this widget. Defaults to “HBarWidget_” + a sequence number. -
:bar_length
- The length of the bar. Default to 120 (fills a 20x4 character screen). -
:row
- The row in which the bar should be positioned. Defaults to 1. -
:col
- The column in which the bar should be positioned. Defaults to 1.
Example:
w = HBar.new
or
w = HBar.new( 'TestBar', 15, 1, 5 )
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/lcdproc/widgets/hbar.rb', line 54 def initialize( id = "HBarWidget_#{@@widget_count}", = 120, row = 1, col = 1 ) if id.nil? id = "HBarWidget_#{@@widget_count}" end @id = id @type = :hbar @screen = nil @visible = false @length = @x = row @y = col @@widget_count += 1 end |
Instance Attribute Details
#length ⇒ Object
Returns the value of attribute length.
35 36 37 |
# File 'lib/lcdproc/widgets/hbar.rb', line 35 def length @length end |
#x ⇒ Object
Returns the value of attribute x.
35 36 37 |
# File 'lib/lcdproc/widgets/hbar.rb', line 35 def x @x end |
#y ⇒ Object
Returns the value of attribute y.
35 36 37 |
# File 'lib/lcdproc/widgets/hbar.rb', line 35 def y @y end |
Instance Method Details
#update ⇒ Object
Sends to command to the LCDd server to update the widget on screen
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/lcdproc/widgets/hbar.rb', line 73 def update if @screen = @length if @length < 1 = @length * 120 end response = @screen.client.send_command( Command.new( "widget_set #{@screen.id} #{self.id} #{@x} #{@y} \"#{}\"" ) ) if response.successful? @screen.client.( "Widget '#{@id}' was successfully updated" ) return true else @screen.client.( "Error: Widget '#{@id}' was NOT successfully updated (#{response.})" ) return true end else @screen.client.( "Error: Cannot update Widget '#{@id}' until it is attached to a screen" ) return false end end |