Module: Cryptum::Event::Scroll

Defined in:
lib/cryptum/event/scroll.rb

Overview

This Module is used to Scroll through Order Plan and Order History Window Panes

Class Method Summary collapse

Class Method Details

.bottom(opts = {}) ⇒ Object

Supported Method Parameters

Cryptum::Event::Scroll.bottom( )



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
# File 'lib/cryptum/event/scroll.rb', line 156

public_class_method def self.bottom(opts = {})
  terminal_win = opts[:terminal_win]
  event_history = opts[:event_history]

  terminal_win.key_press_event.key_ansi = false
  terminal_win.key_press_event.key_esc = false
  terminal_win.key_press_event.key_end = false

  order_book = event_history.order_book

  if event_history.order_plan_win_active
    order_plan_length = order_book[:order_plan].length
    last_row = order_plan_length - 1
    event_history.order_plan_max_records_available_to_display = last_row if last_row < event_history.order_plan_max_rows_to_display

    event_history.order_plan_row_to_select = event_history.order_plan_max_records_available_to_display
    event_history.order_plan_index_offset = order_plan_length - event_history.order_plan_max_records_available_to_display
  end

  if event_history.order_execute_win_active
    order_history_meta_length = order_book[:order_history_meta].length
    last_row = order_history_meta_length - 1
    event_history.order_execute_max_records_available_to_display = last_row if last_row < event_history.order_execute_max_rows_to_display

    event_history.order_execute_row_to_select = event_history.order_execute_max_records_available_to_display
    event_history.order_execute_index_offset = order_history_meta_length - event_history.order_execute_max_records_available_to_display
  end
rescue Interrupt, StandardError => e
  Cryptum::Log.append(level: :error, msg: e, which_self: self, event_history: event_history)
end

.down(opts = {}) ⇒ Object

Supported Method Parameters

Cryptum::Event::Scroll.down( )



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/cryptum/event/scroll.rb', line 40

public_class_method def self.down(opts = {})
  terminal_win = opts[:terminal_win]
  event_history = opts[:event_history]

  terminal_win.key_press_event.key_ansi = false
  terminal_win.key_press_event.key_esc = false
  terminal_win.key_press_event.key_down_arrow = false

  order_book = event_history.order_book

  if event_history.order_plan_win_active
    order_plan_length = order_book[:order_plan].length
    last_row = order_plan_length - 1
    event_history.order_plan_max_records_available_to_display = last_row if last_row < event_history.order_plan_max_rows_to_display

    event_history.order_plan_row_to_select += 1
    event_history.order_plan_index_offset += 1 if event_history.order_plan_row_to_select > event_history.order_plan_max_records_available_to_display
    event_history.order_plan_row_to_select = event_history.order_plan_max_records_available_to_display if event_history.order_plan_row_to_select > event_history.order_plan_max_records_available_to_display
  end

  if event_history.order_execute_win_active
    order_history_meta_length = order_book[:order_history_meta].length
    last_row = order_history_meta_length - 1
    event_history.order_execute_max_records_available_to_display = last_row if last_row < event_history.order_execute_max_rows_to_display

    event_history.order_execute_row_to_select += 1
    event_history.order_execute_index_offset += 1 if event_history.order_execute_row_to_select > event_history.order_execute_max_records_available_to_display
    event_history.order_execute_row_to_select = event_history.order_execute_max_records_available_to_display if event_history.order_execute_row_to_select > event_history.order_execute_max_records_available_to_display
  end
rescue Interrupt, StandardError => e
  Cryptum::Log.append(level: :error, msg: e, which_self: self, event_history: event_history)
end

.helpObject

Display Usage for this Module



188
189
190
191
192
193
194
195
196
197
# File 'lib/cryptum/event/scroll.rb', line 188

public_class_method def self.help
  puts "USAGE:
    #{self}.up()
    #{self}.down()
    #{self}.page_up()
    #{self}.page_down()
    #{self}.top()
    #{self}.bottom()
  "
end

.page_down(opts = {}) ⇒ Object

Supported Method Parameters

Cryptum::Event::Scroll.page_down( )



104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# File 'lib/cryptum/event/scroll.rb', line 104

