ppcurses 0.0.21 → 0.0.22

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
- ---
2
- SHA1:
3
- metadata.gz: 3e13a98dcd617b53a1631b1383fdfa318fb879cc
4
- data.tar.gz: 5766d143ec924f6bfc4acc65ce4cf2f0b47ed489
5
- SHA512:
6
- metadata.gz: fe412137a6a950c0d8743952a01699ce678bdf3ae85cb3876adb0df532c94b9d8835c5fda19ff24adc0d713d75376d298d87b812424e462857f3fe86e6f9f188
7
- data.tar.gz: e52e99c64f9cb9b31910c02fdd0d35054fcbdd2830c93c6a1f642036028b19363dc79cc6e802f6181f495b4d287dc27cb8ca4a111a7ad37c045f9cf94d94ac44
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0471020cb99e01db0442124a99b4964966202dbb
4
+ data.tar.gz: 19f200d50de12b5788e02989cec57db41fe4ce41
5
+ SHA512:
6
+ metadata.gz: f65b1cd40c6046404292bac909cbd1d8b08a56f11c86ed14f0bda8307626d2ee6691e0e6c703a07c7ec4e01619e376a4c2d5dcb713d0cea7fd7dad6fc3abf52d
7
+ data.tar.gz: 645855d467fbaf5ee24dad1653f008a30530edefeb7181a821578d14f7b6359990d08ab27dd37d267e577d1e447782ae47d2ee535d51309494dafde3ff7f0910
data/README.rdoc CHANGED
@@ -1,6 +1,6 @@
1
1
  = PPCurses
2
2
 
3
- Some convenience code to initialize curses and some rudimentary GUI classes. See the **test** directory for example usage programs.
3
+ Some convenience code to initialize curses and some rudimentary GUI classes. See the **test** directory for example programs.
4
4
 
5
5
  == Install
6
6
  [sudo] gem install 'ppcurses'
@@ -0,0 +1,8 @@
1
+ module PPCurses
2
+
3
+ ENTER = 10
4
+ ESCAPE = 27
5
+ SPACE_BAR = ' '
6
+
7
+
8
+ end
@@ -1,3 +1,6 @@
1
+ # Curses reference:
2
+ # http://www.ruby-doc.org/stdlib-1.9.3/libdoc/curses/rdoc/Curses.html
3
+
1
4
  require 'curses'
2
5
  include Curses
3
6
 
@@ -5,14 +8,16 @@ module PPCurses
5
8
 
6
9
  # Screen initializes the Curses screen
7
10
  # Pass a code block to the run method to start things
8
- class Screen
11
+ #
12
+ # noinspection RubyResolve
13
+ class Screen
9
14
 
10
15
  # Creates a curses session
11
16
  #
12
17
  # Example:
13
18
  # >> myScreen.run { displayMenu() }
14
19
  #
15
- def run( )
20
+ def run
16
21
  begin
17
22
  init_screen
18
23
  Curses.raw
@@ -9,7 +9,7 @@ module PPCurses
9
9
  end
10
10
 
11
11
  def x_padding
12
- self.win_padding()
12
+ self.win_padding
13
13
  end
14
14
 
15
15
  def win_padding
@@ -17,24 +17,24 @@ module PPCurses
17
17
  end
18
18
 
19
19
  def win_width
20
- Curses.cols - win_padding()
20
+ Curses.cols - win_padding
21
21
  end
22
22
 
23
23
  def win_height
24
- Curses.lines - win_padding()
24
+ Curses.lines - win_padding
25
25
  end
26
26
 
27
27
  def create_window
28
- @win = Window.new( win_height(), win_width(),
29
- win_padding()/2, win_padding()/2)
28
+ @win = Window.new( self.win_height, self.win_width,
29
+ self.win_padding/2, self.win_padding/2)
30
30
  @win.clear
31
31
  @win.box('|', '-')
32
- @win.setpos(@win.cury()+1, x_padding() )
32
+ @win.setpos(@win.cury+1, self.x_padding )
33
33
  end
34
34
 
35
35
  def show
36
36
  if @win.nil?
37
- self.create_window()
37
+ self.create_window
38
38
  end
