vedeu 0.6.8 → 0.6.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +9 -0
  3. data/README.md +1 -1
  4. data/docs/api.md +60 -67
  5. data/docs/configuration.md +8 -5
  6. data/docs/events.md +31 -15
  7. data/docs/events/application.md +12 -0
  8. data/docs/events/document.md +57 -0
  9. data/docs/events/drb.md +43 -0
  10. data/docs/events/focus.md +24 -0
  11. data/docs/events/menu.md +57 -0
  12. data/docs/events/movement.md +57 -0
  13. data/docs/events/refresh.md +25 -0
  14. data/docs/events/system.md +90 -0
  15. data/docs/events/visibility.md +68 -0
  16. data/lib/vedeu.rb +2 -2
  17. data/lib/vedeu/all.rb +3 -2
  18. data/lib/vedeu/api.rb +18 -18
  19. data/lib/vedeu/application/controller.rb +1 -1
  20. data/lib/vedeu/application/helper.rb +1 -1
  21. data/lib/vedeu/application/view.rb +1 -1
  22. data/lib/vedeu/bindings/application.rb +1 -12
  23. data/lib/vedeu/bindings/bindings.rb +3 -1
  24. data/lib/vedeu/bindings/document.rb +9 -62
  25. data/lib/vedeu/bindings/drb.rb +12 -56
  26. data/lib/vedeu/bindings/focus.rb +3 -28
  27. data/lib/vedeu/bindings/menus.rb +10 -66
  28. data/lib/vedeu/bindings/movement.rb +4 -69
  29. data/lib/vedeu/bindings/refresh.rb +3 -33
  30. data/lib/vedeu/bindings/system.rb +14 -100
  31. data/lib/vedeu/bindings/visibility.rb +20 -71
  32. data/lib/vedeu/borders/all.rb +4 -3
  33. data/lib/vedeu/borders/border.rb +39 -33
  34. data/lib/vedeu/borders/dsl.rb +40 -33
  35. data/lib/vedeu/borders/null.rb +2 -2
  36. data/lib/vedeu/borders/render.rb +29 -24
  37. data/lib/vedeu/borders/repository.rb +2 -2
  38. data/lib/vedeu/buffers/all.rb +8 -7
  39. data/lib/vedeu/buffers/buffer.rb +47 -39
  40. data/lib/vedeu/buffers/null.rb +2 -2
  41. data/lib/vedeu/buffers/refresh.rb +4 -3
  42. data/lib/vedeu/buffers/virtual_buffer.rb +122 -118
  43. data/lib/vedeu/buffers/virtual_buffers.rb +62 -56
  44. data/lib/vedeu/colours/background.rb +2 -1
  45. data/lib/vedeu/colours/colour.rb +21 -19
  46. data/lib/vedeu/colours/foreground.rb +2 -1
  47. data/lib/vedeu/colours/repository.rb +6 -5
  48. data/lib/vedeu/colours/translator.rb +39 -35
  49. data/lib/vedeu/configuration/api.rb +59 -51
  50. data/lib/vedeu/configuration/cli.rb +9 -7
  51. data/lib/vedeu/configuration/configuration.rb +41 -32
  52. data/lib/vedeu/cursors/cursor.rb +1 -1
  53. data/lib/vedeu/cursors/refresh.rb +20 -16
  54. data/lib/vedeu/distributed/server.rb +8 -6
  55. data/lib/vedeu/distributed/subprocess.rb +90 -86
  56. data/lib/vedeu/distributed/uri.rb +4 -3
  57. data/lib/vedeu/dsl/composition.rb +2 -2
  58. data/lib/vedeu/dsl/group.rb +4 -4
  59. data/lib/vedeu/dsl/interface.rb +5 -5
  60. data/lib/vedeu/dsl/presentation.rb +2 -2
  61. data/lib/vedeu/dsl/text.rb +1 -1
  62. data/lib/vedeu/editor/cropper.rb +4 -4
  63. data/lib/vedeu/editor/cursor.rb +6 -4
  64. data/lib/vedeu/editor/document.rb +20 -18
  65. data/lib/vedeu/editor/editor.rb +2 -2
  66. data/lib/vedeu/editor/line.rb +10 -5
  67. data/lib/vedeu/editor/lines.rb +2 -2
  68. data/lib/vedeu/internal_api.rb +4 -4
  69. data/lib/vedeu/models/focus.rb +197 -191
  70. data/lib/vedeu/models/group.rb +171 -159
  71. data/lib/vedeu/models/groups.rb +14 -10
  72. data/lib/vedeu/models/interface.rb +116 -110
  73. data/lib/vedeu/models/interfaces.rb +24 -20
  74. data/lib/vedeu/models/toggleable.rb +4 -4
  75. data/lib/vedeu/models/views/char.rb +1 -1
  76. data/lib/vedeu/models/views/composition.rb +1 -1
  77. data/lib/vedeu/models/views/line.rb +1 -1
  78. data/lib/vedeu/models/views/stream.rb +1 -1
  79. data/lib/vedeu/models/views/view.rb +1 -1
  80. data/lib/vedeu/null/interface.rb +1 -1
  81. data/lib/vedeu/null/view.rb +1 -1
  82. data/lib/vedeu/output/clear/named_interface.rb +1 -1
  83. data/lib/vedeu/output/compressor.rb +78 -73
  84. data/lib/vedeu/output/direct.rb +61 -57
  85. data/lib/vedeu/output/output.rb +34 -29
  86. data/lib/vedeu/output/{presentation.rb → presentation/presentation.rb} +2 -1
  87. data/lib/vedeu/output/presentation/style.rb +64 -18
  88. data/lib/vedeu/output/presentation/styles.rb +39 -0
  89. data/lib/vedeu/output/renderers/html.rb +2 -2
  90. data/lib/vedeu/output/renderers/json.rb +2 -1
  91. data/lib/vedeu/output/renderers/terminal.rb +3 -3
  92. data/lib/vedeu/output/renderers/text.rb +3 -3
  93. data/lib/vedeu/output/text.rb +186 -180
  94. data/lib/vedeu/output/wordwrap.rb +142 -138
  95. data/lib/vedeu/refresh/refresh.rb +2 -2
  96. data/lib/vedeu/templating/helpers.rb +11 -6
  97. data/lib/vedeu/templating/view_template.rb +1 -1
  98. data/lib/vedeu/terminal/terminal.rb +2 -2
  99. data/lib/vedeu/version.rb +1 -1
  100. data/test/lib/vedeu/borders/render_test.rb +1 -1
  101. data/test/lib/vedeu/buffers/buffer_test.rb +16 -14
  102. data/test/lib/vedeu/buffers/virtual_buffer_test.rb +105 -101
  103. data/test/lib/vedeu/buffers/virtual_buffers_test.rb +43 -39
  104. data/test/lib/vedeu/colours/colour_test.rb +4 -4
  105. data/test/lib/vedeu/cursors/cursor_test.rb +2 -2
  106. data/test/lib/vedeu/cursors/repository_test.rb +3 -3
  107. data/test/lib/vedeu/distributed/subprocess_test.rb +33 -29
  108. data/test/lib/vedeu/dsl/group_test.rb +3 -3
  109. data/test/lib/vedeu/dsl/interface_test.rb +6 -5
  110. data/test/lib/vedeu/dsl/line_test.rb +4 -2
  111. data/test/lib/vedeu/dsl/presentation_test.rb +2 -2
  112. data/test/lib/vedeu/dsl/text_test.rb +8 -8
  113. data/test/lib/vedeu/editor/document_test.rb +10 -6
  114. data/test/lib/vedeu/input/keymap_test.rb +1 -10
  115. data/test/lib/vedeu/models/focus_test.rb +177 -170
  116. data/test/lib/vedeu/models/group_test.rb +99 -95
  117. data/test/lib/vedeu/models/groups_test.rb +13 -9
  118. data/test/lib/vedeu/models/interface_test.rb +93 -87
  119. data/test/lib/vedeu/models/interfaces_test.rb +24 -20
  120. data/test/lib/vedeu/models/views/char_test.rb +2 -2
  121. data/test/lib/vedeu/models/views/line_test.rb +11 -7
  122. data/test/lib/vedeu/models/views/stream_test.rb +1 -1
  123. data/test/lib/vedeu/models/views/view_test.rb +1 -1
  124. data/test/lib/vedeu/output/clear/named_group_test.rb +1 -1
  125. data/test/lib/vedeu/output/clear/named_interface_test.rb +3 -1
  126. data/test/lib/vedeu/output/compressor_test.rb +126 -122
  127. data/test/lib/vedeu/output/direct_test.rb +49 -43
  128. data/test/lib/vedeu/output/output_test.rb +35 -31
  129. data/test/lib/vedeu/output/{presentation_test.rb → presentation/presentation_test.rb} +11 -7
  130. data/test/lib/vedeu/output/presentation/style_test.rb +88 -48
  131. data/test/lib/vedeu/output/presentation/styles_test.rb +84 -0
  132. data/test/lib/vedeu/output/text_test.rb +109 -105
  133. data/test/lib/vedeu/output/viewport_test.rb +3 -1
  134. data/test/lib/vedeu/output/wordwrap_test.rb +209 -205
  135. data/test/lib/vedeu/refresh/refresh_test.rb +3 -1
  136. data/test/lib/vedeu/templating/helpers_test.rb +6 -6
  137. data/test/lib/vedeu/templating/view_template_test.rb +1 -1
  138. metadata +17 -8
  139. data/lib/vedeu/output/style.rb +0 -76
  140. data/test/lib/vedeu/output/style_test.rb +0 -120
