rubytext 0.0.81 → 0.0.82
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.
- checksums.yaml +4 -4
- data/examples/slides +22 -7
- data/lib/menu.rb +7 -12
- data/lib/navigation.rb +7 -9
- data/lib/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 15520eecd3c1ca3278f62731bad2a032a0ac638b02463fea3b5e7af7f9a14ed8
|
|
4
|
+
data.tar.gz: 97afb48c6b17f679bebe60c458e9a8530d5ad23a2fd24413fa1fc4da682fbd89
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '09cc80674f2b607189d64739230e13c3f4ee4131447b2d402a69a971b022c294b4d6901187f4c1c089269b27cbe3a64c91dc16f767336fa6dfe1119e9f95049f'
|
|
7
|
+
data.tar.gz: fc868a9b1c97338be2f87d74b3a884175e9b4c58b6a1d1845c1bedb14b487e8b4e77e4bff4e500e1c318a621e7f8ad8d176ecea5347ee088a3e3b28302e60c2b
|
data/examples/slides
CHANGED
|
@@ -12,11 +12,26 @@ exit unless rc
|
|
|
12
12
|
# - use names instead of numbers?
|
|
13
13
|
# - convert showme into a method?
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
system("ruby showme.rb prog01.rb")
|
|
16
|
+
system("ruby showme.rb prog02.rb")
|
|
17
|
+
system("ruby showme.rb prog03.rb")
|
|
18
|
+
system("ruby showme.rb prog04.rb")
|
|
19
|
+
system("ruby showme.rb prog05.rb")
|
|
20
|
+
system("ruby showme.rb prog06.rb")
|
|
21
|
+
system("ruby showme.rb prog07.rb")
|
|
22
|
+
system("ruby showme.rb prog08.rb")
|
|
23
|
+
system("ruby showme.rb prog09.rb")
|
|
24
|
+
system("ruby showme.rb prog10.rb")
|
|
25
|
+
system("ruby showme.rb prog12.rb")
|
|
26
|
+
system("ruby showme.rb prog13.rb")
|
|
27
|
+
system("ruby showme.rb prog14.rb")
|
|
28
|
+
system("ruby showme.rb prog15.rb")
|
|
29
|
+
system("ruby showme.rb prog16.rb")
|
|
30
|
+
system("ruby showme.rb prog17.rb")
|
|
31
|
+
system("ruby showme.rb prog18.rb")
|
|
32
|
+
system("ruby showme.rb prog19.rb")
|
|
33
|
+
system("ruby showme.rb prog20.rb")
|
|
34
|
+
system("ruby showme.rb prog21.rb")
|
|
35
|
+
system("ruby showme.rb prog22.rb 11")
|
|
36
|
+
system("ruby showme.rb prog23.rb")
|
|
22
37
|
|
data/lib/menu.rb
CHANGED
|
@@ -2,7 +2,6 @@ module RubyText
|
|
|
2
2
|
|
|
3
3
|
def self.menu(win: STDSCR, r: 0, c: 0, items:, curr: 0,
|
|
4
4
|
fg: White, bg: Blue)
|
|
5
|
-
# save_flags
|
|
6
5
|
RubyText.hide_cursor
|
|
7
6
|
high = items.size + 2
|
|
8
7
|
wide = items.map(&:length).max + 4
|
|
@@ -29,16 +28,13 @@ module RubyText
|
|
|
29
28
|
when 27
|
|
30
29
|
win.restback(high, wide, r, c)
|
|
31
30
|
RubyText.show_cursor
|
|
32
|
-
# rest_flags
|
|
33
31
|
return [nil, nil]
|
|
34
32
|
when 10
|
|
35
33
|
win.restback(high, wide, r, c)
|
|
36
34
|
RubyText.show_cursor
|
|
37
|
-
# rest_flags
|
|
38
35
|
return [sel, items[sel]]
|
|
39
36
|
end
|
|
40
37
|
RubyText.show_cursor
|
|
41
|
-
# rest_flags
|
|
42
38
|
end
|
|
43
39
|
end
|
|
44
40
|
|
|
@@ -47,7 +43,6 @@ module RubyText
|
|
|
47
43
|
win2:, callback:, enter: nil, quit: "q")
|
|
48
44
|
high = rows
|
|
49
45
|
wide = cols
|
|
50
|
-
win.saveback(high, wide, r, c)
|
|
51
46
|
mwin = RubyText.window(high, wide, r, c, fg: fg, bg: bg)
|
|
52
47
|
handler = callback
|
|
53
48
|
X.stdscr.keypad(true)
|
|
@@ -56,29 +51,29 @@ module RubyText
|
|
|
56
51
|
rev = RubyText::Effects.new(:reverse)
|
|
57
52
|
sel = 0
|
|
58
53
|
max = items.size - 1
|
|
59
|
-
|
|
54
|
+
handler.call(sel, items[sel], win2)
|
|
60
55
|
loop do
|
|
61
56
|
mwin.home
|
|
62
57
|
items.each.with_index do |item, row|
|
|
63
|
-
mwin.
|
|
64
|
-
style = (sel == row) ?
|
|
65
|
-
mwin.
|
|
58
|
+
mwin.crlf
|
|
59
|
+
style = (sel == row) ? :reverse : :normal
|
|
60
|
+
mwin.print fx(" #{item}", style)
|
|
66
61
|
end
|
|
67
62
|
ch = getch
|
|
68
63
|
case ch
|
|
69
64
|
when X::KEY_UP
|
|
70
65
|
if sel > 0
|
|
71
66
|
sel -= 1
|
|
72
|
-
|
|
67
|
+
handler.call(sel, items[sel], win2)
|
|
73
68
|
end
|
|
74
69
|
when X::KEY_DOWN
|
|
75
70
|
if sel < max
|
|
76
71
|
sel += 1
|
|
77
|
-
|
|
72
|
+
handler.call(sel, items[sel], win2)
|
|
78
73
|
end
|
|
79
74
|
when 10 # Enter
|
|
80
75
|
if enter
|
|
81
|
-
del =
|
|
76
|
+
del = enter.call(sel, items[sel], win2)
|
|
82
77
|
if del
|
|
83
78
|
items -= [items[sel]]
|
|
84
79
|
raise
|
data/lib/navigation.rb
CHANGED
|
@@ -24,14 +24,17 @@ class RubyText::Window
|
|
|
24
24
|
[r, c]
|
|
25
25
|
end
|
|
26
26
|
|
|
27
|
+
def goto(r, c) # only accepts numbers!
|
|
28
|
+
@cwin.setpos(r, c)
|
|
29
|
+
end
|
|
30
|
+
|
|
27
31
|
def go(r0, c0)
|
|
28
32
|
r, c = coords(r0, c0)
|
|
29
|
-
debug("go: #{[r0, c0].inspect} => #{[r, c].inspect}")
|
|
30
33
|
save = self.rc
|
|
31
|
-
|
|
34
|
+
goto(r, c)
|
|
32
35
|
if block_given?
|
|
33
|
-
yield
|
|
34
|
-
|
|
36
|
+
yield
|
|
37
|
+
goto(*save)
|
|
35
38
|
end
|
|
36
39
|
end
|
|
37
40
|
|
|
@@ -89,11 +92,6 @@ class RubyText::Window
|
|
|
89
92
|
go 0, 0
|
|
90
93
|
end
|
|
91
94
|
|
|
92
|
-
# def crlf
|
|
93
|
-
# r, c = rc
|
|
94
|
-
# go r+1, 0
|
|
95
|
-
# end
|
|
96
|
-
|
|
97
95
|
def rc
|
|
98
96
|
[@cwin.cury, @cwin.curx]
|
|
99
97
|
end
|
data/lib/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rubytext
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.82
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Hal Fulton
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-12-
|
|
11
|
+
date: 2018-12-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: curses
|