39
39
 
40
40
  @win.refresh
@@ -21,7 +21,7 @@ module PPCurses
21
21
 
22
22
 
23
23
  def execute
24
- print_prompt()
24
+ print_prompt
25
25
  # Enables reading arrow keys in getch
26
26
  @win.keypad(true)
27
27
  while 1
@@ -33,7 +33,7 @@ module PPCurses
33
33
  if c == 10 then break end
34
34
 
35
35
  echo
36
- print_prompt()
36
+ print_prompt
37
37
  end
38
38
  echo
39
39
  end
@@ -37,7 +37,7 @@ module PPCurses
37
37
  proceed = GetBooleanAction.new('Proceed? ')
38
38
  proceed.set_parent_action(self)
39
39
  proceed.set_window(@win)
40
- proceed.execute()
40
+ proceed.execute
41
41
 
42
42
  did_insert = false
43
43
 
@@ -46,8 +46,8 @@ module PPCurses
46
46
  begin
47
47
  prep_statement = @db.prepare(@sql)
48
48
  prep_statement.bind_params(data_array)
49
- prep_statement.execute()
50
- prep_statement.close()
49
+ prep_statement.execute
50
+ prep_statement.close
51
51
  did_insert = true
52
52
  self.print_success_line('Execution successful')
53
53
  rescue SQLite3::Exception => e
@@ -56,7 +56,7 @@ module PPCurses
56
56
  ensure
57
57
  self.print_line('')
58
58
  self.print_line('< Press any key to continue > ')
59
- @win.getch()
59
+ @win.getch
60
60
  end
61
61
 
62
62
  end
@@ -14,21 +14,21 @@ module PPCurses
14
14
 
15
15
  def x_padding
16
16
  if @parent.nil?
17
- self.win_padding()
17
+ self.win_padding
18
18
  else
19
- @parent.win_padding()
19
+ @parent.win_padding
20
20
  end
21
21
  end
22
22
 
23
23
  def print_prompt
24
- @win.setpos(@win.cury(), x_padding())
24
+ @win.setpos(@win.cury, self.x_padding )
25
25
  @win.addstr(@prompt)
26
26
  end
27
27
 
28
28
  def execute
29
- print_prompt()
29
+ print_prompt
30
30
  echo
31
- @data = @win.getstr()
31
+ @data = @win.getstr
32
32
  noecho
33
33
  end
34
34
 
@@ -9,8 +9,8 @@ module PPCurses
9
9
  end
10
10
 
11
11
  def execute
12
- @menu.show()
13
- @menu.menu_selection()
12
+ @menu.show
13
+ @menu.menu_selection
14
14
  end
15
15
 
16
16
  end
@@ -1,19 +1,95 @@
1
- class BaseMenu
1
+ require 'curses'
2
2
 
3
- def set_sub_menu(menu)
4
- @sub_menu = menu
5
- end
3
+ module PPCurses
6
4
 
7
- def hide()
8
- @win.clear
9
- @win.refresh
5
+ #noinspection RubyResolve
6
+ class BaseMenu
10
7
 