public_class_method def self.page_down(opts = {})
  terminal_win = opts[:terminal_win]
  event_history = opts[:event_history]

  terminal_win.key_press_event.key_ansi = false
  terminal_win.key_press_event.key_esc = false
  terminal_win.key_press_event.key_page_down = false

  order_book = event_history.order_book

  if event_history.order_plan_win_active
    order_plan_length = order_book[:order_plan].length
    event_history.order_plan_row_to_select = 0
    event_history.order_plan_index_offset += event_history.order_plan_max_rows_to_display + 1 unless event_history.order_plan_index_offset > order_plan_length
  end

  if event_history.order_execute_win_active
    order_history_meta_length = order_book[:order_history_meta].length
    event_history.order_execute_row_to_select = 0
    event_history.order_execute_index_offset += event_history.order_execute_max_rows_to_display + 1 unless event_history.order_execute_index_offset > order_history_meta_length
  end
rescue Interrupt, StandardError => e
  Cryptum::Log.append(level: :error, msg: e, which_self: self, event_history: event_history)
end

.page_up(opts = {}) ⇒ Object

Supported Method Parameters

Cryptum::Event::Scroll.page_up( )



76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# File 'lib/cryptum/event/scroll.rb', line 76

public_class_method def self.page_up(opts = {})
  terminal_win = opts[:terminal_win]
  event_history = opts[:event_history]

  terminal_win.key_press_event.key_ansi = false
  terminal_win.key_press_event.key_esc = false
  terminal_win.key_press_event.key_page_up = false

  if event_history.order_plan_win_active
    event_history.order_plan_row_to_select = 0
    event_history.order_plan_index_offset -= event_history.order_plan_max_rows_to_display + 1
    event_history.order_plan_index_offset = 0 if event_history.order_plan_index_offset.negative?
    event_history.order_plan_row_to_select = 0 if event_history.order_plan_row_to_select.negative?
  end

  if event_history.order_execute_win_active
    event_history.order_execute_row_to_select = 0
    event_history.order_execute_index_offset -= event_history.order_execute_max_rows_to_display + 1
    event_history.order_execute_index_offset = 0 if event_history.order_execute_index_offset.negative?
    event_history.order_execute_row_to_select = 0 if event_history.order_execute_row_to_select.negative?
  end
rescue Interrupt, StandardError => e
  Cryptum::Log.append(level: :error, msg: e, which_self: self, event_history: event_history)
end

.top(opts = {}) ⇒ Object

Supported Method Parameters

Cryptum::Event::Scroll.top( )



132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# File 'lib/cryptum/event/scroll.rb', line 132

public_class_method def self.top(opts = {})
  terminal_win = opts[:terminal_win]
  event_history = opts[:event_history]

  terminal_win.key_press_event.key_ansi = false
  terminal_win.key_press_event.key_esc = false
  terminal_win.key_press_event.key_home = false

  if event_history.order_plan_win_active
    event_history.order_plan_row_to_select = 0
    event_history.order_plan_index_offset = 0
  end

  if event_history.order_execute_win_active
    event_history.order_execute_row_to_select = 0
    event_history.order_execute_index_offset = 0
  end
rescue Interrupt, StandardError => e
  Cryptum::Log.append(level: :error, msg: e, which_self: self, event_history: event_history)
end

.up(opts = {}) ⇒ Object

Supported Method Parameters

Cryptum::Event::Scroll.up( )



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/cryptum/event/scroll.rb', line 12

public_class_method def self.up(opts = {})
  terminal_win = opts[:terminal_win]
  event_history = opts[:event_history]

  terminal_win.key_press_event.key_ansi = false
  terminal_win.key_press_event.key_esc = false
  terminal_win.key_press_event.key_up_arrow = false

  if event_history.order_plan_win_active
    event_history.order_plan_row_to_select -= 1
    event_history.order_plan_index_offset -= 1 if event_history.order_plan_row_to_select.negative?
    event_history.order_plan_index_offset = 0 if event_history.order_plan_index_offset.negative?
    event_history.order_plan_row_to_select = 0 if event_history.order_plan_row_to_select.negative?
  end

  if event_history.order_execute_win_active
    event_history.order_execute_row_to_select -= 1
    event_history.order_execute_index_offset -= 1 if event_history.order_execute_row_to_select.negative?
    event_history.order_execute_index_offset = 0 if event_history.order_execute_index_offset.negative?
    event_history.order_execute_row_to_select = 0 if event_history.order_execute_row_to_select.negative?
  end
rescue Interrupt, StandardError => e
  Cryptum::Log.append(level: :error, msg: e, which_self: self, event_history: event_history)
end