vedeu 0.4.45 → 0.4.46

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 (56) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -0
  3. data/Guardfile +1 -1
  4. data/docs/dsl.md +4 -4
  5. data/docs/events/drb.md +49 -0
  6. data/docs/events/main.md +109 -0
  7. data/docs/events/menus.md +72 -0
  8. data/docs/events/movement.md +105 -0
  9. data/docs/events/visibility.md +61 -0
  10. data/docs/events.md +13 -0
  11. data/lib/vedeu/api.rb +23 -0
  12. data/lib/vedeu/application/controller.rb +1 -0
  13. data/lib/vedeu/application.rb +25 -20
  14. data/lib/vedeu/bindings/bindings.rb +2 -41
  15. data/lib/vedeu/bindings/drb.rb +2 -11
  16. data/lib/vedeu/bindings/menus.rb +1 -19
  17. data/lib/vedeu/bindings/movement.rb +6 -18
  18. data/lib/vedeu/bindings/visibility.rb +5 -26
  19. data/lib/vedeu/configuration/configuration.rb +1 -1
  20. data/lib/vedeu/distributed/server.rb +15 -0
  21. data/lib/vedeu/dsl/presentation.rb +13 -7
  22. data/lib/vedeu/dsl/view.rb +1 -1
  23. data/lib/vedeu/events/event.rb +1 -1
  24. data/lib/vedeu/main_loop.rb +1 -1
  25. data/lib/vedeu/models/interface.rb +3 -0
  26. data/lib/vedeu/null/interface.rb +11 -0
  27. data/lib/vedeu/output/clear.rb +3 -1
  28. data/lib/vedeu/repositories/repositories/borders.rb +7 -3
  29. data/lib/vedeu/repositories/repositories/buffers.rb +7 -3
  30. data/lib/vedeu/repositories/repositories/cursors.rb +3 -2
  31. data/lib/vedeu/repositories/repositories/events.rb +3 -2
  32. data/lib/vedeu/repositories/repositories/geometries.rb +6 -2
  33. data/lib/vedeu/repositories/repositories/groups.rb +2 -1
  34. data/lib/vedeu/repositories/repositories/interfaces.rb +6 -2
  35. data/lib/vedeu/repositories/repositories/keymaps.rb +2 -1
  36. data/lib/vedeu/repositories/repositories/menus.rb +2 -1
  37. data/lib/vedeu/support/log.rb +1 -1
  38. data/lib/vedeu/support/timer.rb +1 -1
  39. data/lib/vedeu/support/visibility.rb +31 -3
  40. data/lib/vedeu/version.rb +1 -1
  41. data/test/lib/vedeu/bindings/bindings_test.rb +0 -3
  42. data/test/lib/vedeu/bindings/movement_test.rb +1 -0
  43. data/test/lib/vedeu/buffers/buffer_test.rb +9 -17
  44. data/test/lib/vedeu/null/interface_test.rb +6 -0
  45. data/test/lib/vedeu/repositories/repositories/borders_test.rb +5 -1
  46. data/test/lib/vedeu/repositories/repositories/buffers_test.rb +2 -0
  47. data/test/lib/vedeu/repositories/repositories/cursors_test.rb +2 -0
  48. data/test/lib/vedeu/repositories/repositories/events_test.rb +2 -0
  49. data/test/lib/vedeu/repositories/repositories/geometries_test.rb +2 -0
  50. data/test/lib/vedeu/repositories/repositories/groups_test.rb +2 -0
  51. data/test/lib/vedeu/repositories/repositories/interfaces_test.rb +2 -0
  52. data/test/lib/vedeu/repositories/repositories/keymaps_test.rb +2 -0
  53. data/test/lib/vedeu/repositories/repositories/menus_test.rb +2 -0
  54. data/test/lib/vedeu/support/visibility_test.rb +14 -8
  55. data/test/test_helper.rb +12 -6
  56. metadata +8 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 68ee4c2ed644e698df332ae110ee488fcb38251c
