Module: Vedeu::Bindings::System

Extended by:
System
Included in:
System
Defined in:
lib/vedeu/bindings/system.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.cleanup!Object (private)

See system



31
32
33
34
35
36
# File 'lib/vedeu/bindings/system.rb', line 31

def cleanup!
  Vedeu.bind(:_cleanup_) do
    Vedeu.trigger(:_drb_stop_)
    Vedeu.trigger(:cleanup)
  end
end

.clear!Object (private)

See system



39
40
41
42
43
44
45
46
47
48
49
# File 'lib/vedeu/bindings/system.rb', line 39

def clear!
  Vedeu.bind(:_clear_) do |name|
    if name
      Vedeu::Clear::NamedInterface.render(name)

    else
      Vedeu::Terminal.clear

    end
  end
end

.command!Object (private)

See system



52
53
54
# File 'lib/vedeu/bindings/system.rb', line 52

def command!
  Vedeu.bind(:_command_) { |command| Vedeu.trigger(:command, command) }
end

.editor!Object (private)

See system



57
58
59
60
61
# File 'lib/vedeu/bindings/system.rb', line 57

def editor!
  Vedeu.bind(:_editor_) do |key|
    Vedeu::Editor::Editor.keypress(name: Vedeu.focus, input: key)
  end
end

.exit!Object (private)

See system



64
65
66
# File 'lib/vedeu/bindings/system.rb', line 64

def exit!
  Vedeu.bind(:_exit_) { Vedeu::Runtime::Application.stop }
end

.initialize!Object (private)

See system



69
70
71
72
73
74
# File 'lib/vedeu/bindings/system.rb', line 69

def initialize!
  Vedeu.bind(:_initialize_) do
    Vedeu.ready!
    Vedeu.trigger(:_refresh_)
  end
end

.keypress!Object (private)

See system



77
78
79
# File 'lib/vedeu/bindings/system.rb', line 77

def keypress!
  Vedeu.bind(:_keypress_) { |key| Vedeu.keypress(key) }
end

.log!Object (private)

See system



82
83
84
# File 'lib/vedeu/bindings/system.rb', line 82

def log!
  Vedeu.bind(:_log_) { |msg| Vedeu.log(type: :debug, message: msg) }
end

.maximise!Object (private)

See system



87
88
89
90
91
# File 'lib/vedeu/bindings/system.rb', line 87

def maximise!
  Vedeu.bind(:_maximise_) do |name|
    Vedeu.geometries.by_name(name).maximise
  end
end

.mode_switch!Object (private)

See system



94
95
96
# File 'lib/vedeu/bindings/system.rb', line 94

def mode_switch!
  Vedeu.bind(:_mode_switch_) { fail Vedeu::Error::ModeSwitch }
end

.resize!Object (private)

See system



99
100
101
# File 'lib/vedeu/bindings/system.rb', line 99

def resize!
  Vedeu.bind(:_resize_, delay: 0.25) { Vedeu.resize }
end

.setup!TrueClass

Setup events relating to running Vedeu. This method is called by Vedeu.



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/vedeu/bindings/system.rb', line 13

def setup!
  cleanup!
  clear!
  command!
  editor!
  exit!
  initialize!
  keypress!
  log!
  maximise!
  mode_switch!
  resize!
  unmaximise!
end

.unmaximise!Object (private)

See system



104
105
106
107
108
# File 'lib/vedeu/bindings/system.rb', line 104

def unmaximise!
  Vedeu.bind(:_unmaximise_) do |name|
    Vedeu.geometries.by_name(name).unmaximise
  end
end

Instance Method Details

#cleanup!Object (private)

See system



31
32
33
34
35
36
# File 'lib/vedeu/bindings/system.rb', line 31

def cleanup!
  Vedeu.bind(:_cleanup_) do
    Vedeu.trigger(:_drb_stop_)
    Vedeu.trigger(:cleanup)
  end
end

#clear!Object (private)

See system



39
40
41
42
43
44
45
46
47
48
49
# File 'lib/vedeu/bindings/system.rb', line 39

def clear!
  Vedeu.bind(:_clear_) do |name|
    if name
      Vedeu::Clear::NamedInterface.render(name)

    else
      Vedeu::Terminal.clear

    end
  end
end

#command!Object (private)

See system



52
53
54
# File 'lib/vedeu/bindings/system.rb', line 52

def command!
  Vedeu.bind(:_command_) { |command| Vedeu.trigger(:command, command) }
end

#editor!Object (private)

See system



57
58
59
60
61
# File 'lib/vedeu/bindings/system.rb', line 57

def editor!
  Vedeu.bind(:_editor_) do |key|
    Vedeu::Editor::Editor.keypress(name: Vedeu.focus, input: key)
  end
end

#exit!Object (private)

See system



64
65
66
# File 'lib/vedeu/bindings/system.rb', line 64

def exit!
  Vedeu.bind(:_exit_) { Vedeu::Runtime::Application.stop }
end

#initialize!Object (private)

See system



69
70
71
72
73
74
# File 'lib/vedeu/bindings/system.rb', line 69

def initialize!
  Vedeu.bind(:_initialize_) do
    Vedeu.ready!
    Vedeu.trigger(:_refresh_)
  end
end

#keypress!Object (private)

See system



77
78
79
# File 'lib/vedeu/bindings/system.rb', line 77

def keypress!
  Vedeu.bind(:_keypress_) { |key| Vedeu.keypress(key) }
end

#log!Object (private)

See system



82
83
84
# File 'lib/vedeu/bindings/system.rb', line 82

def log!
  Vedeu.bind(:_log_) { |msg| Vedeu.log(type: :debug, message: msg) }
end

#maximise!Object (private)

See system



87
88
89
90
91
# File 'lib/vedeu/bindings/system.rb', line 87

def maximise!
  Vedeu.bind(:_maximise_) do |name|
    Vedeu.geometries.by_name(name).maximise
  end
end

#mode_switch!Object (private)

See system



94
95
96
# File 'lib/vedeu/bindings/system.rb', line 94

def mode_switch!
  Vedeu.bind(:_mode_switch_) { fail Vedeu::Error::ModeSwitch }
end

#resize!Object (private)

See system



99
100
101
# File 'lib/vedeu/bindings/system.rb', line 99

def resize!
  Vedeu.bind(:_resize_, delay: 0.25) { Vedeu.resize }
end

#setup!TrueClass

Setup events relating to running Vedeu. This method is called by Vedeu.



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/vedeu/bindings/system.rb', line 13

def setup!
  cleanup!
  clear!
  command!
  editor!
  exit!
  initialize!
  keypress!
  log!
  maximise!
  mode_switch!
  resize!
  unmaximise!
end

#unmaximise!Object (private)

See system



104
105
106
107
108
# File 'lib/vedeu/bindings/system.rb', line 104

def unmaximise!
  Vedeu.bind(:_unmaximise_) do |name|
    Vedeu.geometries.by_name(name).unmaximise
  end
end