rubytext 0.0.43 → 0.0.44

Sign up to get free protection for your applications and to get access to all the features.
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