rubytext 0.0.43 → 0.0.44

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 01d783de4f9ac0e7be3a29de63f0a4b6ff1fcfa16d8c07ecc2cc6df601323d1a
4
- data.tar.gz: ebcf7986f5e01d025937069c02715320a33ec5a9d53aa35a46623d5c536b3310
3
+ metadata.gz: 8da5161f346670f599c83421e2afce02a97086876fbdf503128b0028e277ff0a
4
+ data.tar.gz: f32bbf5a7e09479a2b06f02bc85c2918da76f44503ee827722c4d77687874efc
5
5
  SHA512:
6
- metadata.gz: bd98e89f8feef5d65705de7003c9eed1f36ace3ed28797326709ce7b3d6de4e032ff147b0c7539660c3ddf87c0d7b7aa387de1666b25c45b986bb1073d40949f
7
- data.tar.gz: a8c7d0fe7fd1c4174a2cb7f26039778e3dfbe0e55253e2117e115c6620b131efd82a1340e8aca18356640920f0a1418b31da76b4c5b89fcb4a06b6e220c47e06
6
+ metadata.gz: 3d1a385ecafbb8647617c71ae220221ad6c6f7245063d5cd81b5ca72c7a0524ee0fc909e854d082f31e5532c35bf2b2c49b532adeb1214283d9d0e4550529946
7
+ data.tar.gz: b695005b05ac1f2a32f5b349c78ea65582aa8d538adf974dd594e29323ad56a64508f5aee21b8ce2c3cb63c085d31997b575a3dbcb4357eb8fd87773c6975c46
data/examples/prog21.rb CHANGED
@@ -5,11 +5,11 @@ puts "Press any key to display the menu..."
5
5
  getch
6
6
 
7
7
  days = %w[Monday Tuesday Wednesday Thursday Friday]
8
- picked = RubyText.menu(c: 30, items: days)
8
+ num, day = RubyText.menu(c: 30, items: days)
9
9
 
10
10
  puts
11
- if picked.nil?
11
+ if day.nil?
12
12
  puts "You picked nothing!"
13
13
  else
14
- puts "You picked item #{picked} which is #{days[picked].inspect}"
14
+ puts "You picked item #{num} which is #{day.inspect}"
15
15
  end
data/lib/color.rb ADDED
@@ -0,0 +1,45 @@
1
+
2
+ def fb2cp(fg, bg)
3
+ fg ||= :blue
4
+ bg ||= :white
5
+ f2 = X.const_get("COLOR_#{fg.upcase}")
6
+ b2 = X.const_get("COLOR_#{bg.upcase}")
7
+ cp = $ColorPairs[[fg, bg]]
8
+ [f2, b2, cp]
9
+ end
10
+
11
+ module RubyText
12
+ Colors = [:black, :blue, :cyan, :green, :magenta,
13
+ :red, :white, :yellow]
14
+ $ColorPairs = {}
15
+ num = 0
16
+ Colors.each do |fsym|
17
+ Colors.each do |bsym|
18
+ fg = X.const_get("COLOR_#{fsym.upcase}")
19
+ bg = X.const_get("COLOR_#{bsym.upcase}")
20
+ X.init_pair(num+=1, fg, bg) # FIXME backwards?
21
+ $ColorPairs[[fsym, bsym]] = num
22
+ end
23
+ end
24
+ end
25
+
26
+ class RubyText::Window
27
+ def self.colors(win, fg, bg)
28
+ cfg, cbg, cp = fb2cp(fg, bg)
29
+ X.init_pair(cp, cfg, cbg)
30
+ win.color_set(cp|X::A_NORMAL)
31
+ end
32
+
33
+ def self.colors!(win, fg, bg)
34
+ colors(win, fg, bg)
35
+ num = win.maxx * win.maxy
36
+ win.setpos(0, 0)
37
+ win.addstr(' '*num)
38
+ win.setpos(0, 0)
39
+ win.refresh
40
+ end
41
+
42
+ def fg=(sym)
43
+ self.colors(@win, fg, @bg)
44
+ end
45
+ end
data/lib/menu.rb CHANGED
@@ -20,21 +20,21 @@ module RubyText
20
20
  STDSCR.refresh
21
21
  end
22
22
 
23
- def self.menu(r: 0, c: 0, items:)
23
+ def self.menu(r: 0, c: 0, items:, curr: 0)
24
24
  high = items.size + 2
25
25
  wide = items.map(&:length).max + 4
26
26
  saveback(high, wide, r, c)
27
- @mywin = RubyText.window(high, wide, r, c, true, fg: :white, bg: :blue)
27
+ win = RubyText.window(high, wide, r, c, true, fg: :white, bg: :blue)
28
28
  RubyText.set(:raw)
29
29
  X.stdscr.keypad(true)
30
30
  RubyText.hide_cursor