@@ -2,15 +2,12 @@ module Vedeu
2
2
 
3
3
  module Bindings
4
4
 
5
- # Creates system events which when called provide a variety of core
6
- # functions and behaviours. They are soft-namespaced using underscores.
7
- #
8
- # :nocov:
9
5
  module System
10
6
 
11
7
  extend self
12
8
 
13
- # Setup events relating to running Vedeu. This method is called by Vedeu.
9
+ # Setup events relating to running Vedeu. This method is called
10
+ # by Vedeu.
14
11
  #
15
12
  # @return [TrueClass]
16
13
  def setup!
@@ -30,15 +27,7 @@ module Vedeu
30
27
 
31
28
  private
32
29
 
33
- # Vedeu triggers this event when `:_exit_` is triggered. You can hook
34
- # into this to perform a special action before the application
35
- # terminates. Saving the user's work, session or preferences might be
36
- # popular here.
37
- #
38
- # @example
39
- # Vedeu.trigger(:_exit_)
40
- #
41
- # @return [TrueClass]
30
+ # See {file:docs/events/system.md#\_cleanup_}
42
31
  def cleanup!
43
32
  Vedeu.bind(:_cleanup_) do
44
33
  Vedeu.trigger(:_drb_stop_)
@@ -46,14 +35,7 @@ module Vedeu
46
35
  end
