Class: Vedeu::Views::View Private

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
Presentation, Presentation::Colour, Presentation::Parent, Presentation::Position, Presentation::Styles, Repositories::Model, Value
Defined in:
lib/vedeu/views/view.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Represents a container for Line and Stream objects.

Defined Under Namespace

Classes: DSL

Instance Attribute Summary collapse

Attributes included from Repositories::Model

#repository

Instance Method Summary collapse

Methods included from Value

included

Methods included from Presentation::Styles

#render_style, #style, #style=

Methods included from Presentation::Parent

#parent

Methods included from Common

#absent?, #array?, #boolean, #boolean?, #empty_value?, #escape?, #falsy?, #hash?, #line_model?, #numeric?, #positionable?, #present?, #snake_case, #stream_model?, #string?, #symbol?, #truthy?, #view_model?

Methods included from Presentation::Position

#position, #position=, #position?, #render_position, #x, #y

Methods included from Presentation::Colour

#background, #background=, #colour, #colour=, #colour?, #foreground, #foreground=, #named_colour, #named_colour?, #parent_colour, #parent_colour?, #render_colour

Methods included from Presentation

#to_s

Methods included from Repositories::Model

included, #store

Constructor Details

#initialize(attributes = {}) ⇒ Vedeu::Views::View

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Return a new instance of Vedeu::Views::View.

Parameters:

  • attributes (Hash) (defaults to: {})

Options Hash (attributes):



81
82
83
84
85
# File 'lib/vedeu/views/view.rb', line 81

def initialize(attributes = {})
  defaults.merge!(attributes).each do |key, value|
    instance_variable_set("@#{key}", value)
  end
end

Instance Attribute Details

#cursor_visibleBoolean Also known as: cursor_visible?

Returns:



52
53
54
# File 'lib/vedeu/views/view.rb', line 52

def cursor_visible
  @cursor_visible
end

#nameNilClass|String|Symbol

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (NilClass|String|Symbol)


57
58
59
# File 'lib/vedeu/views/view.rb', line 57

def name
  @name
end

#wordwrapBoolean Also known as: wordwrap?

Returns:



61
62
63
# File 'lib/vedeu/views/view.rb', line 61

def wordwrap
  @wordwrap
end

#zindexFixnum

Returns:

  • (Fixnum)


66
67
68
# File 'lib/vedeu/views/view.rb', line 66

def zindex
  @zindex
end

Instance Method Details

#add(child) ⇒ Vedeu::Views::Lines Also known as: <<

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Adds the child to the collection.

Parameters:

Returns:



91
92
93
# File 'lib/vedeu/views/view.rb', line 91

def add(child)
  @value = value.add(child)
end

#attributesHash

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Hash)


97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'lib/vedeu/views/view.rb', line 97

def attributes
  {
    client:         client,
    colour:         colour,
    cursor_visible: cursor_visible,
    name:           name,
    parent:         parent,
    style:          style,
    value:          value,
    wordwrap:       wordwrap,
    zindex:         zindex,
  }
end

#bufferVedeu::Buffers::Buffer (private)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns the named buffer from the buffer repository.



147
148
149
# File 'lib/vedeu/views/view.rb', line 147

def buffer
  Vedeu.buffers.by_name(name)
end

#defaultsHash<Symbol => void> (private)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

The default options/attributes for a new instance of this class.

Returns:

  • (Hash<Symbol => void>)


152
153
154
155
156
157
158
159
160
161
162
163
164
# File 'lib/vedeu/views/view.rb', line 152

def defaults
  {
    client:         nil,
    colour:         Vedeu.config.colour,
    cursor_visible: true,
    name:           nil,
    parent:         nil,
    style:          :normal,
    value:          [],
    wordwrap:       true,
    zindex:         0,
  }
end

#interfaceVedeu::Interfaces::Interface (private)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns the named interface/view from the interfaces repository.



167
168
169
# File 'lib/vedeu/views/view.rb', line 167

def interface
  Vedeu.interfaces.by_name(name)
end

#update_buffer(refresh = false) ⇒ Vedeu::Views::View

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Store the view in its respective buffer.

Parameters:

  • refresh (Boolean) (defaults to: false)

    Should the buffer of the view be refreshed once stored? Default: false.

Returns:

Raises:



128
129
130
131
132
133
134
135
# File 'lib/vedeu/views/view.rb', line 128

def update_buffer(refresh = false)
  raise Vedeu::Error::MissingRequired,
        'Cannot store a view without a name.' unless present?(name)

  buffer.add(self, refresh)

  self
end

#visible?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a boolean indicating whether the view is visible.

Returns:



140
141
142
# File 'lib/vedeu/views/view.rb', line 140

def visible?
  interface.visible?
end