Class: Shoes::TextDrawable
- Defined in:
- lacci/lib/shoes/drawables/text_drawable.rb
Overview
TextDrawable is the parent class of various classes of text that can go inside a para. This includes normal text, but also links, italic text, bold text, etc.
In Shoes3 this corresponds to cText, and it would have methods app, contents, children, parent, style, to_s, text, text= and replace.
Much of what this does and how is similar to Para. It's a very similar API.
Direct Known Subclasses
Constant Summary collapse
- STRIKETHROUGH_VALUES =
[nil, "none", "single"]
- UNDERLINE_VALUES =
[nil, "none", "single", "double", "low", "error"]
Constants inherited from Drawable
Constants included from Log
Log::DEFAULT_COMPONENT, Log::DEFAULT_DEBUG_LOG_CONFIG, Log::DEFAULT_LOG_CONFIG
Instance Attribute Summary
Attributes inherited from Drawable
#debug_id, #destroyed, #parent
Attributes inherited from Linkable
Instance Method Summary collapse
-
#initialize(*args, **kwargs) ⇒ TextDrawable
constructor
A new instance of TextDrawable.
-
#replace(*children) ⇒ void
Sets the paragraph text to a new value, which can include TextDrawables like em(), strong(), etc.
-
#text ⇒ String
Return the text, but not the styling, of the para's contents.
-
#text=(*children) ⇒ void
Set the paragraph text to a single String.
- #text_children_to_items(text_children) ⇒ Object
-
#to_s ⇒ String
Return the text but not styling from the para.
Methods inherited from Drawable
allocate_drawable_id, #app, #banner, #caption, convert_to_float, convert_to_integer, #destroy, #download, drawable_by_id, drawable_class_by_name, dsl_name, #event, expects_parent?, feature_for_shoes_style, get_shoes_events, #hide, #hover, init_args, #inscription, #inspect, is_widget_class?, #leave, #method_missing, #motion, opt_init_args, optional_init_args, register_drawable_id, registered_shoes_events?, required_init_args, #respond_to_missing?, #set_parent, shoes_events, shoes_style, shoes_style_hashes, shoes_style_name?, shoes_style_names, #shoes_style_values, shoes_styles, #show, #style, #subtitle, #tagline, #title, #toggle, unregister_drawable_id, use_current_app, validate_as, with_current_app
Methods included from MarginHelper
Methods included from Colors
Methods included from Log
configure_logger, #log_init, logger
Methods inherited from Linkable
#bind_shoes_event, #send_self_event, #send_shoes_event, #unsub_all_shoes_events, #unsub_shoes_event
Constructor Details
#initialize(*args, **kwargs) ⇒ TextDrawable
Returns a new instance of TextDrawable.
35 36 37 38 39 40 41 42 43 44 |
# File 'lacci/lib/shoes/drawables/text_drawable.rb', line 35 def initialize(*args, **kwargs) # Don't pass text_children args to Drawable#initialize super(*[], **kwargs) # Text_children alternates strings and TextDrawables, so we can't just pass # it as a Shoes style. It won't serialize. update_text_children(args) create_display_drawable end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Shoes::Drawable
Instance Method Details
#replace(*children) ⇒ void
This method returns an undefined value.
Sets the paragraph text to a new value, which can include Shoes::TextDrawables like em(), strong(), etc.
55 56 57 |
# File 'lacci/lib/shoes/drawables/text_drawable.rb', line 55 def replace(*children) update_text_children(children) end |
#text ⇒ String
Return the text, but not the styling, of the para's contents. For example, if the contents had strong and emphasized text, the bold and emphasized would be removed but the text would be returned.
74 75 76 |
# File 'lacci/lib/shoes/drawables/text_drawable.rb', line 74 def text @text_children.map(&:to_s).join end |
#text=(*children) ⇒ void
This method returns an undefined value.
Set the paragraph text to a single String. To use bold, italics, etc. use Para#replace instead.
64 65 66 |
# File 'lacci/lib/shoes/drawables/text_drawable.rb', line 64 def text=(*children) update_text_children(children) end |
#text_children_to_items(text_children) ⇒ Object
46 47 48 |
# File 'lacci/lib/shoes/drawables/text_drawable.rb', line 46 def text_children_to_items(text_children) text_children.map { |arg| arg.is_a?(TextDrawable) ? arg.linkable_id : arg.to_s } end |
#to_s ⇒ String
Return the text but not styling from the para. This is the same as #text.
82 83 84 |
# File 'lacci/lib/shoes/drawables/text_drawable.rb', line 82 def to_s self.text end |