reterm 0.4.2 → 0.5.0

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.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/designer/src/ComponentParams.rb +89 -42
  3. data/designer/src/ComponentsList.rb +26 -25
  4. data/designer/src/CreatedList.rb +9 -0
  5. data/designer/src/Designer.rb +23 -1
  6. data/designer/src/ToggleArea.rb +20 -3
  7. data/designer/src/about.rb +35 -0
  8. data/designer/src/component_factory.rb +18 -0
  9. data/designer/src/component_map.rb +7 -0
  10. data/designer/src/file_chooser.rb +25 -0
  11. data/designer/src/glade/Designer.glade +1 -19
  12. data/designer/src/images/{slist.png → scroll_list.png} +0 -0
  13. data/lib/reterm.rb +10 -1
  14. data/lib/reterm/color_pair.rb +166 -10
  15. data/lib/reterm/component.rb +89 -2
  16. data/lib/reterm/components.rb +16 -1
  17. data/lib/reterm/components/alphalist.rb +45 -0
  18. data/lib/reterm/components/ascii_text.rb +14 -1
  19. data/lib/reterm/components/asciimator.rb +1 -0
  20. data/lib/reterm/components/button.rb +35 -5
  21. data/lib/reterm/components/button_box.rb +108 -0
  22. data/lib/reterm/components/close_button.rb +22 -0
  23. data/lib/reterm/components/cmd_output.rb +69 -0
  24. data/lib/reterm/components/dial.rb +11 -2
  25. data/lib/reterm/components/dialog.rb +41 -1
  26. data/lib/reterm/components/drop_down_menu.rb +140 -0
  27. data/lib/reterm/components/entry.rb +42 -14
  28. data/lib/reterm/components/histogram.rb +55 -0
  29. data/lib/reterm/components/hslider.rb +9 -0
  30. data/lib/reterm/components/image.rb +9 -0
  31. data/lib/reterm/components/isometric.rb +38 -0
  32. data/lib/reterm/components/label.rb +20 -3
  33. data/lib/reterm/components/matrix.rb +9 -0
  34. data/lib/reterm/components/multi_line_entry.rb +54 -0
  35. data/lib/reterm/components/password_entry.rb +15 -0
  36. data/lib/reterm/components/radio.rb +10 -0
  37. data/lib/reterm/components/revealing_label.rb +126 -0
  38. data/lib/reterm/components/rocker.rb +21 -11
  39. data/lib/reterm/components/scroll_list.rb +96 -0
  40. data/lib/reterm/components/scrolling_area.rb +50 -0
  41. data/lib/reterm/components/select_list.rb +67 -0
  42. data/lib/reterm/components/splash.rb +85 -0
  43. data/lib/reterm/components/template.rb +12 -1
  44. data/lib/reterm/components/treeview.rb +1 -0
  45. data/lib/reterm/components/vslider.rb +11 -2
  46. data/lib/reterm/components/youtube.rb +20 -0
  47. data/lib/reterm/config.rb +22 -0
  48. data/lib/reterm/init.rb +131 -6
  49. data/lib/reterm/layout.rb +147 -11
  50. data/lib/reterm/layouts.rb +1 -0
  51. data/lib/reterm/layouts/grid.rb +69 -0
  52. data/lib/reterm/layouts/horizontal.rb +25 -4
  53. data/lib/reterm/layouts/vertical.rb +26 -5
  54. data/lib/reterm/loader.rb +2 -2
  55. data/lib/reterm/mixins/button_helpers.rb +7 -0
  56. data/lib/reterm/mixins/cdk_component.rb +66 -2
  57. data/lib/reterm/mixins/common_controls.rb +15 -0
  58. data/lib/reterm/mixins/common_keys.rb +20 -0
  59. data/lib/reterm/mixins/component_input.rb +62 -14
  60. data/lib/reterm/mixins/event_dispatcher.rb +2 -0
  61. data/lib/reterm/mixins/item_helpers.rb +8 -0
  62. data/lib/reterm/mixins/key_bindings.rb +23 -0
  63. data/lib/reterm/mixins/log_helpers.rb +13 -0
  64. data/lib/reterm/mixins/mouse_input.rb +58 -0
  65. data/lib/reterm/mixins/nav_controls.rb +33 -0
  66. data/lib/reterm/mixins/nav_input.rb +161 -69
  67. data/lib/reterm/terminal.rb +6 -2
  68. data/lib/reterm/util.rb +121 -0
  69. data/lib/reterm/version.rb +1 -1
  70. data/lib/reterm/window.rb +295 -29
  71. metadata +33 -17
  72. data/designer/src/images/orig/Check.png +0 -0
  73. data/designer/src/images/orig/ascii_text.png +0 -0
  74. data/designer/src/images/orig/button.png +0 -0
  75. data/designer/src/images/orig/dial.png +0 -0
  76. data/designer/src/images/orig/entry.png +0 -0
  77. data/designer/src/images/orig/hslider.png +0 -0
  78. data/designer/src/images/orig/label.png +0 -0
  79. data/designer/src/images/orig/matrix.png +0 -0
  80. data/designer/src/images/orig/radio.png +0 -0
  81. data/designer/src/images/orig/rocker.png +0 -0
  82. data/designer/src/images/orig/slist.png +0 -0
  83. data/designer/src/images/orig/vslider.png +0 -0
  84. data/lib/reterm/components/slist.rb +0 -32
  85. data/lib/reterm/menu.rb +0 -81
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reterm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mo Morsi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-14 00:00:00.000000000 Z
11
+ date: 2018-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-terminfo
@@ -54,9 +54,11 @@ files:
54
54
  - designer/src/CreatedList.rb