11
- @sub_menu.hide() if @sub_menu
12
- end
8
+ attr_accessor :menu_items
9
+ attr_accessor :selection
10
+
11
+ attr_accessor :side_wall_char
12
+ attr_accessor :top_bot_wall_char
13
+
14
+ #
15
+ # Current base ruby is 1.9.2. action_items could be an optional parameter
16
+ # if the base was moved up to 2.0
17
+ #
18
+ def initialize(menu_items, action_items )
19
+ @selection=0
20
+ @max_menu_width = 0
21
+
22
+ @side_wall_char = '|'
23
+ @top_bot_wall_char = '-'
24
+
25
+ sample = menu_items[0]
26
+
27
+ case sample
28
+ when String
29
+ # Case 1: menu_items is a list of strings, with an associated action list
30
+ build_menu_items(menu_items, action_items)
31
+ else
32
+ # Case 2: Received a list of MenuItem, or objects that implement
33
+ # MenuItem protocol
34
+ @menu_items=menu_items
35
+ end
36
+
37
+ find_max_menu_width
38
+
39
+ create_window
40
+
41
+ end
42
+
43
+ def build_menu_items(menu_items, action_items)
44
+ @menu_items = []
45
+
46
+ (0...menu_items.length).each { |i|
47
+ menu_item = MenuItem.new(menu_items[i])
48
+ unless action_items.nil?
49
+ menu_item.action = action_items[i]
50
+ end
51
+
52
+ @menu_items.push(menu_item)
53
+ }
54
+ end
55
+
56
+ def find_max_menu_width
57
+ @max_menu_width = 0
58
+ (0...menu_items.length).each { |i|
59
+ display = menu_items[i].display_string
60
+ @max_menu_width = display.length if display.length > @max_menu_width
61
+ }
62
+ end
63
+
64
+ def create_window
65
+ w_height = @menu_items.length + 4
66
+ w_width = @max_menu_width + 4
67
+ @win = Window.new(w_height,w_width,(lines-w_height) / 2, (cols-w_width)/2)
68
+
69
+ @win.timeout=-1
70
+ # Enables reading arrow keys in getch
71
+ @win.keypad(true)
72
+ end
73
+
74
+ def set_sub_menu(menu)
75
+ @sub_menu = menu
76
+ end
77
+
78
+ def hide
79
+ @win.clear
80
+ @win.refresh
81
+
82
+ @sub_menu.hide if @sub_menu
83
+ end
84
+
85
+ def selected_menu_name
86
+ @menu_items[@selection].title
87
+ end
88
+
89
+ def close
90
+ @win.close
91
+ end
13
92
 
14
- def selected_menu_name()
15
- @items[@selection]
16
93
  end
17
94
 
18
95
  end
19
-
@@ -12,18 +12,18 @@ module PPCurses
12
12
  end
13
13
 
14
14
  def show
15
- @menu1.show()
16
- @menu2.show()
15
+ @menu1.show
16
+ @menu2.show
17
17
  end
18
18
 
19
19
 
20
20
  def menu_selection
21
- @menu1.menu_selection()
21
+ @menu1.menu_selection
22
22
  end
23
23
 
24
24
  def close
25
- @menu1.close()
26
- @menu2.close()
25
+ @menu1.close
26
+ @menu2.close
27
27
  end
28
28
 
29
29
  end
@@ -5,115 +5,87 @@ require_relative 'BaseMenu.rb'
5
5
  require 'curses'
6
6
 
7
7
  module PPCurses
8
- #noinspection RubyResolve
8
+ #noinspection RubyResolve
9
9
  class Menu < BaseMenu
10
10
 
11
- def initialize( menu_items, action_items )
12
- @items = Array.new
13
- @actions = Array.new
14
- @selection = 0
15
-
16
- max_menu_width = 0
17
-
18
- menu_items.each do |item|
19
- @items.push item
20
- if item.length > max_menu_width then max_menu_width = item.length end
21
- end
22
-
23
- unless action_items.nil?
24
- action_items.each do |item|
25
- @actions.push item
26
- end
27
- end
28
-
29
- w_height = @items.length + 4
30
- w_width = max_menu_width + 4
31
- @win = Window.new(w_height,w_width,(lines-w_height) / 2, (cols-w_width)/2)
32
-
33
- @win.timeout=-1
34
- # Enables reading arrow keys in getch
35
- @win.keypad(true)
36
- end
37
-
38
- def show
39
- @win.box('|', '-')
11
+ def show
12
+ @win.box(self.side_wall_char, self.top_bot_wall_char)
40
13
  y = 2
41
14
  x = 2
42
15
 
43
- for i in 0...@items.length
16
+ (0...@menu_items.length).each { |i|
44
17
  @win.setpos(y, x)
45
- if @selection == i then @win.attron(A_REVERSE) end
46
- @win.addstr(@items[i])
47
- if @selection == i then @win.attroff(A_REVERSE) end
18
+ @win.attron(A_REVERSE) if @selection == i
19
+ @win.addstr(@menu_items[i].display_string)
20
+ @win.attroff(A_REVERSE) if @selection == i
48
21
  y += 1
49
- end
22
+ }
50
23
 
51
24
  @win.refresh
52
25
 
