Class: Minder::SearchFrame
- Inherits:
-
Frame
- Object
- Frame
- Minder::SearchFrame
show all
- Defined in:
- lib/minder/cli/search_frame.rb
Instance Attribute Summary collapse
Attributes inherited from Frame
#height, #left, #lines, #min_height, #pomodoro_runner, #task_manager, #top, #width, #window
Instance Method Summary
collapse
Methods inherited from Frame
#build_window, #erase, #focus, #focused?, #handle_keypress, #has_cursor?, #hidden?, #hide, #listen, #move, #parse_template, #print_line, #refresh, #resize, #set_text, #unfocus, #unhide, #window_refresh
Constructor Details
Returns a new instance of SearchFrame.
7
8
9
10
|
# File 'lib/minder/cli/search_frame.rb', line 7
def initialize(*)
super
@search_string = ''
end
|
Instance Attribute Details
#search_string ⇒ Object
Returns the value of attribute search_string.
5
6
7
|
# File 'lib/minder/cli/search_frame.rb', line 5
def search_string
@search_string
end
|
Instance Method Details
#begin_search ⇒ Object
48
49
50
|
# File 'lib/minder/cli/search_frame.rb', line 48
def begin_search
@search_string = ''
end
|
#desired_height ⇒ Object
12
13
14
|
# File 'lib/minder/cli/search_frame.rb', line 12
def desired_height
3
end
|
#handle_char_keypress(key) ⇒ Object
26
27
28
29
30
31
|
# File 'lib/minder/cli/search_frame.rb', line 26
def handle_char_keypress(key)
return unless key
@search_string += key
refresh
end
|
#handle_non_char_keypress(key) ⇒ Object
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/minder/cli/search_frame.rb', line 33
def handle_non_char_keypress(key)
case key
when 27
changed
notify_observers(:escape_search)
when *Curses::Key::BACKSPACE, 127
@search_string.chop!
refresh
when 10
changed
notify_observers(:submit_search, { text: search_string })
refresh
end
end
|
#set_cursor_position ⇒ Object
22
23
24
|
# File 'lib/minder/cli/search_frame.rb', line 22
def set_cursor_position
window.setpos(1, search_string.length + 2)
end
|
#template ⇒ Object
16
17
18
19
20
|
# File 'lib/minder/cli/search_frame.rb', line 16
def template
<<-TEXT
/#{search_string}
TEXT
end
|