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 ⇒ Interface
private
Registers a new cursor for the interface unless already registered.
-
#store_deferred ⇒ Interface
Store the view if it has a name.
-
#store_focusable ⇒ Interface
private
Registers interface name in focus list unless already registered.
-
#store_group ⇒ 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 ⇒ 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 ⇒ Interface (private)
Registers a new cursor for the interface unless already registered.
72 73 74 75 76 77 78 |
# File 'lib/vedeu/buffers/display_buffer.rb', line 72 def store_cursor unless Vedeu.cursors.registered?(name) Vedeu::Cursor.new({ name: name }).store end self end |
#store_deferred ⇒ Interface
Store the view if it has a name. This view will be shown next time the refresh event is triggered for the interface.
29 30 31 32 33 34 35 36 37 |
# File 'lib/vedeu/buffers/display_buffer.rb', line 29 def store_deferred unless defined_value?(name) fail InvalidSyntax, 'Cannot store an interface without a name.' end store_new_buffer self end |
#store_focusable ⇒ Interface (private)
Registers interface name in focus list unless already registered.
61 62 63 64 65 66 67 |
# File 'lib/vedeu/buffers/display_buffer.rb', line 61 def store_focusable unless Vedeu.focusable.registered?(name) Vedeu.focusable.add(name) end self end |
#store_group ⇒ Interface (private)
Registers a new group for the interface unless already registered.
83 84 85 86 87 88 89 |
# File 'lib/vedeu/buffers/display_buffer.rb', line 83 def store_group unless group.nil? || group.empty? || Vedeu.groups.registered?(group) Vedeu::Group.new(name, group).store end self end |
#store_immediate ⇒ Interface
Store the view and immediate refresh it; causing to be pushed to the Terminal.
16 17 18 19 20 21 22 |
# File 'lib/vedeu/buffers/display_buffer.rb', line 16 def store_immediate store_deferred Vedeu::Refresh.by_name(name) self end |
#store_new_buffer ⇒ Interface (private)
Registers a set of buffers for the interface unless already registered, and also adds interface’s name to list of focussable interfaces.
46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/vedeu/buffers/display_buffer.rb', line 46 def store_new_buffer if Vedeu.buffers.registered?(name) Vedeu.buffers.find(name).add(self) else Buffer.new(name, self).store end self end |