55
55
  - designer/src/Designer.rb
56
56
  - designer/src/ToggleArea.rb
57
+ - designer/src/about.rb
57
58
  - designer/src/common.rb
58
59
  - designer/src/component_factory.rb
59
60
  - designer/src/component_map.rb
61
+ - designer/src/file_chooser.rb
60
62
  - designer/src/glade/ComponentParams.glade
61
63
  - designer/src/glade/Designer.glade
62
64
  - designer/src/images/add.png
@@ -69,55 +71,69 @@ files:
69
71
  - designer/src/images/hslider.png
70
72
  - designer/src/images/label.png
71
73
  - designer/src/images/matrix.png
72
- - designer/src/images/orig/Check.png
73
- - designer/src/images/orig/ascii_text.png
74
- - designer/src/images/orig/button.png
75
- - designer/src/images/orig/dial.png
76
- - designer/src/images/orig/entry.png
77
- - designer/src/images/orig/hslider.png
78
- - designer/src/images/orig/label.png
79
- - designer/src/images/orig/matrix.png
80
- - designer/src/images/orig/radio.png
81
- - designer/src/images/orig/rocker.png
82
- - designer/src/images/orig/slist.png
83
- - designer/src/images/orig/vslider.png
84
74
  - designer/src/images/radio.png
85
75
  - designer/src/images/remove.png
86
76
  - designer/src/images/rocker.png
87
- - designer/src/images/slist.png
77
+ - designer/src/images/scroll_list.png
88
78
  - designer/src/images/vslider.png
89
79
  - lib/reterm.rb
90
80
  - lib/reterm/color_pair.rb
91
81
  - lib/reterm/component.rb
92
82
  - lib/reterm/components.rb
83
+ - lib/reterm/components/alphalist.rb
93
84
  - lib/reterm/components/ascii_text.rb
85
+ - lib/reterm/components/asciimator.rb
94
86
  - lib/reterm/components/button.rb
87
+ - lib/reterm/components/button_box.rb
88
+ - lib/reterm/components/close_button.rb
89
+ - lib/reterm/components/cmd_output.rb
95
90
  - lib/reterm/components/dial.rb
96
91
  - lib/reterm/components/dialog.rb
92
+ - lib/reterm/components/drop_down_menu.rb
97
93
  - lib/reterm/components/entry.rb
94
+ - lib/reterm/components/histogram.rb
98
95
  - lib/reterm/components/hslider.rb
99
96
  - lib/reterm/components/image.rb
97
+ - lib/reterm/components/isometric.rb
100
98
  - lib/reterm/components/label.rb
101
99
  - lib/reterm/components/matrix.rb
100
+ - lib/reterm/components/multi_line_entry.rb
101
+ - lib/reterm/components/password_entry.rb
102
102
  - lib/reterm/components/radio.rb
103
+ - lib/reterm/components/revealing_label.rb
103
104
  - lib/reterm/components/rocker.rb
104
- - lib/reterm/components/slist.rb
105
+ - lib/reterm/components/scroll_list.rb
106
+ - lib/reterm/components/scrolling_area.rb
107
+ - lib/reterm/components/select_list.rb
108
+ - lib/reterm/components/splash.rb
105
109
  - lib/reterm/components/template.rb
110
+ - lib/reterm/components/treeview.rb
106
111
  - lib/reterm/components/vslider.rb
112
+ - lib/reterm/components/youtube.rb
113
+ - lib/reterm/config.rb
107
114
  - lib/reterm/init.rb
108
115
  - lib/reterm/layout.rb
109
116
  - lib/reterm/layouts.rb
117
+ - lib/reterm/layouts/grid.rb
110
118
  - lib/reterm/layouts/horizontal.rb
111
119
  - lib/reterm/layouts/vertical.rb
112
120
  - lib/reterm/loader.rb
113
- - lib/reterm/menu.rb
121
+ - lib/reterm/mixins/button_helpers.rb
114
122
  - lib/reterm/mixins/cdk_component.rb
123
+ - lib/reterm/mixins/common_controls.rb
124
+ - lib/reterm/mixins/common_keys.rb
115
125
  - lib/reterm/mixins/component_input.rb
