Module: Vedeu::DisplayBuffer
Overview
This module is included in Vedeu::Interface to provide means to store client application views created with renders or views.
Instance Method Summary collapse
-
#store_cursor ⇒ Vedeu::Interface
private
Registers a new cursor for the interface unless already registered.
-
#store_deferred ⇒ Vedeu::Interface
Store the view if it has a name.
-
#store_focusable ⇒ Vedeu::Interface
private
Registers interface name in focus list unless already registered.
-
#store_group ⇒ Vedeu::Interface
private
Registers a new group for the interface unless already registered.
-
#store_immediate ⇒ Interface
Store the view and immediate refresh it; causing to be pushed to the Terminal.
-
#store_new_buffer ⇒ Vedeu::Interface
private
Registers a set of buffers for the interface unless already registered, and also adds interface’s name to list of focussable interfaces.
Methods included from Common
Instance Method Details
#store_cursor ⇒ Vedeu::Interface (private)
Registers a new cursor for the interface unless already registered.
68 69 70 71 72 |
# File 'lib/vedeu/buffers/display_buffer.rb', line 68 def store_cursor Vedeu.cursors.by_name(name) self end |
#store_deferred ⇒ Vedeu::Interface
Store the view if it has a name. This view will be shown next time the refresh event is triggered for the interface.
27 28 29 30 31 32 33 34 35 |
# File 'lib/vedeu/buffers/display_buffer.rb', line 27 def store_deferred unless defined_value?(name) fail InvalidSyntax, 'Cannot store an interface without a name.' end store_new_buffer self end |
#store_focusable ⇒ Vedeu::Interface (private)
Registers interface name in focus list unless already registered.
59 60 61 62 63 |
# File 'lib/vedeu/buffers/display_buffer.rb', line 59 def store_focusable Vedeu.focusable.add(name) unless Vedeu.focusable.registered?(name) self end |
#store_group ⇒ Vedeu::Interface (private)
Registers a new group for the interface unless already registered.
77 78 79 80 81 |
# File 'lib/vedeu/buffers/display_buffer.rb', line 77 def store_group Vedeu.groups.by_name(group).add(name) if group? self end |
#store_immediate ⇒ Interface
Store the view and immediate refresh it; causing to be pushed to the Terminal.
14 15 16 17 18 19 20 |
# File 'lib/vedeu/buffers/display_buffer.rb', line 14 def store_immediate store_deferred Vedeu::Refresh.by_name(name) self end |
#store_new_buffer ⇒ Vedeu::Interface (private)
Registers a set of buffers for the interface unless already registered, and also adds interface’s name to list of focussable interfaces.
44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/vedeu/buffers/display_buffer.rb', line 44 def store_new_buffer if Vedeu.buffers.registered?(name) Vedeu.buffers.find(name).add(self) else Vedeu::Buffer.new(name: name, back: self).store end self end |