47
36
  end
48
37
 
49
- # Clears the whole terminal space, or when a name is given, the named
50
- # interface area will be cleared.
51
- #
52
- # @example
53
- # Vedeu.trigger(:_clear_)
54
- # Vedeu.clear_by_name(name)
55
- #
56
- # @return [TrueClass]
38
+ # See {file:docs/events/system.md#\_cleanup_}
57
39
  def clear!
58
40
  Vedeu.bind(:_clear_) do |name|
59
41
  if name
@@ -66,48 +48,24 @@ module Vedeu
66
48
  end
67
49
  end
68
50
 
69
- # Will cause the triggering of the `:command` event; which you should
70
- # define to 'do things'
71
- #
72
- # @example
73
- # Vedeu.trigger(:_command_, command)
74
- #
75
- # @return [TrueClass]
51
+ # See {file:docs/events/system.md#\_command_}
76
52
  def command!
77
53
  Vedeu.bind(:_command_) { |command| Vedeu.trigger(:command, command) }
78
54
  end
79
55
 
80
- # This event is called by {Vedeu::Input::Input#capture}. When
81
- # invoked, the key will be passed to the editor for currently
82
- # focussed view.
83
- #
84
- # @example
85
- # Vedeu.trigger(:_editor_, key)
86
- #
87
- # @return [TrueClass]
56
+ # See {file:docs/events/system.md#\_editor_}
88
57
  def editor!
89
58
  Vedeu.bind(:_editor_) do |key|
