vedeu 0.6.20 → 0.6.21
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardopts +1 -1
- data/README.md +4 -0
- data/Rakefile +13 -0
- data/bin/vedeu_drb_server +6 -6
- data/docs/api.md +14 -0
- data/docs/dsl.md +12 -12
- data/docs/events/document.md +4 -2
- data/docs/events/drb.md +4 -0
- data/docs/events/focus.md +2 -0
- data/docs/events/menu.md +2 -0
- data/docs/events/movement.md +7 -5
- data/docs/events/refresh.md +2 -0
- data/docs/events/system.md +5 -0
- data/docs/events/view.md +2 -0
- data/docs/events/visibility.md +2 -0
- data/lib/vedeu.rb +0 -23
- data/lib/vedeu/all.rb +2 -4
- data/lib/vedeu/application/application_view.rb +1 -1
- data/lib/vedeu/borders/all.rb +3 -3
- data/lib/vedeu/borders/border.rb +2 -2
- data/lib/vedeu/borders/dsl.rb +21 -27
- data/lib/vedeu/borders/null.rb +2 -15
- data/lib/vedeu/borders/render.rb +1 -1
- data/lib/vedeu/borders/repository.rb +9 -0
- data/lib/vedeu/buffers/buffer.rb +2 -2
- data/lib/vedeu/buffers/null.rb +1 -31
- data/lib/vedeu/buffers/refresh.rb +8 -8
- data/lib/vedeu/buffers/repository.rb +9 -0
- data/lib/vedeu/colours/backgrounds.rb +9 -0
- data/lib/vedeu/colours/colour.rb +1 -1
- data/lib/vedeu/colours/foregrounds.rb +9 -0
- data/lib/vedeu/common.rb +22 -13
- data/lib/vedeu/configuration/configuration.rb +6 -0
- data/lib/vedeu/cursors/cursor.rb +13 -8
- data/lib/vedeu/cursors/refresh.rb +2 -2
- data/lib/vedeu/cursors/repository.rb +18 -1
- data/lib/vedeu/distributed/server.rb +23 -0
- data/lib/vedeu/distributed/templates/default_borders.vedeu +1 -1
- data/lib/vedeu/distributed/templates/default_geometries.vedeu +1 -1
- data/lib/vedeu/distributed/templates/default_interfaces.vedeu +1 -1
- data/lib/vedeu/distributed/templates/default_keymaps.vedeu +1 -1
- data/lib/vedeu/distributed/templates/default_menus.vedeu +1 -1
- data/lib/vedeu/distributed/templates/default_views.vedeu +1 -1
- data/lib/vedeu/dsl/composition.rb +7 -17
- data/lib/vedeu/dsl/dsl.rb +12 -0
- data/lib/vedeu/dsl/interface.rb +32 -33
- data/lib/vedeu/dsl/keymap.rb +13 -19
- data/lib/vedeu/dsl/line.rb +3 -13
- data/lib/vedeu/dsl/shared.rb +5 -5
- data/lib/vedeu/dsl/stream.rb +0 -10
- data/lib/vedeu/dsl/use.rb +6 -6
- data/lib/vedeu/dsl/view.rb +17 -19
- data/lib/vedeu/editor/cursor.rb +32 -10
- data/lib/vedeu/editor/document.rb +33 -35
- data/lib/vedeu/editor/editor.rb +3 -4
- data/lib/vedeu/editor/insert.rb +1 -1
- data/lib/vedeu/editor/line.rb +1 -8
- data/lib/vedeu/editor/lines.rb +1 -1
- data/lib/vedeu/editor/repository.rb +9 -0
- data/lib/vedeu/esc/esc.rb +2 -1
- data/lib/vedeu/events/aliases.rb +8 -1
- data/lib/vedeu/events/event.rb +8 -0
- data/lib/vedeu/events/repository.rb +9 -0
- data/lib/vedeu/events/trigger.rb +9 -5
- data/lib/vedeu/geometry/coordinate.rb +2 -2
- data/lib/vedeu/geometry/dsl.rb +32 -38
- data/lib/vedeu/geometry/generic_coordinate.rb +1 -1
- data/lib/vedeu/geometry/geometry.rb +3 -3
- data/lib/vedeu/geometry/null.rb +2 -24
- data/lib/vedeu/geometry/repository.rb +9 -0
- data/lib/vedeu/groups/clear.rb +7 -3
- data/lib/vedeu/groups/dsl.rb +29 -35
- data/lib/vedeu/groups/group.rb +28 -4
- data/lib/vedeu/groups/refresh.rb +3 -2
- data/lib/vedeu/groups/repository.rb +9 -0
- data/lib/vedeu/input/capture.rb +1 -1
- data/lib/vedeu/input/keymap.rb +2 -1
- data/lib/vedeu/input/keymaps.rb +9 -0
- data/lib/vedeu/input/mapper.rb +4 -0
- data/lib/vedeu/input/translator.rb +1 -1
- data/lib/vedeu/logging/debug.rb +13 -0
- data/lib/vedeu/logging/log.rb +8 -0
- data/lib/vedeu/logging/timer.rb +13 -0
- data/lib/vedeu/menus/dsl.rb +8 -18
- data/lib/vedeu/menus/menu.rb +8 -4
- data/lib/vedeu/menus/null.rb +1 -1
- data/lib/vedeu/menus/repository.rb +9 -0
- data/lib/vedeu/models/cell.rb +5 -0
- data/lib/vedeu/models/escape.rb +5 -0
- data/lib/vedeu/models/focus.rb +20 -5
- data/lib/vedeu/models/interface.rb +10 -1
- data/lib/vedeu/models/interfaces.rb +9 -0
- data/lib/vedeu/models/toggleable.rb +19 -4
- data/lib/vedeu/models/views/char.rb +6 -1
- data/lib/vedeu/models/views/html_char.rb +1 -4
- data/lib/vedeu/models/views/line.rb +1 -1
- data/lib/vedeu/models/views/view.rb +1 -1
- data/lib/vedeu/null/generic.rb +14 -2
- data/lib/vedeu/null/interface.rb +1 -1
- data/lib/vedeu/null/view.rb +1 -1
- data/lib/vedeu/output/clear/interface.rb +5 -1
- data/lib/vedeu/output/compressor.rb +8 -4
- data/lib/vedeu/output/direct.rb +4 -4
- data/lib/vedeu/output/presentation/all.rb +15 -0
- data/lib/vedeu/output/presentation/presentation.rb +0 -7
- data/lib/vedeu/output/refresh/refresh.rb +1 -3
- data/lib/vedeu/output/renderers/all.rb +10 -0
- data/lib/vedeu/output/renderers/terminal.rb +1 -3
- data/lib/vedeu/repositories/collection.rb +3 -3
- data/lib/vedeu/repositories/model.rb +1 -1
- data/lib/vedeu/repositories/repository.rb +8 -8
- data/lib/vedeu/repositories/store.rb +3 -2
- data/lib/vedeu/runtime/application.rb +4 -0
- data/lib/vedeu/runtime/bootstrap.rb +1 -1
- data/lib/vedeu/runtime/flags.rb +7 -0
- data/lib/vedeu/runtime/main_loop.rb +2 -0
- data/lib/vedeu/runtime/router.rb +4 -0
- data/lib/vedeu/templating/decoder.rb +1 -1
- data/lib/vedeu/templating/encoder.rb +1 -1
- data/lib/vedeu/templating/helpers.rb +2 -0
- data/lib/vedeu/templating/template.rb +1 -1
- data/lib/vedeu/terminal/buffer.rb +7 -0
- data/lib/vedeu/terminal/terminal.rb +8 -0
- data/lib/vedeu/version.rb +1 -1
- data/test/lib/vedeu/borders/dsl_test.rb +0 -6
- data/test/lib/vedeu/borders/null_test.rb +0 -12
- data/test/lib/vedeu/buffers/null_test.rb +0 -37
- data/test/lib/vedeu/common_test.rb +33 -0
- data/test/lib/vedeu/cursors/cursor_test.rb +1 -1
- data/test/lib/vedeu/dsl/composition_test.rb +0 -6
- data/test/lib/vedeu/dsl/dsl_test.rb +1 -0
- data/test/lib/vedeu/dsl/interface_test.rb +0 -6
- data/test/lib/vedeu/dsl/keymap_test.rb +0 -5
- data/test/lib/vedeu/dsl/line_test.rb +0 -7
- data/test/lib/vedeu/dsl/stream_test.rb +0 -7
- data/test/lib/vedeu/editor/cursor_test.rb +23 -8
- data/test/lib/vedeu/editor/document_test.rb +27 -23
- data/test/lib/vedeu/editor/line_test.rb +0 -30
- data/test/lib/vedeu/geometry/dsl_test.rb +0 -5
- data/test/lib/vedeu/geometry/null_test.rb +0 -30
- data/test/lib/vedeu/groups/dsl_test.rb +0 -6
- data/test/lib/vedeu/groups/group_test.rb +15 -7
- data/test/lib/vedeu/menus/dsl_test.rb +0 -5
- data/test/lib/vedeu/models/cell_test.rb +4 -0
- data/test/lib/vedeu/models/escape_test.rb +4 -0
- data/test/lib/vedeu/models/views/char_test.rb +4 -0
- data/test/lib/vedeu/null/generic_test.rb +13 -0
- data/test/lib/vedeu/terminal/buffer_test.rb +3 -2
- data/test/lib/vedeu_test.rb +81 -3
- data/test/support/examples/borders_app.rb +1 -3
- data/test/support/examples/drb_app.rb +1 -3
- data/test/support/examples/editor_app.rb +2 -4
- data/test/support/examples/focus_app.rb +1 -3
- data/test/support/examples/hello_world.rb +1 -6
- data/test/support/examples/material_colours_app.rb +1 -3
- data/test/support/examples/view_templates_app/view_templates_app.rb +1 -3
- data/test/support/helpers/model_test_class.rb +1 -5
- data/test/support/who.rb +29 -0
- data/test/test_helper.rb +0 -1
- metadata +5 -17
- data/lib/vedeu/api/all.rb +0 -15
- data/lib/vedeu/api/external.rb +0 -194
- data/lib/vedeu/api/internal.rb +0 -177
- data/test/lib/vedeu/api/external_test.rb +0 -74
- data/test/lib/vedeu/api/internal_test.rb +0 -33
- data/test/support/examples/typed_commands/command.erb +0 -1
- data/test/support/examples/typed_commands/output.erb +0 -1
- data/test/support/examples/typed_commands/status.erb +0 -1
- data/test/support/examples/typed_commands/typed_commands_app.rb +0 -94
data/lib/vedeu/editor/editor.rb
CHANGED
@@ -25,16 +25,15 @@ module Vedeu
|
|
25
25
|
|
26
26
|
# Send given input to the named document.
|
27
27
|
#
|
28
|
-
# @param
|
29
|
-
# @
|
30
|
-
# @return [String|Symbol]
|
28
|
+
# @param (see #initialize)
|
29
|
+
# @return (see #keypress)
|
31
30
|
def self.keypress(input:, name:)
|
32
31
|
new(input: input, name: name).keypress
|
33
32
|
end
|
34
33
|
|
35
34
|
# Returns a new instance of Vedeu::Editor::Editor.
|
36
35
|
#
|
37
|
-
# @param name [String]
|
36
|
+
# @param name [String|Symbol]
|
38
37
|
# @param input [String|Symbol]
|
39
38
|
# @return [Vedeu::Editor::Editor]
|
40
39
|
def initialize(input:, name:)
|
data/lib/vedeu/editor/insert.rb
CHANGED
data/lib/vedeu/editor/line.rb
CHANGED
@@ -14,7 +14,7 @@ module Vedeu
|
|
14
14
|
# Coerce a line into a new instance of Vedeu::Editor::Line.
|
15
15
|
#
|
16
16
|
# @param line [String|Vedeu::Editor::Line]
|
17
|
-
# @return
|
17
|
+
# @return (see #initialize)
|
18
18
|
def self.coerce(line)
|
19
19
|
return line if line.is_a?(self)
|
20
20
|
return new(line) if line.is_a?(String)
|
@@ -116,13 +116,6 @@ module Vedeu
|
|
116
116
|
line.size
|
117
117
|
end
|
118
118
|
|
119
|
-
# Return the line as a collection of Vedeu::Views::Char objects.
|
120
|
-
#
|
121
|
-
# @return [Array<Vedeu::Views::Char>]
|
122
|
-
def to_chars
|
123
|
-
line.chars.map { |char| Vedeu::Views::Char.new(value: char) }
|
124
|
-
end
|
125
|
-
|
126
119
|
end # Line
|
127
120
|
|
128
121
|
end # Editor
|
data/lib/vedeu/editor/lines.rb
CHANGED
@@ -15,7 +15,7 @@ module Vedeu
|
|
15
15
|
# Coerce a document into a new instance of Vedeu::Editor::Lines.
|
16
16
|
#
|
17
17
|
# @param document [Array<String>|Vedeu::Editor::Lines]
|
18
|
-
# @return
|
18
|
+
# @return (see #initialize)
|
19
19
|
def self.coerce(document)
|
20
20
|
if document.is_a?(self)
|
21
21
|
new(document.lines)
|
@@ -15,4 +15,13 @@ module Vedeu
|
|
15
15
|
|
16
16
|
end # Editor
|
17
17
|
|
18
|
+
# Manipulate the repository of documents.
|
19
|
+
#
|
20
|
+
# @example
|
21
|
+
# Vedeu.documents
|
22
|
+
#
|
23
|
+
# @!method documents
|
24
|
+
# @return [Vedeu::Editor::Repository]
|
25
|
+
def_delegators Vedeu::Editor::Repository, :documents
|
26
|
+
|
18
27
|
end # Vedeu
|
data/lib/vedeu/esc/esc.rb
CHANGED
@@ -11,6 +11,7 @@ module Vedeu
|
|
11
11
|
#
|
12
12
|
module Esc
|
13
13
|
|
14
|
+
include Vedeu::Common
|
14
15
|
include Vedeu::EscapeSequences::Actions
|
15
16
|
include Vedeu::EscapeSequences::Borders
|
16
17
|
include Vedeu::EscapeSequences::Colours
|
@@ -25,7 +26,7 @@ module Vedeu
|
|
25
26
|
# @param stream [String]
|
26
27
|
# @return [String]
|
27
28
|
def escape(stream = '')
|
28
|
-
return stream if
|
29
|
+
return stream if absent?(stream)
|
29
30
|
|
30
31
|
stream.gsub(/\e/, '\\e')
|
31
32
|
end
|
data/lib/vedeu/events/aliases.rb
CHANGED
@@ -10,6 +10,7 @@ module Vedeu
|
|
10
10
|
#
|
11
11
|
module Aliases
|
12
12
|
|
13
|
+
include Vedeu::Common
|
13
14
|
extend self
|
14
15
|
|
15
16
|
# Add events by name to the alias name group. When an alias is
|
@@ -48,7 +49,7 @@ module Vedeu
|
|
48
49
|
# @param alias_name [Symbol]
|
49
50
|
# @return [Boolean]
|
50
51
|
def registered?(alias_name)
|
51
|
-
return false if empty? ||
|
52
|
+
return false if empty? || absent?(alias_name)
|
52
53
|
|
53
54
|
storage.include?(alias_name)
|
54
55
|
end
|
@@ -106,4 +107,10 @@ module Vedeu
|
|
106
107
|
|
107
108
|
end # Events
|
108
109
|
|
110
|
+
# @!method bind_alias
|
111
|
+
# @see Vedeu::Events::Aliases#bind_alias
|
112
|
+
# @!method unbind_alias
|
113
|
+
# @see Vedeu::Events::Aliases#unbind_alias
|
114
|
+
def_delegators Vedeu::Events::Aliases, :bind_alias, :unbind_alias
|
115
|
+
|
109
116
|
end # Vedeu
|
data/lib/vedeu/events/event.rb
CHANGED
@@ -293,4 +293,12 @@ module Vedeu
|
|
293
293
|
|
294
294
|
end # Events
|
295
295
|
|
296
|
+
# @!method bind
|
297
|
+
# @see Vedeu::Events::Event.bind
|
298
|
+
# @!method bound?
|
299
|
+
# @see Vedeu::Events::Event.bound?
|
300
|
+
# @!method unbind
|
301
|
+
# @see Vedeu::Events::Event.unbind
|
302
|
+
def_delegators Vedeu::Events::Event, :bind, :bound?, :unbind
|
303
|
+
|
296
304
|
end # Vedeu
|
@@ -27,4 +27,13 @@ module Vedeu
|
|
27
27
|
|
28
28
|
end # Events
|
29
29
|
|
30
|
+
# Manipulate the repository of events.
|
31
|
+
#
|
32
|
+
# @example
|
33
|
+
# Vedeu.events
|
34
|
+
#
|
35
|
+
# @!method events
|
36
|
+
# @return [Vedeu::Events::Repository]
|
37
|
+
def_delegators Vedeu::Events::Repository, :events
|
38
|
+
|
30
39
|
end # Vedeu
|
data/lib/vedeu/events/trigger.rb
CHANGED
@@ -14,10 +14,7 @@ module Vedeu
|
|
14
14
|
# @example
|
15
15
|
# Vedeu.trigger(:my_event, :oxidize, 'nitrogen')
|
16
16
|
#
|
17
|
-
# @param
|
18
|
-
# trigger. The event does not have to exist.
|
19
|
-
# @param args [Array] Any arguments the event needs to execute
|
20
|
-
# correctly.
|
17
|
+
# @param (see #initialize)
|
21
18
|
# @return [Array]
|
22
19
|
def self.trigger(name, *args)
|
23
20
|
new(name, *args).trigger
|
@@ -25,7 +22,10 @@ module Vedeu
|
|
25
22
|
|
26
23
|
# Returns a new instance of Vedeu::Events::Trigger.
|
27
24
|
#
|
28
|
-
# @param
|
25
|
+
# @param name [Symbol] The name of the event you wish to
|
26
|
+
# trigger. The event does not have to exist.
|
27
|
+
# @param args [Array] Any arguments the event needs to execute
|
28
|
+
# correctly.
|
29
29
|
# @return [Vedeu::Events::Trigger]
|
30
30
|
def initialize(name, *args)
|
31
31
|
@name = name
|
@@ -81,4 +81,8 @@ module Vedeu
|
|
81
81
|
|
82
82
|
end # Events
|
83
83
|
|
84
|
+
# @!method trigger
|
85
|
+
# @see Vedeu::Events::Trigger.trigger
|
86
|
+
def_delegators Vedeu::Events::Trigger, :trigger
|
87
|
+
|
84
88
|
end # Vedeu
|
@@ -18,7 +18,7 @@ module Vedeu
|
|
18
18
|
|
19
19
|
# Returns a new instance of Vedeu::Geometry::Coordinate.
|
20
20
|
#
|
21
|
-
# @param name [String]
|
21
|
+
# @param name [String|Symbol]
|
22
22
|
# @param oy [Fixnum]
|
23
23
|
# @param ox [Fixnum]
|
24
24
|
# @return [Vedeu::Geometry::Coordinate]
|
@@ -31,7 +31,7 @@ module Vedeu
|
|
31
31
|
protected
|
32
32
|
|
33
33
|
# @!attribute [r] name
|
34
|
-
# @return [String]
|
34
|
+
# @return [String|Symbol]
|
35
35
|
attr_reader :name
|
36
36
|
|
37
37
|
# @!attribute [rw] ox
|
data/lib/vedeu/geometry/dsl.rb
CHANGED
@@ -13,7 +13,7 @@ module Vedeu
|
|
13
13
|
#
|
14
14
|
# A standalone geometry definition:
|
15
15
|
#
|
16
|
-
# Vedeu.geometry
|
16
|
+
# Vedeu.geometry :some_interface do
|
17
17
|
# height 5 # Sets the height of the view to 5
|
18
18
|
# width 20 # Sets the width of the view to 20
|
19
19
|
# x 3 # Start drawing 3 spaces from left
|
@@ -24,7 +24,7 @@ module Vedeu
|
|
24
24
|
#
|
25
25
|
# An interface including a geometry definition:
|
26
26
|
#
|
27
|
-
# Vedeu.interface
|
27
|
+
# Vedeu.interface :some_interface do
|
28
28
|
# geometry do
|
29
29
|
# height 5
|
30
30
|
# width 20
|
@@ -43,14 +43,14 @@ module Vedeu
|
|
43
43
|
# You can also make a geometry declaration dependent on another
|
44
44
|
# view:
|
45
45
|
#
|
46
|
-
# Vedeu.interface
|
46
|
+
# Vedeu.interface :other_panel do
|
47
47
|
# # ... some code here
|
48
48
|
# end
|
49
49
|
#
|
50
|
-
# Vedeu.interface
|
50
|
+
# Vedeu.interface :main do
|
51
51
|
# geometry do
|
52
52
|
# height 10
|
53
|
-
# y { use(
|
53
|
+
# y { use(:other_panel).south }
|
54
54
|
# end
|
55
55
|
# # ... some code here
|
56
56
|
# end
|
@@ -79,12 +79,12 @@ module Vedeu
|
|
79
79
|
# Specify the geometry of an interface or view with a simple
|
80
80
|
# DSL.
|
81
81
|
#
|
82
|
-
# Vedeu.geometry
|
82
|
+
# Vedeu.geometry :some_interface do
|
83
83
|
# # ...
|
84
84
|
# end
|
85
85
|
#
|
86
|
-
# @param name [String] The name of the interface or view
|
87
|
-
# which this geometry belongs.
|
86
|
+
# @param name [String|Symbol] The name of the interface or view
|
87
|
+
# to which this geometry belongs.
|
88
88
|
# @param block [Proc]
|
89
89
|
# @raise [Vedeu::Error::RequiresBlock]
|
90
90
|
# @return [Vedeu::Geometry::Geometry]
|
@@ -94,21 +94,11 @@ module Vedeu
|
|
94
94
|
Vedeu::Geometry::Geometry.build(name: name, &block).store
|
95
95
|
end
|
96
96
|
|
97
|
-
# Returns an instance of Vedeu::Geometry::DSL.
|
98
|
-
#
|
99
|
-
# @param model [Vedeu::Geometry::Geometry]
|
100
|
-
# @param client [Object]
|
101
|
-
# @return [Vedeu::Geometry::DSL]
|
102
|
-
def initialize(model, client = nil)
|
103
|
-
@model = model
|
104
|
-
@client = client
|
105
|
-
end
|
106
|
-
|
107
97
|
# Instructs Vedeu to calculate x and y geometry automatically
|
108
98
|
# based on the centre character of the terminal, the width and
|
109
99
|
# the height.
|
110
100
|
#
|
111
|
-
# Vedeu.geometry
|
101
|
+
# Vedeu.geometry :some_interface do
|
112
102
|
# centred false # or...
|
113
103
|
#
|
114
104
|
# centred true # or...
|
@@ -130,7 +120,7 @@ module Vedeu
|
|
130
120
|
# Returns the width in characters for the number of columns
|
131
121
|
# specified.
|
132
122
|
#
|
133
|
-
# Vedeu.geometry
|
123
|
+
# Vedeu.geometry :main_interface do
|
134
124
|
# # ... some code
|
135
125
|
# width columns(9) # Vedeu.width # => 92 (for example)
|
136
126
|
# # 92 / 12 = 7
|
@@ -149,7 +139,7 @@ module Vedeu
|
|
149
139
|
# Specify the number of characters/rows/lines tall the interface
|
150
140
|
# will be. This value will be ignored when `y` and `yn` are set.
|
151
141
|
#
|
152
|
-
# Vedeu.geometry
|
142
|
+
# Vedeu.geometry :some_interface do
|
153
143
|
# height 8
|
154
144
|
# # ... some code
|
155
145
|
# end
|
@@ -164,7 +154,7 @@ module Vedeu
|
|
164
154
|
# Returns the height in characters for the number of rows
|
165
155
|
# specified.
|
166
156
|
#
|
167
|
-
# Vedeu.geometry
|
157
|
+
# Vedeu.geometry :main_interface do
|
168
158
|
# # ... some code
|
169
159
|
# height rows(3) # Vedeu.height # => 38 (for example)
|
170
160
|
# # 38 / 12 = 3
|
@@ -183,7 +173,7 @@ module Vedeu
|
|
183
173
|
# Specify the number of characters/columns wide the interface
|
184
174
|
# will be. This value will be ignored when `x` and `xn` are set.
|
185
175
|
#
|
186
|
-
# Vedeu.geometry
|
176
|
+
# Vedeu.geometry :some_interface do
|
187
177
|
# width 25
|
188
178
|
# # ... some code
|
189
179
|
# end
|
@@ -197,12 +187,12 @@ module Vedeu
|
|
197
187
|
|
198
188
|
# Specify the starting x position (column) of the interface.
|
199
189
|
#
|
200
|
-
# Vedeu.geometry
|
190
|
+
# Vedeu.geometry :some_interface do
|
201
191
|
# x 7 # start on column 7.
|
202
192
|
#
|
203
|
-
# # start on column 8, if
|
204
|
-
# # then
|
205
|
-
# x { use(
|
193
|
+
# # start on column 8, if :other_interface changes position
|
194
|
+
# # then :some_interface will too.
|
195
|
+
# x { use(:other_interface).east }
|
206
196
|
# # ... some code
|
207
197
|
# end
|
208
198
|
#
|
@@ -219,12 +209,12 @@ module Vedeu
|
|
219
209
|
# Specify the ending x position (column) of the interface.
|
220
210
|
# This value will override `width`.
|
221
211
|
#
|
222
|
-
# Vedeu.geometry
|
212
|
+
# Vedeu.geometry :some_interface do
|
223
213
|
# xn 37 # end at column 37.
|
224
214
|
#
|
225
|
-
# # when
|
226
|
-
# #
|
227
|
-
# xn { use(
|
215
|
+
# # when :other_interface changes position,
|
216
|
+
# # :some_interface will too.
|
217
|
+
# xn { use(:other_interface).right }
|
228
218
|
# # ... some code
|
229
219
|
# end
|
230
220
|
#
|
@@ -240,12 +230,12 @@ module Vedeu
|
|
240
230
|
|
241
231
|
# Specify the starting y position (row/line) of the interface.
|
242
232
|
#
|
243
|
-
# Vedeu.geometry
|
233
|
+
# Vedeu.geometry :some_interface do
|
244
234
|
# y 4 # start at row 4
|
245
235
|
#
|
246
|
-
# # start on row/line 3, when
|
247
|
-
# # position,
|
248
|
-
# y { use(
|
236
|
+
# # start on row/line 3, when :other_interface changes
|
237
|
+
# # position, :some_interface will too.
|
238
|
+
# y { use(:other_interface).north }
|
249
239
|
# # ... some code
|
250
240
|
# end
|
251
241
|
#
|
@@ -262,12 +252,12 @@ module Vedeu
|
|
262
252
|
# Specify the ending y position (row/line) of the interface.
|
263
253
|
# This value will override `height`.
|
264
254
|
#
|
265
|
-
# Vedeu.geometry
|
255
|
+
# Vedeu.geometry :some_interface do
|
266
256
|
# yn 24 # end at row 24.
|
267
257
|
#
|
268
|
-
# # if
|
258
|
+
# # if :other_interface changes position, :some_interface
|
269
259
|
# # will too.
|
270
|
-
# yn { use(
|
260
|
+
# yn { use(:other_interface).bottom }
|
271
261
|
# # ... some code
|
272
262
|
# end
|
273
263
|
#
|
@@ -285,4 +275,8 @@ module Vedeu
|
|
285
275
|
|
286
276
|
end # Geometry
|
287
277
|
|
278
|
+
# @!method geometry
|
279
|
+
# @see Vedeu::Geometry::DSL.geometry
|
280
|
+
def_delegators Vedeu::Geometry::DSL, :geometry
|
281
|
+
|
288
282
|
end # Vedeu
|
@@ -9,7 +9,7 @@ module Vedeu
|
|
9
9
|
# Return a new instance of Vedeu::Geometry::GenericCoordinate.
|
10
10
|
#
|
11
11
|
# @param attributes [Hash]
|
12
|
-
# @option attributes name [String]
|
12
|
+
# @option attributes name [String|Symbol]
|
13
13
|
# @option attributes type [Symbol]
|
14
14
|
# @option attributes offset [Fixnum]
|
15
15
|
# @return [Vedeu::Geometry::GenericCoordinate]
|
@@ -72,8 +72,8 @@ module Vedeu
|
|
72
72
|
# @return [Fixnum]
|
73
73
|
attr_writer :yn
|
74
74
|
|
75
|
-
# @param
|
76
|
-
# @return
|
75
|
+
# @param (see #initialize)
|
76
|
+
# @return (see #initialize)
|
77
77
|
def self.store(attributes)
|
78
78
|
new(attributes).store
|
79
79
|
end
|
@@ -84,7 +84,7 @@ module Vedeu
|
|
84
84
|
# @option attributes centred [Boolean]
|
85
85
|
# @option attributes maximised [Boolean]
|
86
86
|
# @option attributes height [Fixnum]
|
87
|
-
# @option attributes name [String]
|
87
|
+
# @option attributes name [String|Symbol]
|
88
88
|
# @option attributes repository [Vedeu::Geometry::Repository]
|
89
89
|
# @option attributes width [Fixnum]
|
90
90
|
# @option attributes x [Fixnum]
|
data/lib/vedeu/geometry/null.rb
CHANGED
@@ -4,7 +4,7 @@ module Vedeu
|
|
4
4
|
|
5
5
|
# Provides a non-existent model to swallow messages.
|
6
6
|
#
|
7
|
-
class Null
|
7
|
+
class Null < Vedeu::Null::Generic
|
8
8
|
|
9
9
|
extend Forwardable
|
10
10
|
|
@@ -35,7 +35,7 @@ module Vedeu
|
|
35
35
|
# Returns a new instance of Vedeu::Geometry::Null.
|
36
36
|
#
|
37
37
|
# @param attributes [Hash<Symbol => void>]
|
38
|
-
# @option attributes name [String|NilClass]
|
38
|
+
# @option attributes name [String|Symbol|NilClass]
|
39
39
|
# @return [Vedeu::Geometry::Null]
|
40
40
|
def initialize(attributes = {})
|
41
41
|
@attributes = attributes
|
@@ -43,28 +43,6 @@ module Vedeu
|
|
43
43
|
@maximised = @attributes.fetch(:maximised, false)
|
44
44
|
end
|
45
45
|
|
46
|
-
# @return [FalseClass]
|
47
|
-
def centred
|
48
|
-
false
|
49
|
-
end
|
50
|
-
|
51
|
-
# @return [FalseClass]
|
52
|
-
def maximised?
|
53
|
-
false
|
54
|
-
end
|
55
|
-
alias_method :maximise, :maximised?
|
56
|
-
alias_method :unmaximise, :maximised?
|
57
|
-
|
58
|
-
# @return [Boolean]
|
59
|
-
def null?
|
60
|
-
true
|
61
|
-
end
|
62
|
-
|
63
|
-
# @return [Vedeu::Geometry::Null]
|
64
|
-
def store
|
65
|
-
self
|
66
|
-
end
|
67
|
-
|
68
46
|
private
|
69
47
|
|
70
48
|
# @return [Vedeu::Geometry::Area]
|