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.

API:

  • private

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=, #style?

Methods included from Presentation::Parent

#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:

  • (defaults to: {})

Options Hash (attributes):

API:

  • private



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|Symbol|String

Returns The name of the model, the target model or the name of the associated model.

Returns:

  • The name of the model, the target model or the name of the associated model.



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:



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

def zindex
  @zindex
end

Instance Method Details

#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:

API:

  • private



88
89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/vedeu/views/view.rb', line 88

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.

Returns:

API:

  • private



127
128
129
# File 'lib/vedeu/views/view.rb', line 127

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:

API:

  • private



132
133
134
135
136
137
138
139
140
141
142
143
144
# File 'lib/vedeu/views/view.rb', line 132

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.

Returns:

API:

  • private



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

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:

  • (defaults to: false)

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

Returns:

Raises:

  • When the required argument or parameter was given but without a meaningful or usable value (e.g. nil).

API:

  • private



108
109
110
111
112
113
114
115
# File 'lib/vedeu/views/view.rb', line 108

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:

API:

  • private



120
121
122
# File 'lib/vedeu/views/view.rb', line 120

def visible?
  interface.visible?
end