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

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

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

Returns:

  • (NilClass|Symbol|String)

    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:

  • (Fixnum)


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:

  • (Hash)


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.



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:

  • (Hash<Symbol => void>)


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.



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:

  • refresh (Boolean) (defaults to: false)

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

Returns:

Raises:



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:



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

def visible?
  interface.visible?
end