Class: Tui::InputField
- Inherits:
-
Object
- Object
- Tui::InputField
- Defined in:
- lib/tui.rb
Instance Attribute Summary collapse
-
#cursor ⇒ Object
Returns the value of attribute cursor.
-
#placeholder ⇒ Object
readonly
Returns the value of attribute placeholder.
-
#text ⇒ Object
Returns the value of attribute text.
Instance Method Summary collapse
-
#initialize(placeholder:, text:, cursor: nil) ⇒ InputField
constructor
A new instance of InputField.
- #to_s ⇒ Object
Constructor Details
#initialize(placeholder:, text:, cursor: nil) ⇒ InputField
Returns a new instance of InputField.
808 809 810 811 812 |
# File 'lib/tui.rb', line 808 def initialize(placeholder:, text:, cursor: nil) @placeholder = placeholder @text = text.to_s.dup @cursor = cursor.nil? ? @text.length : [[cursor, 0].max, @text.length].min end |
Instance Attribute Details
#cursor ⇒ Object
Returns the value of attribute cursor.
805 806 807 |
# File 'lib/tui.rb', line 805 def cursor @cursor end |
#placeholder ⇒ Object (readonly)
Returns the value of attribute placeholder.
806 807 808 |
# File 'lib/tui.rb', line 806 def placeholder @placeholder end |
#text ⇒ Object
Returns the value of attribute text.
805 806 807 |
# File 'lib/tui.rb', line 805 def text @text end |
Instance Method Details
#to_s ⇒ Object
814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 |
# File 'lib/tui.rb', line 814 def to_s return render_placeholder if text.empty? before = text[0...cursor] cursor_char = text[cursor] || ' ' after = cursor < text.length ? text[(cursor + 1)..] : "" buf = String.new buf << before buf << Palette::INPUT_CURSOR_ON if Tui.colors_enabled? buf << cursor_char buf << Palette::INPUT_CURSOR_OFF if Tui.colors_enabled? buf << after buf end |