4
- data.tar.gz: 5a542609da0c161347ec2cd3de1fada895995aef
3
+ metadata.gz: ea321b7c3e36486983857a9d6ceeeecb333a17fd
4
+ data.tar.gz: 5e52ca03e9336ced28a58cc062d680f2dab4b0fc
5
5
  SHA512:
6
- metadata.gz: 32a29cc71db5d5e1347b6fa9fe5a0d424c4bac02dedf1eb61e325650f386d01dcaee72c4fc890cd6eba16b50f10353ec2cda4a4f75064e156ae61be003217193
7
- data.tar.gz: 42a71d09b9aa1dfed20b9b60f1dc92a1967fd134d2b27f3b028d3d59bd6070ec9eb8c5606b924ab4a8c3a26fd43d68c7f74085ef6a584bcf43fbb73b30d9bdfa
6
+ metadata.gz: f1097844c65d4242aa77ac45844005483b2a9f425a2e0a7469371c89126882a386c8cf708b96c42a8046762366249530aedbb19a7056132c0129f6ef824be583
7
+ data.tar.gz: 83dc5668eacf4c40b1384345ba34ef0ac2845be750be21d94b7480666239eeda748e619e767139d967e1506ec425f34b8e7a0840d3e52e07b330539a9b5cca05
data/.yardopts CHANGED
@@ -5,6 +5,7 @@
5
5
  docs/api.md
6
6
  docs/applications.md
7
7
  docs/dsl.md
8
+ docs/events.md
8
9
  docs/getting_started.md
9
10
  docs/object_graph.md
10
11
  docs/views.md
data/Guardfile CHANGED
@@ -1,6 +1,6 @@
1
1
  guard :minitest, all_after_pass: true,
2
2
  focus_on_failed: true,
3
- env: { 'no_simplecov' => true } do
3
+ env: { 'NO_SIMPLECOV' => true } do
4
4
  watch(%r{^test/(.*)_test\.rb})
5
5
  watch(%r{^lib/(.+)\.rb}) { |m| "test/lib/#{m[1]}_test.rb" }
6
6
  watch(%r{^test/test_helper\.rb}) { 'test' }
data/docs/dsl.md CHANGED
@@ -86,7 +86,7 @@ Geometry allows the configuration of the position and size of an interface.
86
86
 
87
87
  Here is an example of declarations for a `geometry` block:
88
88
 
89
- ```ruby
89
+ ```ruby
90
90
  interface 'main' do
91
91
  geometry do
92
92
  height 5 # Sets the height of the view to 5
@@ -104,7 +104,7 @@ available in the terminal will be used. `x` and `y` both default to 0.
104
104
 
105
105
  You can also make a geometry declaration dependent on another view:
106
106
 
107
- ```ruby
107
+ ```ruby
108
108
  interface 'other_panel' do
109
109
  # other code ...
110
110
  end
@@ -140,9 +140,9 @@ You can define keymaps by name which matches a defined interface. When that
140
140
 
141
141
  ### Menus
142
142
 
143
-
143
+ `@todo` Documentation coming soon!
144
144
 
145
145
  ### Views
146
146
 
147
-
147
+ @todo Documentation coming soon!
148
148
 