90
59
  Vedeu::Editor::Editor.keypress(name: Vedeu.focus, input: key)
91
60
  end
92
61
  end
93
62
 
94
- # When triggered, Vedeu will trigger a `:cleanup` event which you can
95
- # define (to save files, etc) and attempt to exit.
96
- #
97
- # @example
98
- # Vedeu.trigger(:_exit_)
99
- # Vedeu.exit
100
- #
101
- # @return [TrueClass]
63
+ # See {file:docs/events/system.md#\_exit_}
102
64
  def exit!
103
65
  Vedeu.bind(:_exit_) { Vedeu::Runtime::Application.stop }
104
66
  end
105
67
 
106
- # Vedeu triggers this event when it is ready to enter the main loop.
107
- # Client applications can listen for this event and perform some
108
- # action(s), like render the first screen, interface or make a sound.
109
- #
110
- # @return [TrueClass]
68
+ # See {file:docs/events/system.md#\_initialize_}
111
69
  def initialize!
112
70
  Vedeu.bind(:_initialize_) do
113
71
  Vedeu.ready!
@@ -115,77 +73,34 @@ module Vedeu
115
73
  end
116
74
  end
117
75
 
118
- # Will cause the triggering of the `:key` event; which you should define
119
- # to 'do things'. If the `escape` key is pressed, then `key` is triggered
120
- # with the argument `:escape`, also an internal event `_mode_switch_` is
121
- # triggered. Vedeu recognises most key presses and some 'extended'
122
- # keypress (eg. Ctrl+J), a list of supported keypresses can be found here:
123
- # {Vedeu::Input::Input#specials} and {Vedeu::Input::Input#f_keys}.
124
- #
125
- # @example
126
- # Vedeu.trigger(:_keypress_, key)
127
- #
128
- # @return [TrueClass]
76
+ # See {file:docs/events/system.md#\_keypress_}
129
77
  def keypress!
130
78
  Vedeu.bind(:_keypress_) { |key| Vedeu.keypress(key) }
131
79
  end
132
80
 
133
- # When triggered with a message will cause Vedeu to log the message if
134
- # logging is enabled in the configuration.
135
- #
136
- # @example
137
- # Vedeu.trigger(:_log_, message)
138
- #
139
- # @return [TrueClass]
81
+ # See {file:docs/events/system.md#\_log_}
140
82
  def log!
141
83
  Vedeu.bind(:_log_) { |msg| Vedeu.log(type: :debug, message: msg) }
142
84
  end
143
85
 
144
- # Maximising an interface.
145
- #
146
- # @example
147
- # Vedeu.trigger(:_maximise_, name)
148
- #
149
- # @return [TrueClass]
150
- # @see Vedeu::Geometry::Geometry#maximise
86
+ # See {file:docs/events/system.md#\_maximise_}
151
87
  def maximise!
152
88
  Vedeu.bind(:_maximise_) do |name|
153
89
  Vedeu.geometries.by_name(name).maximise
154
90
  end
155
91
  end
156
92
 
157
- # When triggered (by default, after the user presses `escape`), Vedeu
158
- # switches between modes of the terminal. The idea here being
159
- # that the raw mode is for single keypress actions, whilst fake and cooked
160
- # modes allow the user to enter more elaborate commands- such as commands
161
- # with arguments.
162
- #
163
- # @example
164
- # Vedeu.trigger(:_mode_switch_)
165
- #
166
- # @return [TrueClass]
93
+ # See {file:docs/events/system.md#\_mode_switch_}
167
94
  def mode_switch!
168
95
  Vedeu.bind(:_mode_switch_) { fail Vedeu::Error::ModeSwitch }
169
96
  end
170
97
 
171
- # When triggered will cause Vedeu to trigger the `:_clear_` and
172
- # `:_refresh_` events. Please see those events for their behaviour.
173
- #
174
- # @example
175
- # Vedeu.trigger(:_resize_)
176
- #
177
- # @return [TrueClass]
98
+ # See {file:docs/events/system.md#\_resize_}
178
99
  def resize!
179
100
  Vedeu.bind(:_resize_, delay: 0.25) { Vedeu.resize }
180
101
  end
181
102
 