53
- @sub_menu.show() if @sub_menu
54
- end
26
+ @sub_menu.show if @sub_menu
27
+ end
55
28
 
56
- def set_global_action(action)
57
- @global_action = action
58
- end
29
+ def set_global_action(action)
30
+ @global_action = action
31
+ end
59
32
 
60
- def menu_selection
33
+ def menu_selection
61
34
 
62
35
  while 1
63
36
  c = @win.getch
64
37
 
65
38
  not_processed = !self.handle_menu_selection(c)
66
39
 
67
- if c == 27 # ESCAPE
68
- self.hide()
40
+ if c == ESCAPE
41
+ self.hide
69
42
  break
70
43
  end
71
44
 
72
- if not_processed then
73
- @sub_menu.handle_menu_selection(c) if @sub_menu
74
- end
45
+ @sub_menu.handle_menu_selection(c) if not_processed && @sub_menu
75
46
 
76
47
  end
77
48
 
78
- end
79
-
80
- def handle_menu_selection(c)
81
- n_choices = @items.length
49
+ end
50
+
51
+ def handle_menu_selection(c)
52
+ n_choices = @menu_items.length
82
53
 
83
- if c == KEY_UP
84
- if @selection == 0 then @selection = n_choices-1 else @selection -= 1 end
85
- self.show()
86
- return true
87
- end
54
+ if c == KEY_UP
55
+ (@selection == 0) ? @selection = n_choices - 1 : @selection -= 1
56
+ self.show
57
+ return true
58
+ end
88
59
 
89
- if c == KEY_DOWN
90
- if @selection == n_choices-1 then @selection = 0 else @selection += 1 end
91
- self.show()
92
- return true
93
- end
60
+ if c == KEY_DOWN
61
+ (@selection == n_choices-1) ? @selection = 0 : @selection += 1
62
+ self.show
63
+ return true
64
+ end
94
65
 
95
- if c == 10 # ENTER
66
+ if c == ENTER
96
67
 
97
- unless @global_action.nil?
98
- @global_action.execute()
99
- end
68
+ unless @global_action.nil?
69
+ @global_action.execute
70
+ end
100
71
 
101
- unless @actions.nil? or @actions[@selection].nil?
102
- @actions[@selection].execute()
103
- end
72
+ unless @menu_items[@selection].action.nil?
73
+ @menu_items[@selection].action.execute
74
+ end
104
75
 
105
- self.show()
106
- return true
107
- end
76
+ self.show
77
+ return true
78
+ end
108
79
 
109
- false
110
- end
80
+ item_consumed = @menu_items[@selection].handle_key(c)
81
+ if item_consumed
82
+ self.show
83
+ end
111
84
 
85
+ item_consumed
86
+ end
112
87
 
113
- def close
114
- @win.close()
115
- end
116
88
 
117
- end
89
+ end
118
90
 
119
91
  end
@@ -5,6 +5,7 @@ module PPCurses
5
5
  #noinspection RubyResolve
6
6
  class RadioMenu < BaseMenu
7
7
 
8
+ # TODO - duplicate code from Menu ...
8
9
  def initialize( menu_items, action_items )
9
10
  @items = Array.new
10
11
  @actions = Array.new
@@ -58,7 +59,7 @@ module PPCurses
58
59
 
59
60
  self.handle_menu_selection(c)
60
61
 
61
- if c == 27 # ESCAPE
62
+ if c == ESCAPE
62
63
  @win.clear
63
64
  @win.refresh
64
65
  break
@@ -74,27 +75,24 @@ module PPCurses
74
75
 
75
76
  if c == KEY_RIGHT
76
77
  if @selection < n_choices - 1 then @selection += 1 else @selection = 0 end
77
- self.show()
78
+ self.show
78
79
  end
79
80
 
80
81
  if c == KEY_LEFT
81
82
  if @selection > 0 then @selection -= 1 else @selection = n_choices-1 end
82
- self.show()
83
+ self.show
83
84
  end
84
85
 
85
- if c == 10 then # ENTER
86
+ if c == ENTER then
86
87
  unless @actions.nil?
87
- @actions[@selection].execute()
88
- self.show()
88
+ @actions[@selection].execute
89
+ self.show
89
90
  end
