vedeu 0.6.1 → 0.6.2
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/lib/vedeu/all.rb +2 -13
- data/lib/vedeu/api.rb +9 -9
- data/lib/vedeu/application/application_view.rb +3 -5
- data/lib/vedeu/bindings/bindings.rb +5 -1
- data/lib/vedeu/bindings/focus.rb +0 -5
- data/lib/vedeu/bindings/refresh.rb +0 -5
- data/lib/vedeu/bindings/system.rb +1 -6
- data/lib/vedeu/colours/all.rb +17 -0
- data/lib/vedeu/colours/background.rb +32 -28
- data/lib/vedeu/colours/backgrounds.rb +13 -9
- data/lib/vedeu/colours/colour.rb +106 -102
- data/lib/vedeu/colours/foreground.rb +32 -28
- data/lib/vedeu/colours/foregrounds.rb +13 -9
- data/lib/vedeu/colours/repository.rb +70 -0
- data/lib/vedeu/colours/translator.rb +267 -0
- data/lib/vedeu/configuration/api.rb +10 -7
- data/lib/vedeu/configuration/configuration.rb +2 -1
- data/lib/vedeu/dsl/border.rb +15 -2
- data/lib/vedeu/dsl/composition.rb +6 -4
- data/lib/vedeu/dsl/geometry.rb +14 -7
- data/lib/vedeu/dsl/group.rb +2 -2
- data/lib/vedeu/dsl/interface.rb +5 -3
- data/lib/vedeu/dsl/keymap.rb +9 -7
- data/lib/vedeu/dsl/line.rb +7 -4
- data/lib/vedeu/dsl/menu.rb +3 -0
- data/lib/vedeu/dsl/presentation.rb +20 -10
- data/lib/vedeu/dsl/shared.rb +4 -4
- data/lib/vedeu/dsl/stream.rb +2 -2
- data/lib/vedeu/dsl/text.rb +11 -5
- data/lib/vedeu/dsl/use.rb +2 -2
- data/lib/vedeu/dsl/view.rb +8 -6
- data/lib/vedeu/events/aliases.rb +91 -0
- data/lib/vedeu/events/all.rb +15 -0
- data/lib/vedeu/events/collection.rb +13 -0
- data/lib/vedeu/events/event.rb +244 -239
- data/lib/vedeu/events/repository.rb +30 -0
- data/lib/vedeu/events/trigger.rb +68 -64
- data/lib/vedeu/exceptions.rb +65 -54
- data/lib/vedeu/geometry/coordinate.rb +3 -1
- data/lib/vedeu/geometry/grid.rb +2 -4
- data/lib/vedeu/input/editor/all.rb +2 -1
- data/lib/vedeu/input/editor/{virtual_cursor.rb → cursor.rb} +10 -10
- data/lib/vedeu/input/editor/document.rb +7 -7
- data/lib/vedeu/input/editor/insert.rb +70 -0
- data/lib/vedeu/input/editor/line.rb +4 -16
- data/lib/vedeu/input/editor/lines.rb +2 -16
- data/lib/vedeu/input/input_translator.rb +2 -2
- data/lib/vedeu/input/key.rb +2 -2
- data/lib/vedeu/internal_api.rb +6 -6
- data/lib/vedeu/log/lockless_log_device.rb +0 -74
- data/lib/vedeu/models/focus.rb +3 -3
- data/lib/vedeu/models/interface.rb +3 -3
- data/lib/vedeu/models/menu.rb +2 -2
- data/lib/vedeu/models/views/char.rb +1 -1
- data/lib/vedeu/models/views/composition.rb +1 -1
- data/lib/vedeu/models/views/line.rb +1 -1
- data/lib/vedeu/models/views/stream.rb +1 -1
- data/lib/vedeu/models/views/view.rb +6 -7
- data/lib/vedeu/output/presentation/colour.rb +23 -21
- data/lib/vedeu/output/renderers/renderer_options.rb +2 -4
- data/lib/vedeu/output/text.rb +1 -1
- data/lib/vedeu/output/wordwrap.rb +18 -7
- data/lib/vedeu/plugins/plugin.rb +2 -2
- data/lib/vedeu/refresh/refresh_buffer.rb +3 -3
- data/lib/vedeu/refresh/refresh_group.rb +3 -3
- data/lib/vedeu/repositories/repository.rb +7 -6
- data/lib/vedeu/runtime/application.rb +1 -1
- data/lib/vedeu/runtime/main_loop.rb +3 -3
- data/lib/vedeu/runtime/router.rb +14 -11
- data/lib/vedeu/templating/helpers.rb +5 -5
- data/lib/vedeu/templating/template.rb +4 -4
- data/lib/vedeu/templating/view_template.rb +1 -1
- data/lib/vedeu/terminal/terminal.rb +2 -2
- data/lib/vedeu/version.rb +1 -1
- data/test/lib/vedeu/application/application_view_test.rb +1 -1
- data/test/lib/vedeu/colours/background_test.rb +93 -89
- data/test/lib/vedeu/colours/backgrounds_test.rb +11 -7
- data/test/lib/vedeu/colours/colour_test.rb +155 -151
- data/test/lib/vedeu/colours/foreground_test.rb +93 -89
- data/test/lib/vedeu/colours/foregrounds_test.rb +11 -7
- data/test/lib/vedeu/colours/repository_test.rb +97 -0
- data/test/lib/vedeu/colours/translator_test.rb +173 -0
- data/test/lib/vedeu/configuration/api_test.rb +4 -4
- data/test/lib/vedeu/dsl/border_test.rb +12 -0
- data/test/lib/vedeu/dsl/composition_test.rb +3 -3
- data/test/lib/vedeu/dsl/geometry_test.rb +11 -0
- data/test/lib/vedeu/dsl/group_test.rb +2 -2
- data/test/lib/vedeu/dsl/interface_test.rb +4 -4
- data/test/lib/vedeu/dsl/keymap_test.rb +8 -4
- data/test/lib/vedeu/dsl/line_test.rb +6 -3
- data/test/lib/vedeu/dsl/menu_test.rb +6 -0
- data/test/lib/vedeu/dsl/presentation_test.rb +16 -3
- data/test/lib/vedeu/dsl/stream_test.rb +1 -1
- data/test/lib/vedeu/dsl/text_test.rb +7 -0
- data/test/lib/vedeu/dsl/view_test.rb +3 -3
- data/test/lib/vedeu/events/aliases_test.rb +144 -0
- data/test/lib/vedeu/events/collection_test.rb +22 -0
- data/test/lib/vedeu/events/event_test.rb +84 -80
- data/test/lib/vedeu/events/repository_test.rb +28 -0
- data/test/lib/vedeu/events/trigger_test.rb +41 -37
- data/test/lib/vedeu/geometry/grid_test.rb +4 -4
- data/test/lib/vedeu/input/editor/{virtual_cursor_test.rb → cursor_test.rb} +3 -3
- data/test/lib/vedeu/input/editor/insert_test.rb +36 -0
- data/test/lib/vedeu/input/key_test.rb +1 -1
- data/test/lib/vedeu/models/cell_test.rb +1 -1
- data/test/lib/vedeu/models/focus_test.rb +4 -2
- data/test/lib/vedeu/models/menu_test.rb +1 -1
- data/test/lib/vedeu/models/views/char_test.rb +8 -4
- data/test/lib/vedeu/models/views/line_test.rb +4 -4
- data/test/lib/vedeu/models/views/stream_test.rb +3 -3
- data/test/lib/vedeu/models/views/view_test.rb +1 -1
- data/test/lib/vedeu/output/html_char_test.rb +4 -2
- data/test/lib/vedeu/output/presentation/colour_test.rb +5 -5
- data/test/lib/vedeu/output/presentation_test.rb +4 -4
- data/test/lib/vedeu/output/renderers/json_test.rb +4 -2
- data/test/lib/vedeu/plugins/plugin_test.rb +1 -1
- data/test/lib/vedeu/refresh/refresh_buffer_test.rb +1 -1
- data/test/lib/vedeu/refresh/refresh_group_test.rb +1 -1
- data/test/lib/vedeu/repositories/repository_test.rb +2 -2
- data/test/lib/vedeu/runtime/router_test.rb +6 -6
- data/test/lib/vedeu/templating/decoder_test.rb +2 -3
- data/test/lib/vedeu/templating/encoder_test.rb +2 -3
- data/test/lib/vedeu/templating/helpers_test.rb +6 -6
- data/test/lib/vedeu/templating/template_test.rb +2 -2
- data/test/lib/vedeu/templating/view_template_test.rb +13 -7
- data/test/lib/vedeu/terminal/terminal_test.rb +3 -3
- metadata +24 -19
- data/lib/vedeu/colours/colour_translator.rb +0 -260
- data/lib/vedeu/colours/colours.rb +0 -66
- data/lib/vedeu/events/event_aliases.rb +0 -87
- data/lib/vedeu/events/event_collection.rb +0 -9
- data/lib/vedeu/events/events.rb +0 -26
- data/test/lib/vedeu/colours/colour_translator_test.rb +0 -169
- data/test/lib/vedeu/colours/colours_test.rb +0 -93
- data/test/lib/vedeu/events/event_aliases_test.rb +0 -140
- data/test/lib/vedeu/events/event_collection_test.rb +0 -18
- data/test/lib/vedeu/events/events_test.rb +0 -24
@@ -267,14 +267,14 @@ module Vedeu
|
|
267
267
|
# Return a virtual cursor to track the cursor position within the
|
268
268
|
# document.
|
269
269
|
#
|
270
|
-
# @return [Vedeu::Editor::
|
270
|
+
# @return [Vedeu::Editor::Cursor]
|
271
271
|
def cursor
|
272
|
-
@cursor ||= Vedeu::Editor::
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
272
|
+
@cursor ||= Vedeu::Editor::Cursor.new(y: 0,
|
273
|
+
x: 0,
|
274
|
+
by: by,
|
275
|
+
bx: bx,
|
276
|
+
byn: byn,
|
277
|
+
bxn: bxn)
|
278
278
|
end
|
279
279
|
|
280
280
|
# Return only the visible lines for the document based on the current
|
@@ -0,0 +1,70 @@
|
|
1
|
+
module Vedeu
|
2
|
+
|
3
|
+
module Editor
|
4
|
+
|
5
|
+
# Manipulate the lines of an Vedeu::Editor::Document.
|
6
|
+
#
|
7
|
+
class Insert
|
8
|
+
|
9
|
+
# @return [Vedeu::Editor::Line|Vedeu::Editor::Lines]
|
10
|
+
# @see #initialize
|
11
|
+
def self.into(collection, entity, index = nil, size = 0)
|
12
|
+
new(collection, entity, index, size).insert
|
13
|
+
end
|
14
|
+
|
15
|
+
# Returns a new instance of Vedeu::Editor::Insert.
|
16
|
+
#
|
17
|
+
# @param collection [Vedeu::Editor::Line|Vedeu::Editor::Lines]
|
18
|
+
# @param entity [String]
|
19
|
+
# @param index [Fixnum]
|
20
|
+
# @param size [Fixnum]
|
21
|
+
# @return [Vedeu::Editor::Insert]
|
22
|
+
def initialize(collection, entity, index = nil, size = 0)
|
23
|
+
@collection = collection
|
24
|
+
@entity = entity
|
25
|
+
@index = index
|
26
|
+
@size = size
|
27
|
+
end
|
28
|
+
|
29
|
+
# @return [Vedeu::Editor::Line|Vedeu::Editor::Lines]
|
30
|
+
def insert
|
31
|
+
if index
|
32
|
+
if index <= 0
|
33
|
+
collection.insert(0, entity)
|
34
|
+
|
35
|
+
elsif index >= size
|
36
|
+
collection << entity
|
37
|
+
|
38
|
+
else
|
39
|
+
collection.insert(index, entity)
|
40
|
+
|
41
|
+
end
|
42
|
+
else
|
43
|
+
collection << entity
|
44
|
+
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
protected
|
49
|
+
|
50
|
+
# @!attribute [r] collection
|
51
|
+
# @return [Vedeu::Editor::Line|Vedeu::Editor::Lines]
|
52
|
+
attr_reader :collection
|
53
|
+
|
54
|
+
# @!attribute [r] entity
|
55
|
+
# @return [String]
|
56
|
+
attr_reader :entity
|
57
|
+
|
58
|
+
# @!attribute [r] index
|
59
|
+
# @return [Fixnum]
|
60
|
+
attr_reader :index
|
61
|
+
|
62
|
+
# @!attribute [r] size
|
63
|
+
# @return [Fixnum]
|
64
|
+
attr_reader :size
|
65
|
+
|
66
|
+
end # Insert
|
67
|
+
|
68
|
+
end # Editor
|
69
|
+
|
70
|
+
end # Vedeu
|
@@ -101,25 +101,13 @@ module Vedeu
|
|
101
101
|
#
|
102
102
|
# @param character [String]
|
103
103
|
# @param index [Fixnum|NilClass]
|
104
|
-
# @return [
|
104
|
+
# @return [Vedeu::Editor::Line]
|
105
105
|
def insert_character(character, index = nil)
|
106
|
-
|
107
|
-
if index <= 0
|
108
|
-
line.insert(0, character)
|
109
|
-
|
110
|
-
elsif index >= size
|
111
|
-
line << character
|
112
|
-
|
113
|
-
else
|
114
|
-
line.insert(index, character)
|
106
|
+
return self unless character
|
115
107
|
|
116
|
-
|
117
|
-
else
|
118
|
-
line + character
|
119
|
-
|
120
|
-
end
|
108
|
+
insert = Vedeu::Editor::Insert.into(line, character, index, size)
|
121
109
|
|
122
|
-
Vedeu::Editor::Line.coerce(
|
110
|
+
Vedeu::Editor::Line.coerce(insert)
|
123
111
|
end
|
124
112
|
|
125
113
|
# Return the size of the line in characters.
|
@@ -137,23 +137,9 @@ module Vedeu
|
|
137
137
|
def insert_line(line, index = nil)
|
138
138
|
return self unless line
|
139
139
|
|
140
|
-
|
141
|
-
if index <= 0
|
142
|
-
lines.insert(0, line)
|
140
|
+
insert = Vedeu::Editor::Insert.into(lines, line, index, size)
|
143
141
|
|
144
|
-
|
145
|
-
lines << line
|
146
|
-
|
147
|
-
else
|
148
|
-
lines.insert(index, line)
|
149
|
-
|
150
|
-
end
|
151
|
-
else
|
152
|
-
lines << line
|
153
|
-
|
154
|
-
end
|
155
|
-
|
156
|
-
Vedeu::Editor::Lines.coerce(new_lines)
|
142
|
+
Vedeu::Editor::Lines.coerce(insert)
|
157
143
|
end
|
158
144
|
|
159
145
|
# Returns the line at the given index.
|
@@ -37,7 +37,7 @@ module Vedeu
|
|
37
37
|
@symbols ||= f_keys.merge!(ctrl_letters).merge!(specials)
|
38
38
|
end
|
39
39
|
|
40
|
-
# @return [Hash<String => Symbol]
|
40
|
+
# @return [Hash<String => Symbol>]
|
41
41
|
def ctrl_letters
|
42
42
|
{
|
43
43
|
"\u0001" => :ctrl_a,
|
@@ -72,7 +72,7 @@ module Vedeu
|
|
72
72
|
}
|
73
73
|
end
|
74
74
|
|
75
|
-
# @return [Hash<String => Symbol]
|
75
|
+
# @return [Hash<String => Symbol>]
|
76
76
|
def f_keys
|
77
77
|
{
|
78
78
|
"\eOP" => :f1,
|
data/lib/vedeu/input/key.rb
CHANGED
@@ -13,10 +13,10 @@ module Vedeu
|
|
13
13
|
#
|
14
14
|
# @param input [String|Symbol]
|
15
15
|
# @param block [Proc]
|
16
|
-
# @raise [Vedeu::InvalidSyntax] The required block was not given.
|
16
|
+
# @raise [Vedeu::Error::InvalidSyntax] The required block was not given.
|
17
17
|
# @return [Vedeu::Key]
|
18
18
|
def initialize(input = nil, &block)
|
19
|
-
fail Vedeu::InvalidSyntax, 'block not given' unless block_given?
|
19
|
+
fail Vedeu::Error::InvalidSyntax, 'block not given' unless block_given?
|
20
20
|
|
21
21
|
@input = input
|
22
22
|
@output = block
|
data/lib/vedeu/internal_api.rb
CHANGED
@@ -16,8 +16,8 @@ module Vedeu
|
|
16
16
|
# Vedeu.background_colours
|
17
17
|
#
|
18
18
|
# @!method background_colours
|
19
|
-
# @return [Vedeu::Backgrounds]
|
20
|
-
def_delegators Vedeu::Backgrounds, :background_colours
|
19
|
+
# @return [Vedeu::Colours::Backgrounds]
|
20
|
+
def_delegators Vedeu::Colours::Backgrounds, :background_colours
|
21
21
|
|
22
22
|
# Manipulate the repository of borders.
|
23
23
|
#
|
@@ -70,8 +70,8 @@ module Vedeu
|
|
70
70
|
# Vedeu.events
|
71
71
|
#
|
72
72
|
# @!method events
|
73
|
-
# @return [Vedeu::Events]
|
74
|
-
def_delegators Vedeu::Events, :events
|
73
|
+
# @return [Vedeu::Events::Repository]
|
74
|
+
def_delegators Vedeu::Events::Repository, :events
|
75
75
|
|
76
76
|
# Manipulate the repository of foreground colours.
|
77
77
|
#
|
@@ -79,8 +79,8 @@ module Vedeu
|
|
79
79
|
# Vedeu.foreground_colours
|
80
80
|
#
|
81
81
|
# @!method foreground_colours
|
82
|
-
# @return [Vedeu::Foregrounds]
|
83
|
-
def_delegators Vedeu::Foregrounds, :foreground_colours
|
82
|
+
# @return [Vedeu::Colours::Foregrounds]
|
83
|
+
def_delegators Vedeu::Colours::Foregrounds, :foreground_colours
|
84
84
|
|
85
85
|
# Manipulate the repository of geometries.
|
86
86
|
#
|
@@ -59,77 +59,3 @@ module Vedeu
|
|
59
59
|
end # LocklessLogDevice
|
60
60
|
|
61
61
|
end # Vedeu
|
62
|
-
|
63
|
-
# module Vedeu
|
64
|
-
|
65
|
-
# # Ensures we can always write to the log file by creating a lock-less
|
66
|
-
# # log device.
|
67
|
-
# #
|
68
|
-
# class LocklessLogDevice < Logger::LogDevice
|
69
|
-
|
70
|
-
# # Returns a new instance of Vedeu::LocklessLogDevice.
|
71
|
-
# #
|
72
|
-
# # @param file_or_filename [void]
|
73
|
-
# # @return [Vedeu::LocklessLogDevice]
|
74
|
-
# def initialize(file_or_filename = nil)
|
75
|
-
# @file_or_filename = file_or_filename
|
76
|
-
# end
|
77
|
-
|
78
|
-
# # @param message [String]
|
79
|
-
# # @return [void]
|
80
|
-
# def write(message)
|
81
|
-
# device.write(message)
|
82
|
-
|
83
|
-
# rescue StandardError => exception
|
84
|
-
# warn("Log writing failed. #{exception}")
|
85
|
-
|
86
|
-
# end
|
87
|
-
|
88
|
-
# # @return [void]
|
89
|
-
# def close
|
90
|
-
# device.close
|
91
|
-
|
92
|
-
# rescue
|
93
|
-
# nil
|
94
|
-
|
95
|
-
# end
|
96
|
-
|
97
|
-
# protected
|
98
|
-
|
99
|
-
# # @!attribute [r] file_or_filename
|
100
|
-
# # @return [String]
|
101
|
-
# attr_reader :file_or_filename
|
102
|
-
# alias_method :file, :file_or_filename
|
103
|
-
# alias_method :filename, :file_or_filename
|
104
|
-
|
105
|
-
# private
|
106
|
-
|
107
|
-
# # @return [File]
|
108
|
-
# def device
|
109
|
-
# if file?
|
110
|
-
# file
|
111
|
-
|
112
|
-
# elsif exists?
|
113
|
-
# open(filename, (File::WRONLY | File::APPEND))
|
114
|
-
|
115
|
-
# else
|
116
|
-
# device = open(filename, (File::WRONLY | File::APPEND | File::CREAT))
|
117
|
-
# device.sync = true
|
118
|
-
|
119
|
-
# end
|
120
|
-
# end
|
121
|
-
|
122
|
-
# # @return [Boolean]
|
123
|
-
# def exists?
|
124
|
-
# FileTest.exist?(filename)
|
125
|
-
# end
|
126
|
-
|
127
|
-
# # @return [Boolean]
|
128
|
-
# def file?
|
129
|
-
# file_or_filename.respond_to?(:write) &&
|
130
|
-
# file_or_filename.respond_to?(:close)
|
131
|
-
# end
|
132
|
-
|
133
|
-
# end # LocklessLogDevice
|
134
|
-
|
135
|
-
# end # Vedeu
|
data/lib/vedeu/models/focus.rb
CHANGED
@@ -49,12 +49,12 @@ module Vedeu
|
|
49
49
|
# Vedeu.focus_by_name('name')
|
50
50
|
#
|
51
51
|
# @param name [String] The interface to focus; must be defined.
|
52
|
-
# @raise [Vedeu::ModelNotFound] When the interface cannot be found.
|
52
|
+
# @raise [Vedeu::Error::ModelNotFound] When the interface cannot be found.
|
53
53
|
# @return [String] The name of the interface now in focus.
|
54
54
|
def by_name(name)
|
55
55
|
unless registered?(name)
|
56
|
-
fail Vedeu::ModelNotFound,
|
57
|
-
|
56
|
+
fail Vedeu::Error::ModelNotFound,
|
57
|
+
"Cannot focus '#{name}' as this interface has not been registered."
|
58
58
|
end
|
59
59
|
|
60
60
|
storage.rotate!(storage.index(name))
|
@@ -41,7 +41,7 @@ module Vedeu
|
|
41
41
|
#
|
42
42
|
# @param attributes [Hash]
|
43
43
|
# @option attributes client [Vedeu::Client]
|
44
|
-
# @option attributes colour [Vedeu::Colour]
|
44
|
+
# @option attributes colour [Vedeu::Colours::Colour]
|
45
45
|
# @option attributes delay [Float]
|
46
46
|
# @option attributes group [String]
|
47
47
|
# @option attributes name [String]
|
@@ -91,8 +91,8 @@ module Vedeu
|
|
91
91
|
def defaults
|
92
92
|
{
|
93
93
|
client: nil,
|
94
|
-
colour: Vedeu::Colour.coerce(background: :default,
|
95
|
-
|
94
|
+
colour: Vedeu::Colours::Colour.coerce(background: :default,
|
95
|
+
foreground: :default),
|
96
96
|
delay: 0.0,
|
97
97
|
group: '',
|
98
98
|
name: '',
|
data/lib/vedeu/models/menu.rb
CHANGED
@@ -49,10 +49,10 @@ module Vedeu
|
|
49
49
|
# # ...
|
50
50
|
# end
|
51
51
|
#
|
52
|
-
# @raise [Vedeu::InvalidSyntax] The required block was not given.
|
52
|
+
# @raise [Vedeu::Error::InvalidSyntax] The required block was not given.
|
53
53
|
# @return [API::Menu]
|
54
54
|
def self.menu(name = '', &block)
|
55
|
-
fail Vedeu::InvalidSyntax, 'block not given' unless block_given?
|
55
|
+
fail Vedeu::Error::InvalidSyntax, 'block not given' unless block_given?
|
56
56
|
|
57
57
|
build(name: name, &block).store
|
58
58
|
end
|
@@ -34,7 +34,7 @@ module Vedeu
|
|
34
34
|
# @param attributes [Hash]
|
35
35
|
# @option attributes border [NilClass|Symbol] A symbol representing the
|
36
36
|
# border 'piece' this Vedeu::Views::Char represents.
|
37
|
-
# @option attributes colour [Vedeu::Colour]
|
37
|
+
# @option attributes colour [Vedeu::Colours::Colour]
|
38
38
|
# @option attributes parent [Vedeu::Views::Line]
|
39
39
|
# @option attributes position [Vedeu::Position]
|
40
40
|
# @option attributes style [Vedeu::Style]
|
@@ -24,7 +24,7 @@ module Vedeu
|
|
24
24
|
#
|
25
25
|
# @param attributes [Hash]
|
26
26
|
# @option attributes client [void]
|
27
|
-
# @option attributes colour [Vedeu::Colour]
|
27
|
+
# @option attributes colour [Vedeu::Colours::Colour]
|
28
28
|
# @option attributes style [Vedeu::Style]
|
29
29
|
# @option attributes value [Vedeu::Views::ViewCollection]
|
30
30
|
# @return [Vedeu::Views::Composition]
|
@@ -25,7 +25,7 @@ module Vedeu
|
|
25
25
|
# Returns a new instance of Vedeu::Views::Line.
|
26
26
|
#
|
27
27
|
# @param attributes [Hash]
|
28
|
-
# @option attributes colour [Vedeu::Colour]
|
28
|
+
# @option attributes colour [Vedeu::Colours::Colour]
|
29
29
|
# @option attributes parent [Vedeu::Views::View]
|
30
30
|
# @option attributes style [Vedeu::Style]
|
31
31
|
# @option attributes value [Vedeu::Views::Streams]
|
@@ -31,7 +31,7 @@ module Vedeu
|
|
31
31
|
# Returns a new instance of Vedeu::Views::Stream.
|
32
32
|
#
|
33
33
|
# @param attributes [Hash]
|
34
|
-
# @option attributes colour [Vedeu::Colour]
|
34
|
+
# @option attributes colour [Vedeu::Colours::Colour]
|
35
35
|
# @option attributes style [Vedeu::Style]
|
36
36
|
# @option attributes parent [Vedeu::Views::Line]
|
37
37
|
# @option attributes value [String]
|
@@ -41,7 +41,7 @@ module Vedeu
|
|
41
41
|
#
|
42
42
|
# @param attributes [Hash]
|
43
43
|
# @option attributes client [Vedeu::Client]
|
44
|
-
# @option attributes colour [Vedeu::Colour]
|
44
|
+
# @option attributes colour [Vedeu::Colours::Colour]
|
45
45
|
# @option attributes value [Vedeu::Views::Lines]
|
46
46
|
# @option attributes name [String]
|
47
47
|
# @option attributes parent [Vedeu::Views::Composition]
|
@@ -100,12 +100,11 @@ module Vedeu
|
|
100
100
|
# be shown next time a refresh event is triggered with this name.
|
101
101
|
# Called by {Vedeu::DSL::View.views}.
|
102
102
|
#
|
103
|
-
# @raise [Vedeu::InvalidSyntax] The name is not defined.
|
103
|
+
# @raise [Vedeu::Error::InvalidSyntax] The name is not defined.
|
104
104
|
# @return [Vedeu::Views::View]
|
105
105
|
def store_deferred
|
106
|
-
|
107
|
-
|
108
|
-
end
|
106
|
+
fail Vedeu::Error::InvalidSyntax,
|
107
|
+
'Cannot store an interface without a name.' unless present?(name)
|
109
108
|
|
110
109
|
Vedeu.buffers.by_name(name).add(self)
|
111
110
|
|
@@ -127,8 +126,8 @@ module Vedeu
|
|
127
126
|
def defaults
|
128
127
|
{
|
129
128
|
client: nil,
|
130
|
-
colour: Vedeu::Colour.coerce(background: :default,
|
131
|
-
|
129
|
+
colour: Vedeu::Colours::Colour.coerce(background: :default,
|
130
|
+
foreground: :default),
|
132
131
|
name: '',
|
133
132
|
parent: nil,
|
134
133
|
style: :normal,
|
@@ -7,9 +7,10 @@ module Vedeu
|
|
7
7
|
module Colour
|
8
8
|
|
9
9
|
# When the background colour for the model exists, return it, otherwise
|
10
|
-
# returns the parent background colour, or an empty
|
10
|
+
# returns the parent background colour, or an empty
|
11
|
+
# Vedeu::Colours::Background.
|
11
12
|
#
|
12
|
-
# @return [Vedeu::Background]
|
13
|
+
# @return [Vedeu::Colours::Background]
|
13
14
|
def background
|
14
15
|
@background ||= if colour
|
15
16
|
colour.background
|
@@ -18,47 +19,48 @@ module Vedeu
|
|
18
19
|
parent.background
|
19
20
|
|
20
21
|
else
|
21
|
-
Vedeu::Background.new
|
22
|
+
Vedeu::Colours::Background.new
|
22
23
|
|
23
24
|
end
|
24
25
|
end
|
25
26
|
|
26
27
|
# Allows the setting of the background colour by coercing the given value
|
27
|
-
# into a Vedeu::Background colour.
|
28
|
+
# into a Vedeu::Colours::Background colour.
|
28
29
|
#
|
29
|
-
# @return [Vedeu::Background]
|
30
|
+
# @return [Vedeu::Colours::Background]
|
30
31
|
def background=(value)
|
31
|
-
@colour = Vedeu::Colour.coerce(
|
32
|
-
background: Vedeu::Background.coerce(value),
|
32
|
+
@colour = Vedeu::Colours::Colour.coerce(
|
33
|
+
background: Vedeu::Colours::Background.coerce(value),
|
33
34
|
foreground: colour.foreground)
|
34
35
|
end
|
35
36
|
|
36
|
-
# @return [Vedeu::Colour]
|
37
|
+
# @return [Vedeu::Colours::Colour]
|
37
38
|
def colour
|
38
39
|
@colour ||= if attributes[:colour]
|
39
|
-
Vedeu::Colour.coerce(attributes[:colour])
|
40
|
+
Vedeu::Colours::Colour.coerce(attributes[:colour])
|
40
41
|
|
41
42
|
elsif parent
|
42
|
-
Vedeu::Colour.coerce(parent.colour)
|
43
|
+
Vedeu::Colours::Colour.coerce(parent.colour)
|
43
44
|
|
44
45
|
else
|
45
|
-
Vedeu::Colour.new
|
46
|
+
Vedeu::Colours::Colour.new
|
46
47
|
|
47
48
|
end
|
48
49
|
end
|
49
50
|
|
50
51
|
# Allows the setting of the model's colour by coercing the given value
|
51
|
-
# into a Vedeu::Colour.
|
52
|
+
# into a Vedeu::Colours::Colour.
|
52
53
|
#
|
53
|
-
# @return [Vedeu::Colour]
|
54
|
+
# @return [Vedeu::Colours::Colour]
|
54
55
|
def colour=(value)
|
55
|
-
@colour = Vedeu::Colour.coerce(value)
|
56
|
+
@colour = Vedeu::Colours::Colour.coerce(value)
|
56
57
|
end
|
57
58
|
|
58
59
|
# When the foreground colour for the model exists, return it, otherwise
|
59
|
-
# returns the parent foreground colour, or an empty
|
60
|
+
# returns the parent foreground colour, or an empty
|
61
|
+
# Vedeu::Colours::Foreground.
|
60
62
|
#
|
61
|
-
# @return [Vedeu::Foreground]
|
63
|
+
# @return [Vedeu::Colours::Foreground]
|
62
64
|
def foreground
|
63
65
|
@foreground ||= if colour
|
64
66
|
colour.foreground
|
@@ -67,19 +69,19 @@ module Vedeu
|
|
67
69
|
parent.foreground
|
68
70
|
|
69
71
|
else
|
70
|
-
Vedeu::Foreground.new
|
72
|
+
Vedeu::Colours::Foreground.new
|
71
73
|
|
72
74
|
end
|
73
75
|
end
|
74
76
|
|
75
77
|
# Allows the setting of the foreground colour by coercing the given value
|
76
|
-
# into a Vedeu::Foreground colour.
|
78
|
+
# into a Vedeu::Colours::Foreground colour.
|
77
79
|
#
|
78
|
-
# @return [Vedeu::Foreground]
|
80
|
+
# @return [Vedeu::Colours::Foreground]
|
79
81
|
def foreground=(value)
|
80
|
-
@colour = Vedeu::Colour.coerce(
|
82
|
+
@colour = Vedeu::Colours::Colour.coerce(
|
81
83
|
background: colour.background,
|
82
|
-
foreground: Vedeu::Foreground.coerce(value))
|
84
|
+
foreground: Vedeu::Colours::Foreground.coerce(value))
|
83
85
|
end
|
84
86
|
|
85
87
|
end # Colour
|