182
- # Unmaximising an interface.
183
- #
184
- # @example
185
- # Vedeu.trigger(:_unmaximise_, name)
186
- #
187
- # @return [TrueClass]
188
- # @see Vedeu::Geometry::Geometry#unmaximise
103
+ # See {file:docs/events/system.md#\_unmaximise_}
189
104
  def unmaximise!
190
105
  Vedeu.bind(:_unmaximise_) do |name|
191
106
  Vedeu.geometries.by_name(name).unmaximise
@@ -193,7 +108,6 @@ module Vedeu
193
108
  end
194
109
 
195
110
  end # System
196
- # :nocov:
197
111
 
198
112
  end # Bindings
199
113
 
@@ -5,7 +5,6 @@ module Vedeu
5
5
  # System events relating to the visibility of cursors or
6
6
  # interfaces.
7
7
  #
8
- # :nocov:
9
8
  module Visibility
10
9
 
11
10
  extend self
@@ -29,29 +28,14 @@ module Vedeu
29
28
 
30
29
  private
31
30
 
32
- # Clears the spaces occupied by the interfaces belonging to the
33
- # named group.
34
- #
35
- # @example
36
- # Vedeu.trigger(:_clear_group_, name)
37
- # Vedeu.clear_by_group(name)
38
- #
39
- # @return [TrueClass]
31
+ # See {file:docs/events/visibility.md#\_clear_group_}
40
32
  def clear_group!
41
33
  Vedeu.bind(:_clear_group_) do |name|
42
34
  Vedeu::Clear::NamedGroup.render(name)
43
35
  end
44
36
  end
45
37
 
46
- # Hide the cursor of the named interface or when a name is not
47
- # given, the interface currently in focus.
48
- #
49
- # @example
50
- # Vedeu.trigger(:_hide_cursor_, name)
51
- # Vedeu.trigger(:_cursor_hide_, name)
52
- # Vedeu.hide_cursor(name)
53
- #
54
- # @return [TrueClass]
38
+ # See {file:docs/events/visibility.md#\_hide_cursor_}
55
39
  def hide_cursor!
56
40
  Vedeu.bind(:_hide_cursor_) do |name|
57
41
  Vedeu::Cursors::Cursor.hide_cursor(name)
@@ -60,33 +44,21 @@ module Vedeu
60
44
  Vedeu.bind_alias(:_cursor_hide_, :_hide_cursor_)
61
45
  end
62
46
 
63
- # @see Vedeu::Group#hide
47
+ # See {file:docs/events/visibility.md#\_hide_group_}
64
48
  def hide_group!
65
- Vedeu.bind(:_hide_group_) { |name| Vedeu::Group.hide_group(name) }
49
+ Vedeu.bind(:_hide_group_) do |name|
50
+ Vedeu::Models::Group.hide_group(name)
51
+ end
66
52
  end
67
53
 
68
- # Hiding an interface.
69
- #
70
- # @example
71
- # Vedeu.trigger(:_hide_interface_, name)
72
- # Vedeu.hide_interface(name)
73
- #
74
- # @return [TrueClass]
54
+ # See {file:docs/events/visibility.md#\_hide_interface_}
75
55
  def hide_interface!
76
56
  Vedeu.bind(:_hide_interface_) do |name|
77
- Vedeu::Interface.hide_interface(name)
57
+ Vedeu::Models::Interface.hide_interface(name)
78
58
  end
79
59
  end
80
60
 
81
- # Show the cursor of the named interface or when a name is not
82
- # given, the interface currently in focus.
83
- #
84
- # @example
85
- # Vedeu.trigger(:_show_cursor_, name)
86
- # Vedeu.trigger(:_cursor_show_, name)
87
- # Vedeu.show_cursor(name)
88
- #
89
- # @return [TrueClass]
61
+ # See {file:docs/events/visibility.md#\_show_cursor_}
90
62
  def show_cursor!
91
63
  Vedeu.bind(:_show_cursor_) do |name|
92
64
  Vedeu::Cursors::Cursor.show_cursor(name)
@@ -95,65 +67,42 @@ module Vedeu
95
67
  Vedeu.bind_alias(:_cursor_show_, :_show_cursor_)
96
68
  end
