Class: LCDProc::Widgets::String
- Inherits:
-
Object
- Object
- LCDProc::Widgets::String
- Includes:
- LCDProc::Widget
- Defined in:
- lib/lcdproc/widgets/string.rb
Constant Summary collapse
- @@widget_count =
0
Instance Attribute Summary collapse
-
#widget_text ⇒ Object
Returns the value of attribute widget_text.
-
#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 = "StringWidget_#{@@widget_count}", text = "Hello", col = 1, row = 1) ⇒ String
constructor
Creates a new String 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 = "StringWidget_#{@@widget_count}", text = "Hello", col = 1, row = 1) ⇒ String
Creates a new String widget which can then be displayed anywhere on the screen.
-
:id
- A unique string which identifies this widget. Defaults to “StringWidget_” + a sequence number. -
:text
- The text that you wish to display on the screen. Default to “Hello”. -
:col
- The column in which you wish to display the text on screen. Defaults to 1. -
:row
- The row in which you wish to display the text on screen. Defaults to 1.
Example:
w = String.new
or
w = String.new( 'Test', 'This is a string', 1, 5 )
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/lcdproc/widgets/string.rb', line 54 def initialize( id = "StringWidget_#{@@widget_count}", text = "Hello", col = 1, row = 1 ) if id.nil? id = "StringWidget_#{@@widget_count}" end @id = id @type = :string @screen = nil @visible = false @widget_text = text @x = col @y = row @@widget_count += 1 end |
Instance Attribute Details
#widget_text ⇒ Object
Returns the value of attribute widget_text.
35 36 37 |
# File 'lib/lcdproc/widgets/string.rb', line 35 def @widget_text end |
#x ⇒ Object
Returns the value of attribute x.
35 36 37 |
# File 'lib/lcdproc/widgets/string.rb', line 35 def x @x end |
#y ⇒ Object
Returns the value of attribute y.
35 36 37 |
# File 'lib/lcdproc/widgets/string.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 |
# File 'lib/lcdproc/widgets/string.rb', line 73 def update if @screen response = @screen.client.send_command( Command.new( "widget_set #{@screen.id} #{self.id} #{@x} #{@y} \"#{@widget_text}\"" ) ) 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 |