90
91
  end
91
92
  end
92
93
 
93
94
 
94
95
 
95
- def close
96
- @win.close()
97
- end
98
96
 
99
97
  end
100
98
 
@@ -0,0 +1,15 @@
1
+
2
+
3
+ +---------------+
4
+ | BaseMenu | +----------------+
5
+ +---------------+ | MenuItem |
6
+ + + +----------------+
7
+ | |
8
+ +---------v--+ +v-------------+
9
+ | Menu | | RadioMenu |
10
+ +------------+ +--------------+
11
+
12
+
13
+ +---------------------+
14
+ |CompositeMenu |
15
+ +---------------------+
@@ -0,0 +1,56 @@
1
+ # -*- encoding : utf-8 -*-
2
+
3
+ module PPCurses
4
+
5
+ PP_MIXED_STATE = -1
6
+ PP_OFF_STATE = 0
7
+ PP_ON_STATE = 1
8
+
9
+ SELECTED_CHAR = '✓'
10
+
11
+ class MenuItem
12
+ attr_accessor :title
13
+ attr_accessor :action
14
+ attr_accessor :state
15
+ attr_accessor :selectable
16
+
17
+ def initialize( title )
18
+ @title = title
19
+ @state = PP_OFF_STATE
20
+ @selectable = false
21
+ end
22
+
23
+ def display_string
24
+ if @state == PP_OFF_STATE
25
+ return ' ' + @title
26
+ end
27
+
28
+ SELECTED_CHAR + ' ' + @title
29
+ end
30
+
31
+
32
+ def toggle_on_off_state
33
+ if @state == PP_OFF_STATE
34
+ @state = PP_ON_STATE
35
+ return
36
+ end
37
+
38
+ if @state == PP_ON_STATE
39
+ @state = PP_OFF_STATE
40
+ end
41
+
42
+ end
43
+
44
+ def handle_key(key)
45
+
46
+ if key == ' ' and @selectable
47
+ toggle_on_off_state
48
+ return true
49
+ end
50
+
51
+ false
52
+ end
53
+
54
+ end
55
+
56
+ end
data/lib/ppcurses.rb CHANGED
@@ -1,10 +1,12 @@
1
1
 
2
2
  module PPCurses
3
3
  require_relative 'ppcurses/Screen.rb'
4
+ require_relative 'ppcurses/Constants.rb'
4
5
  # Menus
5
6
  require_relative 'ppcurses/menu/Menu.rb'
6
7
  require_relative 'ppcurses/menu/CompositeMenu.rb'
7
8
  require_relative 'ppcurses/menu/RadioMenu.rb'
9
+ require_relative 'ppcurses/menu/menu_item.rb'
8
10
  # Actions
9
11
  require_relative 'ppcurses/actions/ShowMenuAction.rb'
10
12
  require_relative 'ppcurses/actions/GetStringAction.rb'
@@ -6,11 +6,11 @@ require_relative '../lib/ppcurses.rb'
6
6
  action = PPCurses::GetBooleanAction.new('Is the sky blue? ')
7
7
 
8
8
  def do_boolean_action(action)
9
- action.show()
10
- action.execute()
9
+ action.show
10
+ action.execute
11
11
  end
12
12
 
13
- screen = PPCurses::Screen.new()
13
+ screen = PPCurses::Screen.new
14
14
  screen.run { do_boolean_action(action) }
15
15
 
16
- puts 'Value input was: ' + action.data()
16
+ puts 'Value input was: ' + action.data
@@ -14,8 +14,8 @@ string_action = PPCurses::GetStringAction.new('What is your name? ')
14
14
  integer_action = PPCurses::GetIntegerAction.new('Input an integer? ')
15
15
 
16
16
  def do_action(action)
17
- action.show()
18
- action.execute()
17
+ action.show
18
+ action.execute
19
19
  end
20
20
 
21
21
 
@@ -29,8 +29,8 @@ SQL
29
29
  sql_action = PPCurses::InsertSQLDataAction.new( [string_action, integer_action],
30
30
  'Insert into testTable(name, val) values (?, ?)', db)
31
31
 