97
69
 
98
- # @see Vedeu::Group#show
70
+ # See {file:docs/events/visibility.md#\_show_group_}
99
71
  def show_group!
100
- Vedeu.bind(:_show_group_) { |name| Vedeu::Group.show_group(name) }
72
+ Vedeu.bind(:_show_group_) do |name|
73
+ Vedeu::Models::Group.show_group(name)
74
+ end
101
75
  end
102
76
 
103
- # Showing an interface.
104
- #
105
- # @example
106
- # Vedeu.trigger(:_show_interface_, name)
107
- # Vedeu.show_interface(name)
108
- #
109
- # @return [TrueClass]
77
+ # See {file:docs/events/visibility.md#\_show_interface_}
110
78
  def show_interface!
111
79
  Vedeu.bind(:_show_interface_) do |name|
112
- Vedeu::Interface.show_interface(name)
80
+ Vedeu::Models::Interface.show_interface(name)
113
81
  end
114
82
  end
115
83
 
116
- # Toggling a cursor.
117
- #
118
- # @example
119
- # Vedeu.trigger(:_toggle_cursor_, name)
120
- # Vedeu.toggle_cursor(name)
121
- #
122
- # @return [TrueClass]
84
+ # See {file:docs/events/visibility.md#\_toggle_cursor_}
123
85
  def toggle_cursor!
124
86
  Vedeu.bind(:_toggle_cursor_) do |name|
125
87
  Vedeu::Cursors::Cursor.toggle_cursor(name)
126
88
  end
127
89
  end
128
90
 
129
- # Toggling a group.
130
- #
131
- # @example
132
- # Vedeu.trigger(:_toggle_group_, name)
133
- # Vedeu.toggle_group(name)
134
- #
135
- # @return [TrueClass]
91
+ # See {file:docs/events/visibility.md#\_toggle_group_}
136
92
  def toggle_group!
137
93
  Vedeu.bind(:_toggle_group_) do |name|
138
- Vedeu::Group.toggle_group(name)
94
+ Vedeu::Models::Group.toggle_group(name)
139
95
  end
140
96
  end
141
97
 
142
- # Toggling an interface.
143
- #
144
- # @example
145
- # Vedeu.trigger(:_toggle_interface_, name)
146
- # Vedeu.toggle_interface(name)
147
- #
148
- # @return [TrueClass]
98
+ # See {file:docs/events/visibility.md#\_toggle_interface_}
149
99
  def toggle_interface!
150
100
  Vedeu.bind(:_toggle_interface_) do |name|
151
- Vedeu::Interface.toggle_interface(name)
101
+ Vedeu::Models::Interface.toggle_interface(name)
152
102
  end
153
103
  end
154
104
 
155
105
  end # Visibility
156
- # :nocov:
157
106
 
158
107
  end # Bindings
159
108
 
@@ -1,9 +1,10 @@
1
1
  module Vedeu
2
2
 
3
3
  # Borders are defined by name for each of the client application's
4
- # interfaces or views. They can be enabled or disabled (which controls
5
- # whether they are rendered or not), they have their own colours and styles,
6
- # and each aspect of the border can be controlled.
4
+ # interfaces or views. They can be enabled or disabled (which
5
+ # controls whether they are rendered or not), they have their own
6
+ # colours and styles, and each aspect of the border can be
7
+ # controlled.
7
8
  #
8
9
  # @example
9
10
  # # Borders can be defined when defining your interface...
@@ -2,13 +2,15 @@ module Vedeu
2
2
 
3
3
  module Borders
4
4
 
5
- # Provides the mechanism to decorate an interface with a border on all
6
- # edges, or specific edges. The characters which are used for the border
7
- # parts (e.g. the corners, verticals and horizontals) can be customised as
8
- # can the colours and styles.
5
+ # Provides the mechanism to decorate an interface with a border on
6
+ # all edges, or specific edges. The characters which are used for
7
+ # the border parts (e.g. the corners, verticals and horizontals)
8
+ # can be customised as can the colours and styles.
9
9
  #
