vedeu 0.6.69 → 0.6.70
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.
- checksums.yaml +4 -4
- data/docs/api.md +4 -0
- data/lib/vedeu/all.rb +5 -7
- data/lib/vedeu/borders/all.rb +1 -0
- data/lib/vedeu/borders/repository.rb +2 -6
- data/lib/vedeu/borders/set_attribute.rb +71 -0
- data/lib/vedeu/buffers/buffer.rb +6 -1
- data/lib/vedeu/buffers/refresh.rb +6 -1
- data/lib/vedeu/common.rb +2 -1
- data/lib/vedeu/configuration/configuration.rb +1 -1
- data/lib/vedeu/cursors/all.rb +1 -0
- data/lib/vedeu/cursors/cursor.rb +8 -27
- data/lib/vedeu/cursors/move.rb +69 -0
- data/lib/vedeu/cursors/repository.rb +1 -1
- data/lib/vedeu/dsl/all.rb +2 -0
- data/lib/vedeu/dsl/composition.rb +6 -1
- data/lib/vedeu/dsl/lines.rb +21 -0
- data/lib/vedeu/dsl/streams.rb +21 -0
- data/lib/vedeu/groups/clear.rb +6 -1
- data/lib/vedeu/groups/refresh.rb +6 -1
- data/lib/vedeu/input/capture.rb +6 -1
- data/lib/vedeu/interfaces/clear.rb +6 -1
- data/lib/vedeu/interfaces/interface.rb +20 -8
- data/lib/vedeu/models/all.rb +1 -0
- data/lib/vedeu/models/focus.rb +19 -14
- data/lib/vedeu/models/page.rb +5 -0
- data/lib/vedeu/models/row.rb +5 -0
- data/lib/vedeu/models/toggleable.rb +6 -1
- data/lib/vedeu/null/all.rb +0 -1
- data/lib/vedeu/output/all.rb +0 -2
- data/lib/vedeu/output/compressor.rb +2 -1
- data/lib/vedeu/output/wordwrap.rb +6 -1
- data/lib/vedeu/output/write.rb +2 -0
- data/lib/vedeu/presentation/all.rb +17 -0
- data/lib/vedeu/presentation/background.rb +47 -0
- data/lib/vedeu/presentation/colour.rb +42 -0
- data/lib/vedeu/presentation/foreground.rb +47 -0
- data/lib/vedeu/{output/presentation → presentation}/presentation.rb +0 -0
- data/lib/vedeu/{output/presentation → presentation}/style.rb +0 -0
- data/lib/vedeu/presentation/styles.rb +45 -0
- data/lib/vedeu/{output/renderers → renderers}/all.rb +5 -5
- data/lib/vedeu/{output/renderers → renderers}/file.rb +0 -0
- data/lib/vedeu/{output/renderers → renderers}/html.rb +0 -0
- data/lib/vedeu/{output/renderers → renderers}/json.rb +0 -0
- data/lib/vedeu/{output/renderers → renderers}/options.rb +5 -1
- data/lib/vedeu/{output → renderers}/templates/html_renderer.vedeu +0 -0
- data/lib/vedeu/{output/renderers → renderers}/terminal.rb +1 -1
- data/lib/vedeu/repositories/all.rb +1 -0
- data/lib/vedeu/repositories/parent.rb +32 -0
- data/lib/vedeu/repositories/repositories.rb +1 -0
- data/lib/vedeu/runtime/flags.rb +2 -0
- data/lib/vedeu/templating/view_template.rb +6 -1
- data/lib/vedeu/version.rb +1 -1
- data/lib/vedeu/views/all.rb +20 -0
- data/lib/vedeu/{models/views → views}/char.rb +33 -21
- data/lib/vedeu/views/chars.rb +15 -0
- data/lib/vedeu/{models/views → views}/composition.rb +0 -0
- data/lib/vedeu/{models/views → views}/html_char.rb +0 -0
- data/lib/vedeu/{models/views → views}/line.rb +17 -21
- data/lib/vedeu/views/lines.rb +15 -0
- data/lib/vedeu/{models/views → views}/stream.rb +16 -20
- data/lib/vedeu/views/streams.rb +15 -0
- data/lib/vedeu/{models/views → views}/view.rb +28 -17
- data/lib/vedeu/views/view_collection.rb +15 -0
- data/lib/vedeu.rb +2 -0
- data/test/lib/vedeu/borders/set_attribute_test.rb +62 -0
- data/test/lib/vedeu/common_test.rb +6 -0
- data/test/lib/vedeu/cursors/cursor_test.rb +0 -8
- data/test/lib/vedeu/cursors/move_test.rb +73 -0
- data/test/lib/vedeu/cursors/repository_test.rb +3 -1
- data/test/lib/vedeu/dsl/lines_test.rb +12 -0
- data/test/lib/vedeu/dsl/streams_test.rb +13 -0
- data/test/lib/vedeu/events/aliases_test.rb +4 -4
- data/test/lib/vedeu/groups/refresh_test.rb +0 -6
- data/test/lib/vedeu/input/store_test.rb +2 -2
- data/test/lib/vedeu/interfaces/interface_test.rb +6 -1
- data/test/lib/vedeu/models/focus_test.rb +25 -10
- data/test/lib/vedeu/models/page_test.rb +6 -0
- data/test/lib/vedeu/models/row_test.rb +12 -0
- data/test/lib/vedeu/presentation/background_test.rb +72 -0
- data/test/lib/vedeu/presentation/colour_test.rb +67 -0
- data/test/lib/vedeu/presentation/foreground_test.rb +73 -0
- data/test/lib/vedeu/{output/presentation → presentation}/presentation_test.rb +0 -0
- data/test/lib/vedeu/{output/presentation → presentation}/style_test.rb +0 -0
- data/test/lib/vedeu/{output/presentation → presentation}/styles_test.rb +7 -9
- data/test/lib/vedeu/{output/renderers → renderers}/all_test.rb +3 -2
- data/test/lib/vedeu/{output/renderers → renderers}/file_test.rb +0 -0
- data/test/lib/vedeu/{output/renderers → renderers}/html_test.rb +2 -1
- data/test/lib/vedeu/{output/renderers → renderers}/json_test.rb +1 -0
- data/test/lib/vedeu/{output/renderers → renderers}/options_test.rb +10 -6
- data/test/lib/vedeu/{output/renderers → renderers}/terminal_test.rb +0 -0
- data/test/lib/vedeu/repositories/repositories_test.rb +1 -0
- data/test/lib/vedeu/runtime/flags_test.rb +2 -0
- data/test/lib/vedeu/templating/helpers_test.rb +15 -6
- data/test/lib/vedeu/{models/views → views}/char_test.rb +0 -0
- data/test/lib/vedeu/{models/views → views}/composition_test.rb +0 -0
- data/test/lib/vedeu/{models/views → views}/html_char_test.rb +0 -0
- data/test/lib/vedeu/{models/views → views}/line_test.rb +6 -1
- data/test/lib/vedeu/views/lines_test.rb +13 -0
- data/test/lib/vedeu/{models/views → views}/stream_test.rb +6 -1
- data/test/lib/vedeu/views/streams_test.rb +13 -0
- data/test/lib/vedeu/views/view_collection_test.rb +13 -0
- data/test/lib/vedeu/{models/views → views}/view_test.rb +6 -1
- data/test/support/examples/material_colours_app.rb +1 -1
- data/test/support/helpers/presentation_colour_test_class.rb +29 -0
- data/test/test_helper.rb +4 -0
- metadata +84 -56
- data/lib/vedeu/models/views/all.rb +0 -16
- data/lib/vedeu/null/view.rb +0 -26
- data/lib/vedeu/output/presentation/all.rb +0 -15
- data/lib/vedeu/output/presentation/colour.rb +0 -100
- data/lib/vedeu/output/presentation/styles.rb +0 -42
- data/test/lib/vedeu/null/view_test.rb +0 -31
- data/test/lib/vedeu/output/presentation/colour_test.rb +0 -172
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6a215a258800fb64a1c3493c3a504bfed883fc54
|
|
4
|
+
data.tar.gz: f6b96d7ba7a7e0b5aca5e55ef211a3afc5b50f4c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 901c2cce80b9ec3468c80c538e8c6b8b372cea78db1fae7b04cfee13bf0b457ade911966d1086b0bec8b4f04d9270ec08d0a7b9e1296aac56011fbd1e56d5b69
|
|
7
|
+
data.tar.gz: b747cefb06613a45addde327f5183c13cfa8d7dc0cfcf2367b6b75ebf65bd581d4f595f2bbd329ebc47739a8fe86d8e2befd9111c0e74d7af4b4d3a25ae4e8fa
|
data/docs/api.md
CHANGED
data/lib/vedeu/all.rb
CHANGED
|
@@ -1,23 +1,21 @@
|
|
|
1
|
+
require 'vedeu/common'
|
|
2
|
+
require 'vedeu/error'
|
|
1
3
|
require 'vedeu/version'
|
|
2
4
|
|
|
3
|
-
require 'vedeu/common'
|
|
4
5
|
require 'vedeu/colours/all'
|
|
5
6
|
require 'vedeu/configuration/all'
|
|
6
7
|
require 'vedeu/repositories/all'
|
|
7
8
|
require 'vedeu/events/all'
|
|
8
9
|
require 'vedeu/esc/all'
|
|
9
10
|
require 'vedeu/logging/all'
|
|
10
|
-
require 'vedeu/error'
|
|
11
11
|
require 'vedeu/runtime/all'
|
|
12
12
|
require 'vedeu/terminal/all'
|
|
13
|
-
|
|
14
|
-
require 'vedeu/models/toggleable'
|
|
15
|
-
|
|
13
|
+
require 'vedeu/presentation/all'
|
|
16
14
|
require 'vedeu/output/all'
|
|
17
|
-
|
|
15
|
+
require 'vedeu/renderers/all'
|
|
18
16
|
require 'vedeu/esc/all'
|
|
19
17
|
require 'vedeu/null/all'
|
|
20
|
-
require 'vedeu/
|
|
18
|
+
require 'vedeu/views/all'
|
|
21
19
|
require 'vedeu/models/all'
|
|
22
20
|
require 'vedeu/application/all'
|
|
23
21
|
require 'vedeu/cursors/all'
|
data/lib/vedeu/borders/all.rb
CHANGED
|
@@ -35,16 +35,12 @@ module Vedeu
|
|
|
35
35
|
|
|
36
36
|
# See {file:docs/borders.md#label-3A_set_border_caption_}
|
|
37
37
|
Vedeu.bind(:_set_border_caption_) do |name, caption|
|
|
38
|
-
|
|
39
|
-
border.caption = caption
|
|
40
|
-
border.store { Vedeu.trigger(:_refresh_border_, name) }
|
|
38
|
+
Vedeu::Borders::SetAttribute.update(name, :title, caption)
|
|
41
39
|
end
|
|
42
40
|
|
|
43
41
|
# See {file:docs/borders.md#label-3A_set_border_title_}
|
|
44
42
|
Vedeu.bind(:_set_border_title_) do |name, title|
|
|
45
|
-
|
|
46
|
-
border.title = title
|
|
47
|
-
border.store { Vedeu.trigger(:_refresh_border_, name) }
|
|
43
|
+
Vedeu::Borders::SetAttribute.update(name, :caption, title)
|
|
48
44
|
end
|
|
49
45
|
|
|
50
46
|
# :nocov:
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
module Vedeu
|
|
2
|
+
|
|
3
|
+
module Borders
|
|
4
|
+
|
|
5
|
+
# @api private
|
|
6
|
+
#
|
|
7
|
+
class SetAttribute
|
|
8
|
+
|
|
9
|
+
include Vedeu::Common
|
|
10
|
+
|
|
11
|
+
# @param name [String|Symbol]
|
|
12
|
+
# @param attribute [Symbol]
|
|
13
|
+
# @param value [String]
|
|
14
|
+
# @return [Vedeu::Borders::Border]
|
|
15
|
+
def self.update(name, attribute, value)
|
|
16
|
+
new(name, attribute, value).update
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# @param name [String|Symbol]
|
|
20
|
+
# @param attribute [Symbol]
|
|
21
|
+
# @param value [String]
|
|
22
|
+
# @return [Vedeu::Borders::SetAttribute]
|
|
23
|
+
def initialize(name, attribute, value)
|
|
24
|
+
@name = name
|
|
25
|
+
@attribute = attribute
|
|
26
|
+
@value = value
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# @return [Vedeu::Borders::Border]
|
|
30
|
+
def update
|
|
31
|
+
border.send(attribute, value)
|
|
32
|
+
border.store { Vedeu.trigger(:_refresh_border_, name) }
|
|
33
|
+
border
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
protected
|
|
37
|
+
|
|
38
|
+
# @!attribute [r] name
|
|
39
|
+
# @return [String|Symbol] The name of the border.
|
|
40
|
+
attr_reader :name
|
|
41
|
+
|
|
42
|
+
private
|
|
43
|
+
|
|
44
|
+
# @return [Symbol]
|
|
45
|
+
def attribute
|
|
46
|
+
fail Vedeu::Error::MissingRequired if @attribute.nil?
|
|
47
|
+
|
|
48
|
+
(@attribute.to_s + '=').to_sym
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# @return [Vedeu::Borders::Border]
|
|
52
|
+
def border
|
|
53
|
+
@_border ||= Vedeu.borders.by_name(name)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# @return [String] The new value.
|
|
57
|
+
def value
|
|
58
|
+
if present?(@value)
|
|
59
|
+
@value
|
|
60
|
+
|
|
61
|
+
else
|
|
62
|
+
''
|
|
63
|
+
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
end # SetAttribute
|
|
68
|
+
|
|
69
|
+
end # Borders
|
|
70
|
+
|
|
71
|
+
end # Vedeu
|
data/lib/vedeu/buffers/buffer.rb
CHANGED
|
@@ -97,7 +97,7 @@ module Vedeu
|
|
|
97
97
|
previous.cursor_visible?
|
|
98
98
|
|
|
99
99
|
else
|
|
100
|
-
|
|
100
|
+
interface.cursor_visible?
|
|
101
101
|
|
|
102
102
|
end
|
|
103
103
|
end
|
|
@@ -186,6 +186,11 @@ module Vedeu
|
|
|
186
186
|
}
|
|
187
187
|
end
|
|
188
188
|
|
|
189
|
+
# @return [Vedeu::Interfaces::Interface]
|
|
190
|
+
def interface
|
|
191
|
+
Vedeu.interfaces.by_name(name)
|
|
192
|
+
end
|
|
193
|
+
|
|
189
194
|
# Return a boolean indicating content was swapped between
|
|
190
195
|
# buffers.
|
|
191
196
|
#
|
|
@@ -46,7 +46,7 @@ module Vedeu
|
|
|
46
46
|
def by_name
|
|
47
47
|
Vedeu.trigger(:_clear_view_content_, name)
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
buffer.render
|
|
50
50
|
|
|
51
51
|
Vedeu.trigger(:_refresh_border_, name) unless content_only?
|
|
52
52
|
end
|
|
@@ -57,6 +57,11 @@ module Vedeu
|
|
|
57
57
|
# @return [String|Symbol]
|
|
58
58
|
attr_reader :name
|
|
59
59
|
|
|
60
|
+
# @return [Vedeu::Buffers::Buffer]
|
|
61
|
+
def buffer
|
|
62
|
+
Vedeu.buffers.by_name(name)
|
|
63
|
+
end
|
|
64
|
+
|
|
60
65
|
# @return [Boolean]
|
|
61
66
|
def content_only?
|
|
62
67
|
options[:content_only] == true
|
data/lib/vedeu/common.rb
CHANGED
|
@@ -44,7 +44,8 @@ module Vedeu
|
|
|
44
44
|
# @return [Boolean]
|
|
45
45
|
def present?(variable)
|
|
46
46
|
return true if variable.is_a?(Fixnum)
|
|
47
|
-
return true unless variable.nil? ||
|
|
47
|
+
return true unless variable.nil? ||
|
|
48
|
+
(variable.respond_to?(:empty?) && variable.empty?)
|
|
48
49
|
|
|
49
50
|
false
|
|
50
51
|
end
|
data/lib/vedeu/cursors/all.rb
CHANGED
data/lib/vedeu/cursors/cursor.rb
CHANGED
|
@@ -101,7 +101,7 @@ module Vedeu
|
|
|
101
101
|
@oy += 1
|
|
102
102
|
@y = coordinate(oy, :y).y
|
|
103
103
|
|
|
104
|
-
|
|
104
|
+
self
|
|
105
105
|
end
|
|
106
106
|
|
|
107
107
|
# Moves the cursor left by one column.
|
|
@@ -114,7 +114,7 @@ module Vedeu
|
|
|
114
114
|
@ox -= 1
|
|
115
115
|
@x = coordinate(ox, :x).x
|
|
116
116
|
|
|
117
|
-
|
|
117
|
+
self
|
|
118
118
|
end
|
|
119
119
|
|
|
120
120
|
# Moves the cursor to the top left of the named interface.
|
|
@@ -142,7 +142,7 @@ module Vedeu
|
|
|
142
142
|
@ox += 1
|
|
143
143
|
@x = coordinate(ox, :x).x
|
|
144
144
|
|
|
145
|
-
|
|
145
|
+
self
|
|
146
146
|
end
|
|
147
147
|
|
|
148
148
|
# Moves the cursor up by one row.
|
|
@@ -155,7 +155,7 @@ module Vedeu
|
|
|
155
155
|
@oy -= 1
|
|
156
156
|
@y = coordinate(oy, :y).y
|
|
157
157
|
|
|
158
|
-
|
|
158
|
+
self
|
|
159
159
|
end
|
|
160
160
|
|
|
161
161
|
# Renders the cursor.
|
|
@@ -297,17 +297,6 @@ module Vedeu
|
|
|
297
297
|
attributes.merge!(x: new_x, y: new_y, ox: new_ox, oy: new_oy)
|
|
298
298
|
end
|
|
299
299
|
|
|
300
|
-
# Store the cursor and refresh the cursor.
|
|
301
|
-
#
|
|
302
|
-
# @return [void]
|
|
303
|
-
def store_and_refresh
|
|
304
|
-
store
|
|
305
|
-
|
|
306
|
-
Vedeu.trigger(:_refresh_cursor_, name)
|
|
307
|
-
|
|
308
|
-
self
|
|
309
|
-
end
|
|
310
|
-
|
|
311
300
|
# Returns the escape sequence for setting the visibility of the
|
|
312
301
|
# cursor.
|
|
313
302
|
#
|
|
@@ -348,30 +337,22 @@ module Vedeu
|
|
|
348
337
|
|
|
349
338
|
# See {file:docs/cursors.md}
|
|
350
339
|
Vedeu.bind(:_cursor_left_) do |name|
|
|
351
|
-
Vedeu.
|
|
352
|
-
cursor.move_left if cursor.visible?
|
|
353
|
-
end
|
|
340
|
+
Vedeu::Cursors::Move.move(name, :move_left)
|
|
354
341
|
end
|
|
355
342
|
|
|
356
343
|
# See {file:docs/cursors.md}
|
|
357
344
|
Vedeu.bind(:_cursor_down_) do |name|
|
|
358
|
-
Vedeu.
|
|
359
|
-
cursor.move_down if cursor.visible?
|
|
360
|
-
end
|
|
345
|
+
Vedeu::Cursors::Move.move(name, :move_down)
|
|
361
346
|
end
|
|
362
347
|
|
|
363
348
|
# See {file:docs/cursors.md}
|
|
364
349
|
Vedeu.bind(:_cursor_up_) do |name|
|
|
365
|
-
Vedeu.
|
|
366
|
-
cursor.move_up if cursor.visible?
|
|
367
|
-
end
|
|
350
|
+
Vedeu::Cursors::Move.move(name, :move_up)
|
|
368
351
|
end
|
|
369
352
|
|
|
370
353
|
# See {file:docs/cursors.md}
|
|
371
354
|
Vedeu.bind(:_cursor_right_) do |name|
|
|
372
|
-
Vedeu.
|
|
373
|
-
cursor.move_right if cursor.visible?
|
|
374
|
-
end
|
|
355
|
+
Vedeu::Cursors::Move.move(name, :move_right)
|
|
375
356
|
end
|
|
376
357
|
|
|
377
358
|
# See {file:docs/cursors.md}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
module Vedeu
|
|
2
|
+
|
|
3
|
+
module Cursors
|
|
4
|
+
|
|
5
|
+
# @api private
|
|
6
|
+
#
|
|
7
|
+
class Move
|
|
8
|
+
|
|
9
|
+
extend Forwardable
|
|
10
|
+
|
|
11
|
+
def_delegators :cursor,
|
|
12
|
+
:visible?
|
|
13
|
+
|
|
14
|
+
# @param name [String|Symbol]
|
|
15
|
+
# @param direction [Symbol]
|
|
16
|
+
# @return [Vedeu::Cursors::Cursor]
|
|
17
|
+
def self.move(name, direction)
|
|
18
|
+
new(name, direction).move
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# @param name [String|Symbol]
|
|
22
|
+
# @param direction [Symbol]
|
|
23
|
+
# @return [Vedeu::Cursors::Move]
|
|
24
|
+
def initialize(name, direction)
|
|
25
|
+
@name = name
|
|
26
|
+
@direction = direction
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# @return [NilClass|Vedeu::Cursors::Cursor]
|
|
30
|
+
def move
|
|
31
|
+
return nil unless visible? && valid_direction?
|
|
32
|
+
|
|
33
|
+
cursor.public_send(direction)
|
|
34
|
+
cursor.store { Vedeu.trigger(:_refresh_cursor_, name) }
|
|
35
|
+
cursor
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
protected
|
|
39
|
+
|
|
40
|
+
# @!attribute [r] name
|
|
41
|
+
# @return [String|Symbol] The name of the cursor.
|
|
42
|
+
attr_reader :name
|
|
43
|
+
|
|
44
|
+
# @!attribute [r] direction
|
|
45
|
+
# @return [Symbol] The direction to move the cursor.
|
|
46
|
+
attr_reader :direction
|
|
47
|
+
|
|
48
|
+
private
|
|
49
|
+
|
|
50
|
+
# @return [Vedeu::Cursors::Cursor]
|
|
51
|
+
def cursor
|
|
52
|
+
@_cursor ||= Vedeu.cursors.by_name(name)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# @return [Boolean]
|
|
56
|
+
def valid_direction?
|
|
57
|
+
[
|
|
58
|
+
:move_down,
|
|
59
|
+
:move_left,
|
|
60
|
+
:move_right,
|
|
61
|
+
:move_up,
|
|
62
|
+
].include?(direction)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
end # Move
|
|
66
|
+
|
|
67
|
+
end # Cursors
|
|
68
|
+
|
|
69
|
+
end # Vedeu
|
data/lib/vedeu/dsl/all.rb
CHANGED
|
@@ -14,6 +14,8 @@ require 'vedeu/dsl/use'
|
|
|
14
14
|
require 'vedeu/dsl/presentation'
|
|
15
15
|
require 'vedeu/dsl/composition'
|
|
16
16
|
require 'vedeu/dsl/text'
|
|
17
|
+
require 'vedeu/dsl/lines'
|
|
17
18
|
require 'vedeu/dsl/line'
|
|
19
|
+
require 'vedeu/dsl/streams'
|
|
18
20
|
require 'vedeu/dsl/stream'
|
|
19
21
|
require 'vedeu/dsl/view'
|
|
@@ -135,7 +135,12 @@ module Vedeu
|
|
|
135
135
|
# @param name [String|Symbol] The name of the interface.
|
|
136
136
|
# @return [Hash<Symbol => void>]
|
|
137
137
|
def existing_attributes(name)
|
|
138
|
-
|
|
138
|
+
interface(name).attributes
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
# @return [Vedeu::Interfaces::Interface]
|
|
142
|
+
def interface(name)
|
|
143
|
+
Vedeu.interfaces.by_name(name)
|
|
139
144
|
end
|
|
140
145
|
|
|
141
146
|
end # Composition
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module Vedeu
|
|
2
|
+
|
|
3
|
+
module DSL
|
|
4
|
+
|
|
5
|
+
class Lines
|
|
6
|
+
|
|
7
|
+
# @raise [Vedeu::Error::RequiresBlock]
|
|
8
|
+
# @return [Vedeu::Views::Lines]
|
|
9
|
+
# def lines(&block)
|
|
10
|
+
# fail Vedeu::Error::RequiresBlock unless block_given?
|
|
11
|
+
|
|
12
|
+
# client = eval('self', block.binding)
|
|
13
|
+
|
|
14
|
+
# # Vedeu::Models::Lines.new
|
|
15
|
+
# end
|
|
16
|
+
|
|
17
|
+
end # Lines
|
|
18
|
+
|
|
19
|
+
end # DSL
|
|
20
|
+
|
|
21
|
+
end # Vedeu
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module Vedeu
|
|
2
|
+
|
|
3
|
+
module DSL
|
|
4
|
+
|
|
5
|
+
class Streams
|
|
6
|
+
|
|
7
|
+
# @raise [Vedeu::Error::RequiresBlock]
|
|
8
|
+
# @return [Vedeu::Views::Streams]
|
|
9
|
+
# def streams(&block)
|
|
10
|
+
# fail Vedeu::Error::RequiresBlock unless block_given?
|
|
11
|
+
|
|
12
|
+
# client = eval('self', block.binding)
|
|
13
|
+
|
|
14
|
+
# # Vedeu::Models::Stream.new
|
|
15
|
+
# end
|
|
16
|
+
|
|
17
|
+
end # Streams
|
|
18
|
+
|
|
19
|
+
end # DSL
|
|
20
|
+
|
|
21
|
+
end # Vedeu
|
data/lib/vedeu/groups/clear.rb
CHANGED
data/lib/vedeu/groups/refresh.rb
CHANGED
|
@@ -63,7 +63,12 @@ module Vedeu
|
|
|
63
63
|
|
|
64
64
|
# @return [String|Symbol]
|
|
65
65
|
def group_from_interface
|
|
66
|
-
@_group_name ||=
|
|
66
|
+
@_group_name ||= interface.group
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
# @return [Vedeu::Interfaces::Interface]
|
|
70
|
+
def interface
|
|
71
|
+
Vedeu.interfaces.by_name(name)
|
|
67
72
|
end
|
|
68
73
|
|
|
69
74
|
end # Refresh
|
data/lib/vedeu/input/capture.rb
CHANGED
|
@@ -60,7 +60,7 @@ module Vedeu
|
|
|
60
60
|
elsif Vedeu::Input::Mapper.registered?(@key, name)
|
|
61
61
|
Vedeu.trigger(:_keypress_, @key, name)
|
|
62
62
|
|
|
63
|
-
elsif
|
|
63
|
+
elsif interface.editable?
|
|
64
64
|
Vedeu.trigger(:_editor_, @key)
|
|
65
65
|
|
|
66
66
|
elsif @key.nil?
|
|
@@ -98,6 +98,11 @@ module Vedeu
|
|
|
98
98
|
keys
|
|
99
99
|
end
|
|
100
100
|
|
|
101
|
+
# @return [Vedeu::Interfaces::Interface]
|
|
102
|
+
def interface
|
|
103
|
+
Vedeu.interfaces.by_name(name)
|
|
104
|
+
end
|
|
105
|
+
|
|
101
106
|
# Returns a boolean indicating whether a mouse click was
|
|
102
107
|
# received.
|
|
103
108
|
#
|
|
@@ -88,7 +88,7 @@ module Vedeu
|
|
|
88
88
|
|
|
89
89
|
# @return [Vedeu::Colours::Colour]
|
|
90
90
|
def colour
|
|
91
|
-
@colour ||=
|
|
91
|
+
@colour ||= interface.colour
|
|
92
92
|
end
|
|
93
93
|
|
|
94
94
|
# @return [Boolean]
|
|
@@ -127,6 +127,11 @@ module Vedeu
|
|
|
127
127
|
end
|
|
128
128
|
end
|
|
129
129
|
|
|
130
|
+
# @return [Vedeu::Interfaces::Interface]
|
|
131
|
+
def interface
|
|
132
|
+
Vedeu.interfaces.by_name(name)
|
|
133
|
+
end
|
|
134
|
+
|
|
130
135
|
# @return [Hash<Symbol => Boolean>]
|
|
131
136
|
def options
|
|
132
137
|
defaults.merge!(@options)
|
|
@@ -11,10 +11,6 @@ module Vedeu
|
|
|
11
11
|
include Vedeu::Presentation
|
|
12
12
|
include Vedeu::Toggleable
|
|
13
13
|
|
|
14
|
-
# @!attribute [r] attributes
|
|
15
|
-
# @return [Hash]
|
|
16
|
-
attr_reader :attributes
|
|
17
|
-
|
|
18
14
|
# @!attribute [rw] client
|
|
19
15
|
# @return [Fixnum|Float]
|
|
20
16
|
attr_accessor :client
|
|
@@ -65,13 +61,29 @@ module Vedeu
|
|
|
65
61
|
# @option attributes zindex [Fixnum]
|
|
66
62
|
# @return [Vedeu::Interfaces::Interface]
|
|
67
63
|
def initialize(attributes = {})
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
@attributes.each do |key, value|
|
|
64
|
+
defaults.merge!(attributes).each do |key, value|
|
|
71
65
|
instance_variable_set("@#{key}", value)
|
|
72
66
|
end
|
|
73
67
|
end
|
|
74
68
|
|
|
69
|
+
# @return [Hash<Symbol => void>]
|
|
70
|
+
def attributes
|
|
71
|
+
{
|
|
72
|
+
client: client,
|
|
73
|
+
colour: colour,
|
|
74
|
+
cursor_visible: cursor_visible,
|
|
75
|
+
delay: delay,
|
|
76
|
+
editable: editable,
|
|
77
|
+
group: group,
|
|
78
|
+
name: name,
|
|
79
|
+
parent: parent,
|
|
80
|
+
repository: repository,
|
|
81
|
+
style: style,
|
|
82
|
+
visible: visible,
|
|
83
|
+
zindex: zindex,
|
|
84
|
+
}
|
|
85
|
+
end
|
|
86
|
+
|
|
75
87
|
# Returns a DSL instance responsible for defining the DSL
|
|
76
88
|
# methods of this model.
|
|
77
89
|
#
|
|
@@ -128,7 +140,7 @@ module Vedeu
|
|
|
128
140
|
|
|
129
141
|
# The default values for a new instance of this class.
|
|
130
142
|
#
|
|
131
|
-
# @return [Hash]
|
|
143
|
+
# @return [Hash<Symbol => void>]
|
|
132
144
|
def defaults
|
|
133
145
|
{
|
|
134
146
|
client: nil,
|