32
- screen = PPCurses::Screen.new()
33
- screen.run { doAction(sql_action) }
32
+ screen = PPCurses::Screen.new
33
+ screen.run { do_action(sql_action) }
34
34
 
35
35
 
36
36
  db.close
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require_relative '../../lib/ppcurses.rb'
5
+
6
+ def display_menu
7
+ menu = PPCurses::Menu.new( [ 'Press', '<ESCAPE>', 'to Quit'], nil )
8
+ menu.side_wall_char = '\\'
9
+ menu.top_bot_wall_char = '='
10
+
11
+ menu.show
12
+ menu.menu_selection
13
+ menu.close
14
+ end
15
+
16
+ screen = PPCurses::Screen.new
17
+ screen.run { display_menu }
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'rubygems'
4
- require_relative '../lib/ppcurses.rb'
4
+ require_relative '../../lib/ppcurses.rb'
5
5
 
6
6
  def display_menu
7
7
  center_menu = PPCurses::Menu.new( [ 'Press', '<ESCAPE>', 'to Quit'], nil )
@@ -10,11 +10,11 @@ def display_menu
10
10
  main_menu = PPCurses::CompositeMenu.new(center_menu, radio_menu)
11
11
 
12
12
 
13
- main_menu.show()
14
- main_menu.menu_selection()
15
- main_menu.close()
13
+ main_menu.show
14
+ main_menu.menu_selection
15
+ main_menu.close
16
16
  end
17
17
 
18
- screen = PPCurses::Screen.new()
19
- screen.run { display_menu() }
18
+ screen = PPCurses::Screen.new
19
+ screen.run { display_menu }
20
20
 
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require_relative '../../lib/ppcurses.rb'
5
+
6
+ def display_menu
7
+ main_menu = PPCurses::Menu.new( [ 'Press', '<ESCAPE>', 'to Quit'], nil )
8
+ main_menu.show
9
+ main_menu.menu_selection
10
+ main_menu.close
11
+ end
12
+
13
+ screen = PPCurses::Screen.new
14
+ screen.run { display_menu }
15
+
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'rubygems'
4
- require_relative '../lib/ppcurses.rb'
4
+ require_relative '../../lib/ppcurses.rb'
5
5
 
6
6
  def display_menu
7
7
  main_menu = PPCurses::Menu.new( [ 'Press', '<ESCAPE>', 'to Quit'], nil )
@@ -10,11 +10,11 @@ def display_menu
10
10
  menu_action = PPCurses::ShowMenuAction.new(inner_menu)
11
11
  main_menu.set_global_action(menu_action)
12
12
 
13
- main_menu.show()
14
- main_menu.menu_selection()
15
- main_menu.close()
13
+ main_menu.show
14
+ main_menu.menu_selection
15
+ main_menu.close
16
16
  end
17
17
 
18
- screen = PPCurses::Screen.new()
19
- screen.run { display_menu() }
18
+ screen = PPCurses::Screen.new
19
+ screen.run { display_menu }
20
20
 
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require_relative '../../lib/ppcurses.rb'
5
+
6
+ def display_menu
7
+
8
+ item1 = PPCurses::MenuItem.new('Item 1')
9
+ item1.selectable=true
10
+ item2 = PPCurses::MenuItem.new('Item 2')
11
+ item2.selectable=true
12
+ item2.state=PPCurses::PP_ON_STATE # Displays a checkbox next to the menu item
13
+ item3 = PPCurses::MenuItem.new('Item 3')
14
+ item3.selectable=true
15
+
16
+ main_menu = PPCurses::Menu.new( [ item1, item2, item3], nil )
17
+ main_menu.show
18
+ main_menu.menu_selection
19
+ main_menu.close
20
+ end
21
+
22
+ screen = PPCurses::Screen.new
23
+ screen.run { display_menu }
24
+
metadata CHANGED
@@ -1,26 +1,21 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: ppcurses
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.21
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.22
5
5
  platform: ruby
6
- authors:
6
+ authors:
7
7
  - Matthieu Cormier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
-
12
- date: 2013-09-08 00:00:00 Z
11
+ date: 2014-02-09 00:00:00.000000000 Z
13
12
  dependencies: []