10
- # @note Refer to UTF-8 U+2500 to U+257F for border characters. More details
11
- # can be found at: http://en.wikipedia.org/wiki/Box-drawing_character
10
+ # @note
11
+ # Refer to UTF-8 U+2500 to U+257F for border characters.
12
+ # More details can be found at:
13
+ # http://en.wikipedia.org/wiki/Box-drawing_character
12
14
  #
13
15
  class Border
14
16
 
@@ -95,30 +97,34 @@ module Vedeu
95
97
  # @param attributes [Hash]
96
98
  # @option attributes bottom_left [String] The bottom left border
97
99
  # character.
98
- # @option attributes bottom_right [String] The bottom right border
99
- # character.
100
+ # @option attributes bottom_right [String] The bottom right
101
+ # border character.
100
102
  # @option attributes colour [Hash]
101
- # @option attributes enabled [Boolean] Indicate whether the border is to
102
- # be shown for this interface.
103
- # @option attributes horizontal [String] The horizontal border character.
104
- # @option attributes name [String] The name of the interface to which this
105
- # border relates.
106
- # @option attributes style [Vedeu::Style]
107
- # @option attributes show_bottom [Boolean] Indicate whether the bottom
108
- # border is to be shown.
109
- # @option attributes show_left [Boolean] Indicate whether the left border
110
- # is to be shown.
111
- # @option attributes show_right [Boolean] Indicate whether the right
112
- # border is to be shown.
113
- # @option attributes show_top [Boolean] Indicate whether the top border is
114
- # to be shown.
115
- # @option attributes title [String] An optional title for when the top
116
- # border is to be shown.
117
- # @option attributes caption [String] An optional caption for when the
103
+ # @option attributes enabled [Boolean] Indicate whether the
104
+ # border is to be shown for this interface.
105
+ # @option attributes horizontal [String] The horizontal border
106
+ # character.
107
+ # @option attributes name [String] The name of the interface to
108
+ # which this border relates.
109
+ # @option attributes style [Vedeu::Presentation::Style]
110
+ # @option attributes show_bottom [Boolean] Indicate whether the
118
111
  # bottom border is to be shown.
119
- # @option attributes top_left [String] The top left border character.
120
- # @option attributes top_right [String] The top right border character.
121
- # @option attributes vertical [String] The vertical border character.
112
+ # @option attributes show_left [Boolean] Indicate whether the
113
+ # left border is to be shown.
114
+ # @option attributes show_right [Boolean] Indicate whether the
115
+ # right border is to be shown.
116
+ # @option attributes show_top [Boolean] Indicate whether the top
117
+ # border is to be shown.
118
+ # @option attributes title [String] An optional title for when
119
+ # the top border is to be shown.
120
+ # @option attributes caption [String] An optional caption for
121
+ # when the bottom border is to be shown.
122
+ # @option attributes top_left [String] The top left border
123
+ # character.
124
+ # @option attributes top_right [String] The top right border
125
+ # character.
126
+ # @option attributes vertical [String] The vertical border
127
+ # character.
122
128
  # @return [Vedeu::Borders::Border]
123
129
  def initialize(attributes = {})
124
130
  @attributes = defaults.merge!(attributes)
@@ -148,16 +154,16 @@ module Vedeu
148
154
  (enabled? && bottom?) ? yn - 1 : yn
149
155
  end
150
156
 
151
- # Returns the width of the interface determined by whether a left, right,
152
- # both or neither borders are shown.
157
+ # Returns the width of the interface determined by whether a
158
+ # left, right, both or neither borders are shown.
153
159
  #
154
160
  # @return [Fixnum]
155
161
  def width
156
162
  (bx..bxn).size
157
163
  end
158
164
 
159
- # Returns the height of the interface determined by whether a top, bottom,
160
- # both or neither borders are shown.
165
+ # Returns the height of the interface determined by whether a
166
+ # top, bottom, both or neither borders are shown.
161
167
  #
162
168
  # @return [Fixnum]
163
169
  def height
@@ -176,7 +182,7 @@ module Vedeu
176
182
  Vedeu.geometries.by_name(name)
177
183
  end
178
184
 
179
- # @return [Vedeu::Interface]
185
+ # @return [Vedeu::Models::Interface]
180
186
  def interface
181
187
  @interface ||= Vedeu.interfaces.by_name(name)
182
188
  end