Class: Niente::DisplayService
- Inherits:
-
Shoes::DisplayService
- Object
- Shoes::DisplayService
- Niente::DisplayService
- Includes:
- Shoes::Log
- Defined in:
- lacci/lib/scarpe/niente/display_service.rb
Overview
This is a "null" DisplayService, doing as little as it can get away with.
Constant Summary
Constants included from Shoes::Log
Shoes::Log::DEFAULT_COMPONENT, Shoes::Log::DEFAULT_DEBUG_LOG_CONFIG, Shoes::Log::DEFAULT_LOG_CONFIG
Class Attribute Summary collapse
-
.instance ⇒ Object
Returns the value of attribute instance.
Instance Method Summary collapse
-
#create_display_drawable_for(drawable_class_name, drawable_id, properties, parent_id:, is_widget:) ⇒ Webview::Drawable
Create a fake display drawable for a specific Shoes drawable, and pair it with the linkable ID for this Shoes drawable.
-
#destroy ⇒ void
Destroy the display service and the app.
-
#initialize ⇒ DisplayService
constructor
A new instance of DisplayService.
Methods included from Shoes::Log
configure_logger, #log_init, logger
Methods inherited from Shoes::DisplayService
dispatch_event, display_service, full_reset!, #query_display_drawable_for, set_display_service_class, #set_drawable_pairing, subscribe_to_event, unsub_from_events
Constructor Details
#initialize ⇒ DisplayService
Returns a new instance of DisplayService.
13 14 15 16 17 18 19 20 21 22 |
# File 'lacci/lib/scarpe/niente/display_service.rb', line 13 def initialize if Niente::DisplayService.instance raise Shoes::SingletonError, "ERROR! This is meant to be a singleton!" end Niente::DisplayService.instance = self log_init("Niente::DisplayService") super() end |
Class Attribute Details
.instance ⇒ Object
Returns the value of attribute instance.
10 11 12 |
# File 'lacci/lib/scarpe/niente/display_service.rb', line 10 def instance @instance end |
Instance Method Details
#create_display_drawable_for(drawable_class_name, drawable_id, properties, parent_id:, is_widget:) ⇒ Webview::Drawable
Create a fake display drawable for a specific Shoes drawable, and pair it with the linkable ID for this Shoes drawable.
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lacci/lib/scarpe/niente/display_service.rb', line 32 def create_display_drawable_for(drawable_class_name, drawable_id, properties, parent_id:, is_widget:) existing = query_display_drawable_for(drawable_id, nil_ok: true) if existing @log.warn("There is already a display drawable for #{drawable_id.inspect}! Returning #{existing.class.name}.") return existing end if drawable_class_name == "App" @app = Niente::App.new(properties) set_drawable_pairing(drawable_id, @app) return @app end display_drawable = Niente::Drawable.new(properties) display_drawable.shoes_type = drawable_class_name set_drawable_pairing(drawable_id, display_drawable) # Nil parent is okay for DocumentRoot and TextDrawables, so we have to specify it. parent = DisplayService.instance.query_display_drawable_for(parent_id, nil_ok: true) display_drawable.set_parent(parent) return display_drawable end |
#destroy ⇒ void
This method returns an undefined value.
Destroy the display service and the app. Quit the process (eventually.)
60 61 62 63 |
# File 'lacci/lib/scarpe/niente/display_service.rb', line 60 def destroy @app.destroy DisplayService.instance = nil end |