14
-
15
13
  description: Curses abstraction
16
14
  email: mcormier@preenandprune.com
17
15
  executables: []
18
-
19
16
  extensions: []
20
-
21
17
  extra_rdoc_files: []
22
-
23
- files:
18
+ files:
24
19
  - lib/ppcurses/actions/BaseAction.rb
25
20
  - lib/ppcurses/actions/GetBooleanAction.rb
26
21
  - lib/ppcurses/actions/GetDataAction.rb
@@ -31,48 +26,53 @@ files:
31
26
  - lib/ppcurses/actions/NulAction.rb
32
27
  - lib/ppcurses/actions/PromptAction.rb
33
28
  - lib/ppcurses/actions/ShowMenuAction.rb
29
+ - lib/ppcurses/Constants.rb
34
30
  - lib/ppcurses/menu/BaseMenu.rb
31
+ - lib/ppcurses/menu/class_diagram.txt
35
32
  - lib/ppcurses/menu/CompositeMenu.rb
36
33
  - lib/ppcurses/menu/Menu.rb
34
+ - lib/ppcurses/menu/menu_item.rb
37
35
  - lib/ppcurses/menu/RadioMenu.rb
38
36
  - lib/ppcurses/Screen.rb
39
37
  - lib/ppcurses.rb
40
- - test/compositeMenu.rb
41
- - test/displayMenu.rb
42
38
  - test/getBooleanAction.rb
43
39
  - test/getDataAction.rb
44
40
  - test/getEnumStringAction.rb
45
41
  - test/getIntegerAction.rb
46
42
  - test/getStringAction.rb
47
43
  - test/insertSQLAction.rb
48
- - test/menuInMenu.rb
44
+ - test/menu/changeMenuBorder.rb
45
+ - test/menu/compositeMenu.rb
46
+ - test/menu/displayMenu.rb
47
+ - test/menu/menuInMenu.rb
48
+ - test/menu/menuWmenuItems.rb
49
49
  - LICENCE.txt
50
50
  - README.rdoc
51
51
  homepage: https://github.com/mcormier/ppcurses
52
- licenses:
52
+ licenses:
53
53
  - MIT
54
54
  metadata: {}
55
-
56
- post_install_message: "\n ( ) ( ) )\n ) ( ) ( (\n ( ) ( ) )\n _____________\n <_____________> ___\n | |/ _ \\\n | mmm | | |\n | coffee |_| |\n ___| |\\___/ \n / \\___________/ \\\n \\_____________________/\n\n"
55
+ post_install_message: "\n ( ) ( ) )\n ) ( ) ( (\n ( ) ( )
56
+ )\n _____________\n <_____________> ___\n | |/ _ \\\n |
57
+ \ mmm | | |\n | coffee |_| |\n ___| |\\___/ \n
58
+ / \\___________/ \\\n \\_____________________/\n\n"
57
59
  rdoc_options: []
58
-
59
- require_paths:
60
+ require_paths:
60
61
  - lib
61
- required_ruby_version: !ruby/object:Gem::Requirement
62
- requirements:
63
- - &id001
64
- - ">="
65
- - !ruby/object:Gem::Version
66
- version: "0"
67
- required_rubygems_version: !ruby/object:Gem::Requirement
68
- requirements:
69
- - *id001
62
+ required_ruby_version: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ required_rubygems_version: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ version: '0'
70
72
  requirements: []
71
-
72
73
  rubyforge_project:
73
74
  rubygems_version: 2.0.3
74
75
  signing_key:
75
76
  specification_version: 4
76
77
  summary: Convenience classes when using curses
77
78
  test_files: []
78
-
data/test/displayMenu.rb DELETED
@@ -1,15 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'rubygems'
4
- require_relative '../lib/ppcurses.rb'
5
-
6
- def display_menu
7
- main_menu = PPCurses::Menu.new( [ 'Press', '<ESCAPE>', 'to Quit'], nil )
8
- main_menu.show()
9
- main_menu.menu_selection()
10
- main_menu.close()
11
- end
12
-
13
- screen = PPCurses::Screen.new()
14
- screen.run { display_menu() }
15
-