116
126
  - lib/reterm/mixins/event_dispatcher.rb
127
+ - lib/reterm/mixins/item_helpers.rb
128
+ - lib/reterm/mixins/key_bindings.rb
129
+ - lib/reterm/mixins/log_helpers.rb
130
+ - lib/reterm/mixins/mouse_input.rb
131
+ - lib/reterm/mixins/nav_controls.rb
117
132
  - lib/reterm/mixins/nav_input.rb
118
133
  - lib/reterm/panel.rb
119
134
  - lib/reterm/resize.rb
120
135
  - lib/reterm/terminal.rb
136
+ - lib/reterm/util.rb
121
137
  - lib/reterm/version.rb
122
138
  - lib/reterm/window.rb
123
139
  homepage: http://github.com/movitto/reterm
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,32 +0,0 @@
1
- module RETerm
2
- module Components
3
- # Scrolling List CDK Component
4
- class SList < Component
5
- include CDKComponent
6
-
7
- # Initialize the SList component
8
- #
9
- # @param [Hash] args list params
10
- # @option args [String] :title title of list
11
- # @option args [Array<String>] :items items to
12
- # populate list with
13
- def initialize(args={})
14
- @title = args[:title] || ""
15
- @items = args[:items] || []
16
- end
17
-
18
- private
19
-
20
- def _component
21
- CDK::SCROLL.new(window.cdk_scr, # cdkscreen,
22
- 2, 1, CDK::RIGHT, # xplace, yplace, scroll pos
23
- window.rows - 2, # widget height
24
- window.cols - 2, # widget width
25
- @title, @items, @items.size, # title and items
26
- false, # prefix numbers
27
- Ncurses::A_REVERSE, # highlight
28
- true, false) # box, shadow
29
- end
30
- end # SList
31
- end # module Components
32
- end # module RETerm
data/lib/reterm/menu.rb DELETED
@@ -1,81 +0,0 @@
1
- module RETerm
2
- # Graphical menu rendered on screen
3
- #
4
- # TODO: look into working this into std component/activation subsystem
5
- class Menu
6
- include EventDispatcher
7
-
8
- attr_accessor :window
9
-
10
- # Menus should be instantiated with a hash of label/value
11
- # pairs to assign to menu
12
- def initialize(items={})
13
- @items = items
14
- @menu = Ncurses::Menu.new_menu(items.collect { |k,v|
15
- Ncurses::Menu.new_item(k.to_s, v.to_s)
16
- })
17
-
18
- @menu.menu_opts_off(Ncurses::Menu::O_SHOWDESC)
19
- end
20
-
21
- # Return number of rows in menu
22
- def rows
23
- @items.size
24
- end
25
-
26
- # Return number of cols in menu
27
- def cols
28
- @cols ||= @items.keys.max { |k| k.size }.size + 3
29
- end
30
-
31
- # Attach menu to specified window
32
- def attach_to(win)
33
- @menu.set_menu_win(win.win)
34
- win.component = self
35
-
36
- @child_win = win.create_child :rows => rows,
37
- :cols => cols,
38
- :x => 1, :y => 1
39
- @menu.set_menu_sub(@child_win.win)
40
- @menu.post_menu
41
-
42
- self
43
- end
44
-
45
- # Destroy menu subsystem
46
- def detach
47
- @menu.unpost_menu
48
- end
49
-
50
- def finalize!
51
- end
52
-
53
- # Static map of menu drivers to internal representations.
54
- #
55
- # XXX defined here (as opposed to a const) since these
56
- # consts won't be available until after init_scr
57
- def driver_map
58
- @driver_map ||= {
59
- :left => Ncurses::Menu::REQ_LEFT_ITEM,
60
- :right => Ncurses::Menu::REQ_RIGHT_ITEM,
61
- :up => Ncurses::Menu::REQ_UP_ITEM,
62
- :down => Ncurses::Menu::REQ_DOWN_ITEM,
63
- :scr_up_line => Ncurses::Menu::REQ_SCR_ULINE,
64
- :scr_down_line => Ncurses::Menu::REQ_SCR_DLINE,
65
- :scr_down_page => Ncurses::Menu::REQ_SCR_DPAGE,
66
- :scr_up_page => Ncurses::Menu::REQ_SCR_UPAGE,
67
- :first => Ncurses::Menu::REQ_FIRST_ITEM,
68
- :last => Ncurses::Menu::REQ_LAST_ITEM,
69
- :next => Ncurses::Menu::REQ_NEXT_ITEM,
70
- :prev => Ncurses::Menu::REQ_PREV_ITEM,
71
- :toggle => Ncurses::Menu::REQ_TOGGLE_ITEM
72
- }
73
- end
74
-
75
- # Drive menu from input
76
- def drive(i)
77
- i = driver_map[i] if i.is_a?(Symbol)
78
- Ncurses::Menu.menu_driver(@menu, i)
79
- end
80
- end # class Menu
81
- end # module RETerm