31
- sel = 0
31
+ sel = curr
32
32
  max = items.size - 1
33
33
  loop do
34
34
  items.each.with_index do |item, row|
35
- @mywin.go row, 0
35
+ win.go row, 0
36
36
  color = sel == row ? :yellow : :white
37
- @mywin.puts color, " #{item} "
37
+ win.puts color, " #{item} "
38
38
  end
39
39
  ch = getch
40
40
  case ch
@@ -44,10 +44,10 @@ module RubyText
44
44
  sel += 1 if sel < max
45
45
  when 27
46
46
  restback(high, wide, r, c)
47
- return nil
47
+ return [nil, nil]
48
48
  when 10
49
49
  restback(high, wide, r, c)
50
- return sel
50
+ return [sel, items[sel]]
51
51
  end
52
52
  end
53
53
  end
@@ -85,9 +85,6 @@ module RubyText
85
85
  handler.call(sel, items[sel])
86
86
  end
87
87
  when quit # parameter
88
- win2.clear
89
- win2.puts "About to quit..."
90
- sleep 1
91
88
  exit
92
89
  end
93
90
  end
data/lib/output.rb CHANGED
@@ -5,34 +5,7 @@ def debug(*args)
5
5
  $debug.puts *args
6
6
  end
7
7
 
8
- def fb2cp(fg, bg)
9
- fg ||= :blue
10
- bg ||= :white
11
- f2 = X.const_get("COLOR_#{fg.upcase}")
12
- b2 = X.const_get("COLOR_#{bg.upcase}")
13
- cp = $ColorPairs[[fg, bg]]
14
- [f2, b2, cp]
15
- end
16
-
17
- module RubyText
18
-
19
- Colors = [:black, :blue, :cyan, :green, :magenta, :red, :white, :yellow]
20
- $ColorPairs = {}
21
- num = 0
22
- Colors.each do |fsym|
23
- Colors.each do |bsym|
24
- fg = X.const_get("COLOR_#{fsym.upcase}")
25
- bg = X.const_get("COLOR_#{bsym.upcase}")
26
- X.init_pair(num+=1, fg, bg) # FIXME backwards?
27
- $ColorPairs[[fsym, bsym]] = num
28
- end
29
- end
30
-
31
- end
32
-
33
-
34
8
  class RubyText::Window
35
-
36
9
  def center(str)
37
10
  r, c = self.rc
38
11
  n = @win.maxx - str.length
data/lib/rubytext.rb CHANGED
@@ -10,6 +10,7 @@ require 'output' # RubyText, RubyText::Window, Kernel
10
10
  require 'keys' # RubyText::Keys
11
11
  require 'menu' # RubyText
12
12
  require 'window' # RubyText::Window
13
+ require 'colors' # RubyText, RubyText::Window
13
14
  require 'navigation' # RubyText::Window
14
15
  require 'settings' # RubyText
15
16
 
data/lib/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  module RubyText
3
- VERSION = "0.0.43"
3
+ VERSION = "0.0.44"
4
4
 
5
5
  Path = File.expand_path(File.join(File.dirname(__FILE__)))
6
6
  end
data/lib/window.rb CHANGED
@@ -27,20 +27,6 @@ class RubyText::Window
27
27
  @width, @height = @cols + 2, @rows + 2 if @border
28
28
  @win.refresh
29
29
  end
30
- def self.colors(win, fg, bg)
31
- cfg, cbg, cp = fb2cp(fg, bg)
32
- X.init_pair(cp, cfg, cbg)
33
- win.color_set(cp|X::A_NORMAL)
34
- end
35
-
36
- def self.colors!(win, fg, bg)
37
- colors(win, fg, bg)
38
- num = win.maxx * win.maxy
39
- win.setpos(0, 0)
40
- win.addstr(' '*num)
41
- win.setpos(0, 0)
42
- win.refresh
43
- end
44
30
 
45
31
  def self.main(fg: nil, bg: nil)
46
32
  @main_win = X.init_screen
@@ -78,14 +64,4 @@ class RubyText::Window
78
64
  end
79
65
  obj
80
66
  end
81
-
82
- def fg=(sym)
83
- self.colors(@win, fg, @bg)
84
- end
85
-
86
- def self.wocka
87
- STDSCR.puts "HELLO!!!!!!"
88
- sleep 5
89
- end
90
67
  end
91
-
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.43
4
+ version: 0.0.44
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-11-22 00:00:00.000000000 Z
11
+ date: 2018-11-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: curses
@@ -67,6 +67,7 @@ files:
67
67
  - examples/prog21.rb
68
68
  - examples/showme.rb
69
69
  - examples/slides
70
+ - lib/color.rb
70
71
  - lib/keys.rb
71
72
  - lib/menu.rb
72
73
  - lib/navigation.rb