@@ -0,0 +1,49 @@
1
+ # @title DRB Events
2
+
3
+ ## DRB Events
4
+
5
+ ### Start DRB Server
6
+
7
+ Vedeu.trigger(:_drb_start_)
8
+
9
+ Use the DRb server to request the client application to start.
10
+
11
+
12
+ ### Restart DRB Server
13
+
14
+ Vedeu.trigger(:_drb_restart_)
15
+
16
+ Use the DRb server to request the client application to restart.
17
+
18
+
19
+ ### Stop DRB Server
20
+
21
+ Vedeu.trigger(:_drb_stop_)
22
+
23
+ Use the DRb server to request the client application to stop.
24
+
25
+
26
+ ### DRB Status
27
+
28
+ Vedeu.trigger(:_drb_status_)
29
+
30
+ Use the DRb server to request the status of the client application.
31
+
32
+
33
+ ### Store Output of DRB Server
34
+
35
+ Vedeu.trigger(:_drb_store_output_, data)
36
+
37
+ Triggering this event with 'data' will push data into the running application's virtual buffer.
38
+
39
+
40
+ ### Retrieve Output of DRB Server
41
+
42
+ Vedeu.trigger(:_drb_retrieve_output_)
43
+
44
+
45
+ ### Send Input to DRB Server
46
+
47
+ Vedeu.trigger(:_drb_input_, data, type)
48
+
49
+ Triggering this event will send input to the running application as long as it has the DRb server running.
@@ -0,0 +1,109 @@
1
+ # @title Main Events
2
+
3
+ ## Main Events
4
+
5
+ ### Exiting Vedeu
6
+
7
+ `Vedeu.trigger(:_exit_)`
8
+
9
+ When triggered, Vedeu will trigger a `:cleanup` event which you can define (to save files, etc) and attempt to exit. Also available as: `Vedeu.exit`.
10
+
11
+
12
+ ### Pressing a key
13
+
14
+ `Vedeu.trigger(:_keypress_, key)`
15
+
16
+ Will cause the triggering of the `:key` event; which you should define to 'do things'. If the `escape` key is pressed, then `key` is triggered with the argument `:escape`, also an internal event `_mode_switch_` is triggered. Vedeu recognises most key presses and some 'extended' keypress (eg. Ctrl+J), a list of
17
+ the supported keypresses can be found here: {Vedeu::Input#specials} and {Vedeu::Input#f_keys}.
18
+
19
+
20
+ ### Sending a command
21
+
22
+ `Vedeu.trigger(:_command_)`
23
+
24
+ Will cause the triggering of the `:command` event; which you should define to 'do things'.
25
+
26
+
27
+ ### Logging to the log file
28
+
29
+ `Vedeu.trigger(:_log_, message)`
30
+
31
+ When triggered with a message will cause Vedeu to log the message if logging is enabled in the configuration.
32
+
33
+
34
+ ### Focussing an interface by name
35
+
36
+ `Vedeu.trigger(:_focus_by_name_, name)`
37
+
38
+ When triggered with an interface name will focus that interface and restore the cursor position and visibility.
39
+
40
+
41
+ ### Focussing the next visible interface
42
+
43
+ `Vedeu.trigger(:_focus_next_)`
44
+
45
+ When triggered will focus the next interface and restore the cursor position and visibility.
46
+
47
+
48
+ ### Focussing the previous visible interface
49
+
50
+ `Vedeu.trigger(:_focus_prev_)`
51
+
52
+ When triggered will focus the previous interface and restore the cursor position and visibility.
53
+
54
+
55
+ ### Clearing the terminal
56
+
57
+ `Vedeu.trigger(:_clear_)`
58
+
59
+ Clears the whole terminal space, or the named interface area to be cleared if given. Also available as: `Vedeu.clear_by_name(name)`.
60
+
61
+
62
+ ### Refreshing all interfaces
63
+
64
+ `Vedeu.trigger(:_refresh_)`
65
+
66
+ Will cause all interfaces to refresh. Note: Hidden interfaces will be still refreshed in memory but not shown.
67
+
68
+
69
+ ### Refresing an interface by name
70
+
71
+ `Vedeu.trigger(:_refresh_, name)`
72
+
73
+ Will cause the named interface to refresh. Note: Hidden interfaces will be still refreshed in memory but not shown.
74
+
75
+
76
+ ### Refreshing the cursor
77
+
78
+ `Vedeu.trigger(:_refresh_cursor_, name)`
79
+
80
+ Will cause the named cursor to refresh, or the cursor of the interface which is currently in focus.
81
+
82
+
83
+ ### Refreshing a group of interfaces
84
+
85
+ `Vedeu.trigger(:_refresh_group_, name)`
86
+
87
+ Will cause all interfaces in the named group to refresh.
88
+
89
+
90
+ ### Clearing a group
91
+
92
+ `Vedeu.trigger(:_clear_group_, name)`
93
+
94
+ Clears the spaces occupied by the interfaces belonging to the named group. Also available as: `Vedeu.clear_by_group(name)`
95
+
96
+
97
+ ### Maximising an interface
98
+
99
+ `Vedeu.trigger(:_maximise_, name)`
100
+
101
+ See also: {Vedeu::Geometry#maximise}
102
+
103
+
104
+ ### Unmaximising an interface
105
+
106
+ `Vedeu.trigger(:_unmaximise_, name)`
107
+
108
+ See also: {Vedeu::Geometry#unmaximise}
109
+
@@ -0,0 +1,72 @@
1
+ # @title Menu Events
2
+
3
+ ## Menu Events
4
+
5
+ ### Bottom Item
6
+
7
+ Vedeu.trigger(:_menu_bottom_, name)
8
+
9
+ Makes the last menu item the current menu item.
10
+
11
+
12
+ ### Current Item
13
+
14
+ Vedeu.trigger(:_menu_current_, name)
15
+
16
+ Returns the current menu item.
17
+
18
+
19
+ ### Deselect All
20
+
21
+ Vedeu.trigger(:_menu_deselect_, name)
22
+
23
+ Deselects all menu items.
24
+
25
+
26
+ ### All Items
27
+
28
+ Vedeu.trigger(:_menu_items_, name)
29
+
30
+ Returns all the menu items with respective `current` or `selected` boolean indicators.
31
+
32
+
33
+ ### Next Item
34
+
35
+ Vedeu.trigger(:_menu_next_, name)
36
+
37
+ Makes the next menu item the current menu item, until it reaches the last item.
38
+
39
+
40
+ ### Previous Item
41
+
42
+ Vedeu.trigger(:_menu_prev_, name)
43
+
44
+ Makes the previous menu item the current menu item, until it reaches the first item.
45
+
46
+
47
+ ### Selected Item
48
+
49
+ Vedeu.trigger(:_menu_selected_, name)
50
+
51
+ Returns the selected menu item.
52
+
53
+
54
+ ### Select Current Item
55
+
56
+ Vedeu.trigger(:_menu_select_, name)
57
+
58
+ Makes the current menu item also the selected menu item.
59
+
60
+
61
+ ### Top Item
62
+
63
+ Vedeu.trigger(:_menu_top_, name)
64
+
65
+ Makes the first menu item the current menu item.
66
+
67
+
68
+ ### View from ...
69
+
70
+ Vedeu.trigger(:_menu_view_, name)
71
+
72
+ Returns a subset of the menu items; starting at the current item to the last item.
@@ -0,0 +1,105 @@
1
+ # @title Movement Events
2
+
3
+ ## Movement Events
4
+
5
+ ### Moving the cursor
6
+
7
+ We can move the cursor by name using the events listed below:
8
+
9
+ #### Moving the cursor down
10
+
11
+ Vedeu.trigger(:_cursor_down_, name)
12
+
13
+ See also: {Vedeu::Move}
14
+
15
+
16
+ #### Moving the cursor left
17
+
18
+ Vedeu.trigger(:_cursor_left_, name)
19
+
20
+ See also: {Vedeu::Move}
21
+
22
+
23
+ #### Resetting the position of the cursor
24
+
25
+ Vedeu.trigger(:_cursor_origin_, name)
26
+ Vedeu.trigger(:_cursor_reset_, name)
27
+
28
+ This event moves the cursor to the interface origin; the top left corner of the named interface. See also: {Vedeu::Move}
29
+
30
+
31
+ #### Fetching the position of the cursor
32
+
33
+ Vedeu.trigger(:_cursor_position_, name)
34
+
35
+ When triggered will return the current position of the cursor. See also: {Vedeu::Move}
36
+
37
+
38
+
39
+ #### Moving the cursor to an arbitrary position
40
+
41
+ Vedeu.trigger(:_cursor_reposition_, name, y, x)
42
+
43
+ Moves the cursor to a relative position inside the interface. See also: {Vedeu::Move}
44
+
45
+
46
+ #### Moving the cursor right
47
+
48
+ Vedeu.trigger(:_cursor_right_, name)
49
+
50
+ See also: {Vedeu::Move}
51
+
52
+
53
+ #### Moving the cursor up
54
+
55
+ Vedeu.trigger(:_cursor_up_, name)
56
+
57
+ See also: {Vedeu::Move}
58
+
59
+
60
+ ### Moving the interface
61
+
62
+ We can move an interface by altering its geometry. This is performed using the events listed below:
63
+
64
+ ### Moving the interface down
65
+
66
+ Vedeu.trigger(:_geometry_down_, name)
67
+
68
+ See also: {Vedeu::Move}
69
+
70
+
71
+ ### Moving the interface left
72
+
73
+ Vedeu.trigger(:_geometry_left_, name)
74
+
75
+ See also: {Vedeu::Move}
76
+
77
+
78
+ ### Moving the interface right
79
+
80
+ Vedeu.trigger(:_geometry_right_, name)
81
+
82
+ See also: {Vedeu::Move}
83
+
84
+
85
+ ### Moving the interface up
86
+
87
+ Vedeu.trigger(:_geometry_up_, name)
88
+
89
+ See also: {Vedeu::Move}
90
+
91
+
92
+
93
+
94
+ ### Showing an interface
95
+
96
+ Vedeu.trigger(:_show_interface_, name)
97
+
98
+ See: {Vedeu::Buffer#show}
99
+
100
+
101
+ ### Toggling an interface
102
+
103
+ Vedeu.trigger(:_toggle_interface_, name)
104
+
105
+ See: {Vedeu::Buffer#toggle}
@@ -0,0 +1,61 @@
1
+ # @title Visibility Events
2
+
3
+ ## Visibility Events
4
+
5
+ ### Hiding the cursor
6
+
7
+ Vedeu.trigger(:_hide_cursor_, name)
8
+ Vedeu.trigger(:_cursor_hide_, name)
9
+
10
+ Hide the cursor of the named interface or if a name is not given, the interface currently in focus. Also available as:
11
+
12
+ Vedeu.hide_cursor(name)
13
+
14
+
15
+ ### Showing the cursor
16
+
17
+ Vedeu.trigger(:_show_cursor_, name)
18
+ Vedeu.trigger(:_cursor_show_, name)
19
+
20
+ Show the cursor of the named interface or if a name is not given, the interface currently in focus. Also available as:
21
+
22
+ Vedeu.show_cursor(name)
23
+
24
+
25
+ ### Hiding a group
26
+
27
+ Vedeu.trigger(:_hide_group_, group_name)
28
+
29
+ Will hide all of the interfaces belonging to the named group. Useful for
30
+ hiding part of that which is currently displaying in the terminal.
31
+
32
+ This may be rarely used, since the action of showing a group
33
+ will effectively clear the terminal and show the new group.
34
+
35
+
36
+ ### Showing a group
37
+
38
+ Vedeu.trigger(:_show_group_, group_name)
39
+
40
+ Will clear the terminal and then show all of the interfaces belonging to the named group.
41
+
42
+
43
+ ### Hiding an interface
44
+
45
+ Vedeu.trigger(:_hide_interface_, name)
46
+
47
+ See: {Vedeu::Buffer#hide}
48
+
49
+
50
+ ### Showing an interface
51
+
52
+ Vedeu.trigger(:_show_interface_, name)
53
+
54
+ See: {Vedeu::Buffer#show}
55
+
56
+
57
+ ### Toggling an interface
58
+
59
+ Vedeu.trigger(:_toggle_interface_, name)
60
+
61
+ See: {Vedeu::Buffer#toggle}
data/docs/events.md ADDED
@@ -0,0 +1,13 @@
1
+ # @title Vedeu Events
2
+
3
+ # Vedeu Events
4
+
5
+ {include:file:docs/events/main.md}
6
+
7
+ {include:file:docs/events/drb.md}
8
+
9
+ {include:file:docs/events/menus.md}
10
+
11
+ {include:file:docs/events/movement.md}
12
+
13
+ {include:file:docs/events/visibility.md}
data/lib/vedeu/api.rb CHANGED
@@ -1,11 +1,14 @@
1
1
  require 'vedeu/support/common'
2
2
  require 'vedeu/support/terminal'
3
3
  require 'vedeu/support/timer'
4
+ require 'vedeu/support/visibility'
4
5
  require 'vedeu/output/renderers/all'
5
6
  require 'vedeu/events/all'
6
7
  require 'vedeu/models/all'
7
8
  require 'vedeu/input/all'
8
9
  require 'vedeu/dsl/all'
10
+ require 'vedeu/application'
11
+ require 'vedeu/output/clear'
9
12
 
10
13
  module Vedeu
11
14
 
@@ -230,6 +233,26 @@ module Vedeu
230
233
  # @see Vedeu::Trigger.trigger
231
234
  def_delegators Vedeu::Trigger, :trigger
232
235
 
236
+ # @!method exit
237
+ # @see Vedeu::Application.stop
238
+ def_delegators Vedeu::Application, :exit
239
+
240
+ # @!method clear_by_name
241
+ # @see Vedeu::Clear.by_name
242
+ def_delegators Vedeu::Clear, :clear_by_name
243
+
244
+ # @!method clear_by_group
245
+ # @see Vedeu::Clear.by_group
246
+ def_delegators Vedeu::Clear, :clear_by_group
247
+
248
+ # @!method hide_cursor
249
+ # @see Vedeu::Visibility.hide_cursor
250
+ def_delegators Vedeu::Visibility, :hide_cursor
251
+
252
+ # @!method show_cursor
253
+ # @see Vedeu::Visibility.show_cursor
254
+ def_delegators Vedeu::Visibility, :show_cursor
255
+
233
256
  end # API
234
257
 
235
258
  extend API
@@ -22,6 +22,7 @@ module Vedeu
22
22
  #
23
23
  # @param name [Symbol] The name of the controller.
24
24
  # @return [void]
25
+ # @todo This event binding should be: `Vedeu.bind(:show_view, name)`.
25
26
  def controller_name(name)
26
27
  Vedeu.bind("show_#{name}".to_sym) { new }
27
28
  end
@@ -5,29 +5,34 @@ module Vedeu
5
5
  # @api private
6
6
  class Application
7
7
 
8
- # @param (see #initialize)
9
- def self.start(configuration)
10
- new(configuration).start
11
- end
8
+ class << self
12
9
 
13
- # @param (see #initialize)
14
- def self.restart(configuration)
15
- new(configuration).start
16
- end
10
+ # @param (see #initialize)
11
+ def start(configuration)
12
+ new(configuration).start
13
+ end
17
14
 
18
- # Stops the application!
19
- # - The `:_cleanup_` event is triggered, which in turn triggers the client
20
- # event `:cleanup`; the client application may treat this event as Vedeu
21
- # signalling that it is about to terminate. Client applications are
22
- # encouraged to use this event to close any open buffers, save files,
23
- # empty trash, etc.
24
- #
25
- # @return [void]
26
- def self.stop
27
- Vedeu.trigger(:_cleanup_)
15
+ # @param (see #initialize)
16
+ def restart(configuration)
17
+ new(configuration).start
18
+ end
28
19
 
29
- Vedeu::MainLoop.stop!
30
- end
20
+ # Stops the application!
21
+ # - The `:_cleanup_` event is triggered, which in turn triggers the client
22
+ # event `:cleanup`; the client application may treat this event as Vedeu
23
+ # signalling that it is about to terminate. Client applications are
24
+ # encouraged to use this event to close any open buffers, save files,
25
+ # empty trash, etc.
26
+ #
27
+ # @return [void]
28
+ def stop
29
+ Vedeu.trigger(:_cleanup_)
30
+
31
+ Vedeu::MainLoop.stop!
32
+ end
33
+ alias_method :exit, :stop
34
+
35
+ end # Eigenclass
31
36
 
32
37
  # :nocov:
33
38
  # Returns a new instance of Vedeu::Application.
@@ -14,6 +14,7 @@ module Vedeu
14
14
  # underscore, it's probably used by Vedeu internally.
15
15
  #
16
16
  # @api public
17
+ # {include:file:docs/events/main.md}
17
18
  module Bindings
18
19
 
19
20
  include Vedeu::Bindings::DRB
@@ -29,8 +30,7 @@ module Vedeu
29
30
  Vedeu.trigger(:cleanup)
30
31
  end
31
32
 
32
- # When triggered, Vedeu will trigger a `:cleanup` event which you can define
33
- # (to save files, etc) and attempt to exit.
33
+
34
34
  Vedeu.bind(:_exit_) { Vedeu::Application.stop }
35
35
 
36
36
  # Vedeu triggers this event when it is ready to enter the main loop. Client
@@ -39,18 +39,8 @@ module Vedeu
39
39
  # this event, the :_refresh_ event is also triggered automatically.
40
40
  Vedeu.bind(:_initialize_) { Vedeu.trigger(:_refresh_) }
41
41
 
42
- # Will cause the triggering of the `:key` event; which
43
- # you should define to 'do things'. If the `escape` key is pressed, then
44
- # `key` is triggered with the argument `:escape`, also an internal event
45
- # `_mode_switch_` is triggered.
46
42
  Vedeu.bind(:_keypress_) { |key| Vedeu.keypress(key) }
47
-
48
- # Will cause the triggering of the `:command` event; which you should define
49
- # to 'do things'.
50
43
  Vedeu.bind(:_command_) { |command| Vedeu.trigger(:command, command) }
51
-
52
- # When triggered with a message will cause Vedeu to log the message if
53
- # logging is enabled in the configuration.
54
44
  Vedeu.bind(:_log_) { |msg| Vedeu.log(type: :debug, message: msg) }
55
45
 
56
46
  # When triggered (after the user presses `escape`), Vedeu switches from a
@@ -63,49 +53,20 @@ module Vedeu
63
53
  # events. Please see those events for their behaviour.
64
54
  Vedeu.bind(:_resize_, delay: 0.15) { Vedeu.resize }
65
55
 
66
- # When triggered will return the current position of the cursor.
67
- Vedeu.bind(:_cursor_position_) do |name|
68
- Vedeu.cursors.by_name(name).position
69
- end
70
-
71
- # When triggered with an interface name will focus that interface and
72
- # restore the cursor position and visibility.
73
56
  Vedeu.bind(:_focus_by_name_) { |name| Vedeu.focus_by_name(name) }
74
-
75
- # When triggered will focus the next interface and restore the cursor
76
- # position and visibility.
77
57
  Vedeu.bind(:_focus_next_) { Vedeu.focus_next }
78
-
79
- # When triggered will focus the previous interface and restore the cursor
80
- # position and visibility.
81
58
  Vedeu.bind(:_focus_prev_) { Vedeu.focus_previous }
82
-
83
- # Clears the whole terminal space, or the named interface area to be cleared
84
- # if given.
85
59
  Vedeu.bind(:_clear_) { |name| Vedeu::Clear.by_name(name) }
86
60
 
87
- # Will cause all interfaces to refresh, or the named interface if given.
88
- #
89
- # @note
90
- # Hidden interfaces will be still refreshed in memory but not shown.
91
61
  Vedeu.bind(:_refresh_) do |name|
92
62
  name ? Vedeu::Refresh.by_name(name) : Vedeu::Refresh.all
93
63
  end
94
64
 
95
- # Will cause the named cursor to refresh, or the cursor of the interface
96
- # which is currently in focus.
97
65
  Vedeu.bind(:_refresh_cursor_) { |name| Vedeu::RefreshCursor.render(name) }
98
-
99
- # Will cause all interfaces in the named group to refresh.
100
66
  Vedeu.bind(:_refresh_group_) { |name| Vedeu::Refresh.by_group(name) }
101
-
102
- # Clears the spaces occupied by the interfaces belonging to the named group.
103
67
  Vedeu.bind(:_clear_group_) { |name| Vedeu::Clear.by_group(name) }
104
-
105
- # @see Vedeu::Geometry#maximise
106
68
  Vedeu.bind(:_maximise_) { |name| Vedeu.geometries.by_name(name).maximise }
107
69
 
108
- # @see Vedeu::Geometry#unmaximise
109
70
  Vedeu.bind(:_unmaximise_) do |name|
110
71
  Vedeu.geometries.by_name(name).unmaximise
111
72
  end