Module: Vedeu::DisplayBuffer

Includes:
Common
Included in:
Interface
Defined in:
lib/vedeu/buffers/display_buffer.rb

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

Methods included from Common

#defined_value?

Instance Method Details

#store_cursorVedeu::Interface (private)

Registers a new cursor for the interface unless already registered.

Returns:



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_deferredVedeu::Interface

Store the view if it has a name. This view will be shown next time the refresh event is triggered for the interface.

Returns:

Raises:

  • (InvalidSyntax)

    The name is not defined.



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_focusableVedeu::Interface (private)

Registers interface name in focus list unless already registered.

Returns:



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_groupVedeu::Interface (private)

Registers a new group for the interface unless already registered.

Returns:



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_immediateInterface

Store the view and immediate refresh it; causing to be pushed to the Terminal.

Returns:



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_bufferVedeu::Interface (private)

Registers a set of buffers for the interface unless already registered, and also adds interface’s name to list of focussable interfaces.

Returns:

See Also:



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