ffi-efl 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (209) hide show
  1. data/Changelog +10 -2
  2. data/README.rdoc +41 -30
  3. data/lib/efl.rb +88 -14
  4. data/lib/efl/ecore.rb +1 -0
  5. data/lib/efl/ecore_evas.rb +4 -2
  6. data/lib/efl/ecore_getopt.rb +12 -11
  7. data/lib/efl/ecore_input.rb +1 -0
  8. data/lib/efl/eet.rb +1 -0
  9. data/lib/efl/eina.rb +1 -0
  10. data/lib/efl/eina_hash.rb +1 -0
  11. data/lib/efl/eina_list.rb +1 -0
  12. data/lib/efl/eina_log.rb +4 -0
  13. data/lib/efl/elementary.rb +0 -662
  14. data/lib/efl/elementary_all.rb +82 -0
  15. data/lib/efl/elm/elm_actionslider.rb +22 -0
  16. data/lib/efl/elm/elm_anchorblock.rb +22 -0
  17. data/lib/efl/elm/elm_anchorview.rb +22 -0
  18. data/lib/efl/elm/elm_bg.rb +37 -0
  19. data/lib/efl/elm/elm_box.rb +42 -0
  20. data/lib/efl/elm/elm_bubble.rb +22 -0
  21. data/lib/efl/elm/elm_button.rb +22 -0
  22. data/lib/efl/elm/elm_calendar.rb +22 -0
  23. data/lib/efl/elm/elm_check.rb +22 -0
  24. data/lib/efl/elm/elm_clock.rb +22 -0
  25. data/lib/efl/elm/elm_cnp.rb +30 -0
  26. data/lib/efl/elm/elm_colorselector.rb +22 -0
  27. data/lib/efl/elm/elm_conform.rb +26 -0
  28. data/lib/efl/elm/elm_ctxpopup.rb +27 -0
  29. data/lib/efl/elm/elm_cursor.rb +20 -0
  30. data/lib/efl/elm/elm_debug.rb +25 -0
  31. data/lib/efl/elm/elm_diskselector.rb +51 -0
  32. data/lib/efl/elm/elm_entry.rb +22 -0
  33. data/lib/efl/elm/elm_factory.rb +22 -0
  34. data/lib/efl/elm/elm_fileselector.rb +22 -0
  35. data/lib/efl/elm/elm_fileselector_button.rb +22 -0
  36. data/lib/efl/elm/elm_fileselector_entry.rb +22 -0
  37. data/lib/efl/elm/elm_flip.rb +22 -0
  38. data/lib/efl/elm/elm_flipselector.rb +56 -0
  39. data/lib/efl/elm/elm_focus.rb +74 -0
  40. data/lib/efl/elm/elm_frame.rb +22 -0
  41. data/lib/efl/elm/elm_gengrid.rb +68 -0
  42. data/lib/efl/elm/elm_genlist.rb +79 -0
  43. data/lib/efl/elm/elm_gesture_layer.rb +22 -0
  44. data/lib/efl/elm/elm_glview.rb +22 -0
  45. data/lib/efl/elm/elm_grid.rb +22 -0
  46. data/lib/efl/elm/elm_hover.rb +22 -0
  47. data/lib/efl/elm/elm_hoversel.rb +27 -0
  48. data/lib/efl/elm/elm_icon.rb +26 -0
  49. data/lib/efl/elm/elm_image.rb +22 -0
  50. data/lib/efl/elm/elm_index.rb +31 -0
  51. data/lib/efl/elm/elm_label.rb +22 -0
  52. data/lib/efl/elm/elm_layout.rb +26 -0
  53. data/lib/efl/elm/elm_list.rb +55 -0
  54. data/lib/efl/elm/elm_map.rb +22 -0
  55. data/lib/efl/elm/elm_mapbuf.rb +22 -0
  56. data/lib/efl/elm/elm_menu.rb +55 -0
  57. data/lib/efl/elm/elm_mirroring.rb +36 -0
  58. data/lib/efl/elm/elm_multibuttonentry.rb +58 -0
  59. data/lib/efl/elm/elm_naviframe.rb +42 -0
  60. data/lib/efl/elm/elm_notify.rb +22 -0
  61. data/lib/efl/elm/elm_object.rb +68 -0
  62. data/lib/efl/elm/elm_object_item.rb +20 -0
  63. data/lib/efl/elm/elm_panel.rb +22 -0
  64. data/lib/efl/elm/elm_panes.rb +22 -0
  65. data/lib/efl/elm/elm_photo.rb +22 -0
  66. data/lib/efl/elm/elm_photocam.rb +22 -0
  67. data/lib/efl/elm/elm_plug.rb +22 -0
  68. data/lib/efl/elm/elm_progressbar.rb +22 -0
  69. data/lib/efl/elm/elm_radio.rb +22 -0
  70. data/lib/efl/elm/elm_route.rb +22 -0
  71. data/lib/efl/elm/elm_scale.rb +28 -0
  72. data/lib/efl/elm/elm_scroll.rb +50 -0
  73. data/lib/efl/elm/elm_scroller.rb +22 -0
  74. data/lib/efl/elm/elm_segment_control.rb +39 -0
  75. data/lib/efl/elm/elm_separator.rb +22 -0
  76. data/lib/efl/elm/elm_slider.rb +22 -0
  77. data/lib/efl/elm/elm_slideshow.rb +41 -0
  78. data/lib/efl/elm/elm_spinner.rb +22 -0
  79. data/lib/efl/elm/elm_store.rb +43 -0
  80. data/lib/efl/elm/elm_table.rb +22 -0
  81. data/lib/efl/elm/elm_theme.rb +42 -0
  82. data/lib/efl/elm/elm_thumb.rb +22 -0
  83. data/lib/efl/elm/elm_toolbar.rb +63 -0
  84. data/lib/efl/elm/elm_tooltip.rb +20 -0
  85. data/lib/efl/elm/elm_transit.rb +78 -0
  86. data/lib/efl/elm/elm_video.rb +30 -0
  87. data/lib/efl/elm/elm_web.rb +22 -0
  88. data/lib/efl/elm/elm_win.rb +33 -0
  89. data/lib/efl/evas.rb +8 -7
  90. data/lib/efl/native.rb +45 -11
  91. data/lib/efl/native/ecore.rb +188 -210
  92. data/lib/efl/native/ecore_evas.rb +260 -207
  93. data/lib/efl/native/ecore_getopt.rb +17 -24
  94. data/lib/efl/native/ecore_input.rb +7 -11
  95. data/lib/efl/native/edje.rb +250 -202
  96. data/lib/efl/native/eet.rb +154 -155
  97. data/lib/efl/native/eina.rb +7 -13
  98. data/lib/efl/native/eina_hash.rb +41 -47
  99. data/lib/efl/native/eina_list.rb +39 -48
  100. data/lib/efl/native/eina_log.rb +21 -23
  101. data/lib/efl/native/eina_types.rb +8 -14
  102. data/lib/efl/native/eina_xattr.rb +21 -18
  103. data/lib/efl/native/elementary.rb +9 -3381
  104. data/lib/efl/native/elm/elm_actionslider.rb +54 -0
  105. data/lib/efl/native/elm/elm_anchorblock.rb +55 -0
  106. data/lib/efl/native/elm/elm_anchorview.rb +59 -0
  107. data/lib/efl/native/elm/elm_app.rb +53 -0
  108. data/lib/efl/native/elm/elm_bg.rb +53 -0
  109. data/lib/efl/native/elm/elm_box.rb +81 -0
  110. data/lib/efl/native/elm/elm_bubble.rb +44 -0
  111. data/lib/efl/native/elm/elm_button.rb +47 -0
  112. data/lib/efl/native/elm/elm_cache.rb +59 -0
  113. data/lib/efl/native/elm/elm_calendar.rb +76 -0
  114. data/lib/efl/native/elm/elm_check.rb +41 -0
  115. data/lib/efl/native/elm/elm_clock.rb +64 -0
  116. data/lib/efl/native/elm/elm_cnp.rb +54 -0
  117. data/lib/efl/native/elm/elm_colorselector.rb +39 -0
  118. data/lib/efl/native/elm/elm_config.rb +103 -0
  119. data/lib/efl/native/elm/elm_conform.rb +37 -0
  120. data/lib/efl/native/elm/elm_ctxpopup.rb +59 -0
  121. data/lib/efl/native/elm/elm_cursor.rb +51 -0
  122. data/lib/efl/native/elm/elm_debug.rb +37 -0
  123. data/lib/efl/native/elm/elm_diskselector.rb +76 -0
  124. data/lib/efl/native/elm/elm_engine.rb +41 -0
  125. data/lib/efl/native/elm/elm_entry.rb +242 -0
  126. data/lib/efl/native/elm/elm_factory.rb +41 -0
  127. data/lib/efl/native/elm/elm_fileselector.rb +67 -0
  128. data/lib/efl/native/elm/elm_fileselector_button.rb +63 -0
  129. data/lib/efl/native/elm/elm_fileselector_entry.rb +67 -0
  130. data/lib/efl/native/elm/elm_finger.rb +39 -0
  131. data/lib/efl/native/elm/elm_flip.rb +62 -0
  132. data/lib/efl/native/elm/elm_flipselector.rb +63 -0
  133. data/lib/efl/native/elm/elm_focus.rb +65 -0
  134. data/lib/efl/native/elm/elm_fonts.rb +66 -0
  135. data/lib/efl/native/elm/elm_frame.rb +45 -0
  136. data/lib/efl/native/elm/elm_general.rb +105 -0
  137. data/lib/efl/native/elm/elm_gengrid.rb +184 -0
  138. data/lib/efl/native/elm/elm_genlist.rb +240 -0
  139. data/lib/efl/native/elm/elm_gesture_layer.rb +76 -0
  140. data/lib/efl/native/elm/elm_glview.rb +70 -0
  141. data/lib/efl/native/elm/elm_grid.rb +51 -0
  142. data/lib/efl/native/elm/elm_hover.rb +51 -0
  143. data/lib/efl/native/elm/elm_hoversel.rb +60 -0
  144. data/lib/efl/native/elm/elm_icon.rb +97 -0
  145. data/lib/efl/native/elm/elm_image.rb +80 -0
  146. data/lib/efl/native/elm/elm_index.rb +63 -0
  147. data/lib/efl/native/elm/elm_label.rb +60 -0
  148. data/lib/efl/native/elm/elm_layout.rb +77 -0
  149. data/lib/efl/native/elm/elm_list.rb +105 -0
  150. data/lib/efl/native/elm/elm_map.rb +225 -0
  151. data/lib/efl/native/elm/elm_mapbuf.rb +47 -0
  152. data/lib/efl/native/elm/elm_menu.rb +77 -0
  153. data/lib/efl/native/elm/elm_mirroring.rb +45 -0
  154. data/lib/efl/native/elm/elm_multibuttonentry.rb +81 -0
  155. data/lib/efl/native/elm/elm_naviframe.rb +79 -0
  156. data/lib/efl/native/elm/elm_need.rb +41 -0
  157. data/lib/efl/native/elm/elm_notify.rb +57 -0
  158. data/lib/efl/native/elm/elm_object.rb +74 -0
  159. data/lib/efl/native/elm/elm_object_item.rb +93 -0
  160. data/lib/efl/native/elm/elm_panel.rb +55 -0
  161. data/lib/efl/native/elm/elm_panes.rb +51 -0
  162. data/lib/efl/native/elm/elm_password.rb +41 -0
  163. data/lib/efl/native/elm/elm_photo.rb +49 -0
  164. data/lib/efl/native/elm/elm_photocam.rb +74 -0
  165. data/lib/efl/native/elm/elm_plug.rb +39 -0
  166. data/lib/efl/native/elm/elm_progressbar.rb +61 -0
  167. data/lib/efl/native/elm/elm_radio.rb +49 -0
  168. data/lib/efl/native/elm/elm_route.rb +42 -0
  169. data/lib/efl/native/elm/elm_scale.rb +41 -0
  170. data/lib/efl/native/elm/elm_scroll.rb +49 -0
  171. data/lib/efl/native/elm/elm_scroller.rb +80 -0
  172. data/lib/efl/native/elm/elm_segment_control.rb +57 -0
  173. data/lib/efl/native/elm/elm_separator.rb +39 -0
  174. data/lib/efl/native/elm/elm_slider.rb +71 -0
  175. data/lib/efl/native/elm/elm_slideshow.rb +97 -0
  176. data/lib/efl/native/elm/elm_spinner.rb +73 -0
  177. data/lib/efl/native/elm/elm_store.rb +110 -0
  178. data/lib/efl/native/elm/elm_table.rb +53 -0
  179. data/lib/efl/native/elm/elm_theme.rb +81 -0
  180. data/lib/efl/native/elm/elm_thumb.rb +60 -0
  181. data/lib/efl/native/elm/elm_toolbar.rb +145 -0
  182. data/lib/efl/native/elm/elm_tooltip.rb +59 -0
  183. data/lib/efl/native/elm/elm_transit.rb +135 -0
  184. data/lib/efl/native/elm/elm_video.rb +71 -0
  185. data/lib/efl/native/elm/elm_web.rb +165 -0
  186. data/lib/efl/native/elm/elm_win.rb +221 -0
  187. data/lib/efl/native/emap.rb +28 -34
  188. data/lib/efl/native/evas.rb +640 -618
  189. data/spec/ecore_evas_spec.rb +28 -22
  190. data/spec/ecore_spec.rb +1 -0
  191. data/spec/edje_spec.rb +8 -1
  192. data/spec/eina_hash_spec.rb +0 -1
  193. data/spec/eina_list_spec.rb +0 -1
  194. data/spec/eina_log_spec.rb +10 -8
  195. data/spec/elm_spec.rb +4 -114
  196. data/spec/evas_spec.rb +13 -244
  197. data/spec/helper.rb +16 -15
  198. data/tasks/constants.rb +9 -9
  199. data/test/test_elm_win-native.rb +6 -4
  200. data/test/test_elm_win.rb +20 -19
  201. data/test/test_evas.rb +12 -12
  202. metadata +209 -64
  203. data/lib/efl/ffi.rb +0 -172
  204. data/test/test_elementary.rb +0 -271
  205. data/test/tests/test_actionslider.rb +0 -132
  206. data/test/tests/test_anchorbock.rb +0 -73
  207. data/test/tests/test_bg.rb +0 -151
  208. data/test/tests/test_box.rb +0 -147
  209. data/test/tests/test_buttons.rb +0 -114
@@ -1,73 +0,0 @@
1
- #! /usr/bin/env ruby
2
- # -*- coding: UTF-8 -*-
3
- #
4
- module Tests
5
- #
6
- class TestAnchorBlock < Efl::Elm::ElmWin
7
- def initialize name, title, fct
8
- super nil, name
9
- self.title = title
10
- self.autodel = true
11
- self.send fct
12
- @bg.size_hint_min = 160, 160
13
- @bg.size_hint_max = 640, 640
14
- self.resize 320, 230
15
- self.show
16
- end
17
- def simple
18
- @bg = Elm::ElmBg.new self do |bg|
19
- bg.size_hint_weight_expand
20
- self.resize_object_add bg
21
- bg.show
22
- end
23
- @sc = Elm::ElmScroller.new self do |sc|
24
- sc.size_hint_weight_expand
25
- self.resize_object_add sc
26
- end
27
- # evas_object_smart_callback_add(sc, "edge_left", my_anchorblock_edge_left, NULL);
28
- # evas_object_smart_callback_add(sc, "edge_right", my_anchorblock_edge_right, NULL);
29
- # evas_object_smart_callback_add(sc, "edge_top", my_anchorblock_edge_top, NULL);
30
- # evas_object_smart_callback_add(sc, "edge_bottom", my_anchorblock_edge_bottom, NULL);
31
- # evas_object_smart_callback_add(sc, "scroll", my_anchorblock_scroll, NULL);
32
- @bx = Elm::ElmBox.new self do |bx|
33
- bx.size_hint_weight_set Evas::EVAS_HINT_EXPAND, 0.0
34
- bx.size_hint_align_fill
35
- bx.show
36
- end
37
- ico = Elm::ElmIcon.new self do |ic|
38
- ic.file = "#{PACKAGE_DATA_DIR}/image/logo_small.png"
39
- end
40
- end
41
- def cb_radio_changed data, evas_obj, event_info
42
- @o_bg.option = Elm::ElmRadio.new(evas_obj).value
43
- end
44
- def cb_overlay_changed data, evas_obj, event_info
45
- if Elm::ElmCheck.new(evas_obj).state
46
- over = @o_bg.parent_widget.evas.edje_object_add
47
- over.file = "#{PACKAGE_DATA_DIR}/objects/test.edj", "bg_overlay"
48
- @o_bg.overlay = over
49
- else
50
- @o_bg.overlay = FFI::Pointer::NULL
51
- end
52
- end
53
- def cb_color_changed data, evas_obj, event_info
54
- case Elm::ElmSpinner.new(evas_obj).value
55
- when 1.0
56
- @o_bg.color = 255, 255, 255
57
- when 2.0
58
- @o_bg.color = 255, 0, 0
59
- when 3.0
60
- @o_bg.color = 0, 0, 255
61
- when 4.0
62
- @o_bg.color = 0, 255, 0
63
- end
64
- end
65
- end
66
- #
67
- def self.test_anchorblock
68
- TestAnchorBlock.new 'anchorblock', 'Anchorblock', :simple
69
- end
70
- #
71
- end
72
- #
73
- # EOF
@@ -1,151 +0,0 @@
1
- #! /usr/bin/env ruby
2
- # -*- coding: UTF-8 -*-
3
- #
4
- module Tests
5
- #
6
- class TestBg < Efl::Elm::ElmWin
7
- def initialize name, title, fct
8
- super nil, name
9
- self.title = title
10
- self.autodel = true
11
- self.send fct
12
- @bg.size_hint_min = 160, 160
13
- @bg.size_hint_max = 640, 640
14
- self.resize 320, 230
15
- self.show
16
- end
17
- def plain_bg
18
- @bg = Elm::ElmBg.new self do |bg|
19
- bg.size_hint_weight_expand
20
- self.resize_object_add bg
21
- bg.show
22
- end
23
- end
24
- def image_bg
25
- @bg = Elm::ElmBg.new self do |bg|
26
- bg.file = "#{PACKAGE_DATA_DIR}/images/plant_01.jpg", nil
27
- bg.size_hint_weight_expand
28
- self.resize_object_add bg
29
- bg.show
30
- end
31
- end
32
- def options_bg
33
- plain_bg
34
- @bx = Elm::ElmBox.new self do |bx|
35
- bx.size_hint_weight_expand
36
- self.resize_object_add bx
37
- bx.show
38
- end
39
- @o_bg = Elm::ElmBg.new self do |bg|
40
- bg.file = "#{PACKAGE_DATA_DIR}/images/plant_01.jpg", nil
41
- bg.size_hint_weight_expand
42
- bg.size_hint_align_fill
43
- @bx.pack_end bg
44
- bg.show
45
- end
46
- @hbx = Elm::ElmBox.new self do |bx|
47
- bx.horizontal = true
48
- bx.size_hint_weight_expand_fill
49
- bx.size_hint_align_fill
50
- end
51
- @rdg = Elm::ElmRadio.new self do |r|
52
- r.state_value = :elm_bg_option_center
53
- r.text = "Center"
54
- r.size_hint_weight_expand_fill
55
- r.smart_callback_add "changed", method(:cb_radio_changed)
56
- @hbx.pack_end r
57
- r.show
58
- end
59
- Elm::ElmRadio.new self do |r|
60
- r.state_value = :elm_bg_option_scale
61
- r.group_add @rdg
62
- r.text = "Scale"
63
- r.size_hint_weight_expand_fill
64
- r.smart_callback_add "changed", method(:cb_radio_changed)
65
- @hbx.pack_end r
66
- r.show
67
- end
68
- Elm::ElmRadio.new self do |r|
69
- r.state_value = :elm_bg_option_stretch
70
- r.group_add @rdg
71
- r.text = "Stretch"
72
- r.size_hint_weight_expand_fill
73
- r.smart_callback_add "changed", method(:cb_radio_changed)
74
- @hbx.pack_end r
75
- r.show
76
- end
77
- Elm::ElmRadio.new self do |r|
78
- r.state_value = :elm_bg_option_tile
79
- r.group_add @rdg
80
- r.text = "Tile"
81
- r.size_hint_weight_expand_fill
82
- r.smart_callback_add "changed", method(:cb_radio_changed)
83
- @hbx.pack_end r
84
- r.show
85
- end
86
- @rdg.value_set :elm_bg_option_scale
87
- Elm::ElmCheck.new self do |ck|
88
- ck.text = "Show Overlay"
89
- ck.size_hint_weight_expand_fill
90
- ck.smart_callback_add "changed", method(:cb_overlay_changed)
91
- @hbx.pack_end ck
92
- ck.show
93
- end
94
- Elm::ElmSpinner.new self do |sp|
95
- sp.style = "vertical"
96
- sp.min_max = 1, 4
97
- sp.label_format = "%.0f"
98
- sp.editable = false
99
- sp.special_value_add 1, "White"
100
- sp.special_value_add 2, "Red"
101
- sp.special_value_add 3, "Blue"
102
- sp.special_value_add 4, "Green"
103
- sp.size_hint_weight_expand
104
- sp.size_hint_align_fill
105
- sp.smart_callback_add "changed", method(:cb_color_changed)
106
- @hbx.pack_end sp
107
- sp.show
108
- end
109
- @bx.pack_end @hbx
110
- @hbx.show
111
- end
112
- def cb_radio_changed data, evas_obj, event_info
113
- @o_bg.option = Elm::ElmRadio.new(evas_obj).value
114
- end
115
- def cb_overlay_changed data, evas_obj, event_info
116
- if Elm::ElmCheck.new(evas_obj).state
117
- over = @o_bg.parent_widget.evas.edje_object_add
118
- over.file = "#{PACKAGE_DATA_DIR}/objects/test.edj", "bg_overlay"
119
- @o_bg.overlay = over
120
- else
121
- @o_bg.overlay = FFI::Pointer::NULL
122
- end
123
- end
124
- def cb_color_changed data, evas_obj, event_info
125
- case Elm::ElmSpinner.new(evas_obj).value
126
- when 1.0
127
- @o_bg.color = 255, 255, 255
128
- when 2.0
129
- @o_bg.color = 255, 0, 0
130
- when 3.0
131
- @o_bg.color = 0, 0, 255
132
- when 4.0
133
- @o_bg.color = 0, 255, 0
134
- end
135
- end
136
- end
137
- #
138
- def self.test_bg_plain
139
- TestBg.new 'bg-plain', 'Bg Plain', :plain_bg
140
- end
141
- #
142
- def self.test_bg_image
143
- TestBg.new 'bg-image', 'Bg Image', :image_bg
144
- end
145
- def self.test_bg_options
146
- TestBg.new 'bg-options', 'Bg Options', :options_bg
147
- end
148
- #
149
- end
150
- #
151
- # EOF
@@ -1,147 +0,0 @@
1
- #! /usr/bin/env ruby
2
- # -*- coding: UTF-8 -*-
3
- #
4
- module Tests
5
- #
6
- class TestBox < Efl::Elm::ElmWin
7
- def initialize name, title, fct
8
- super nil, name
9
- self.title = title
10
- self.autodel = true
11
- @bg = Elm::ElmBg.new self do |bg|
12
- bg.size_hint_weight_expand
13
- self.resize_object_add bg
14
- bg.show
15
- end
16
- self.send fct
17
- self.show
18
- end
19
- #
20
- def box_vert
21
- @bx = Elm::ElmBox.new self do |bx|
22
- bx.size_hint_weight_expand
23
- self.resize_object_add bx
24
- bx.show
25
- end
26
- icons = []
27
- (0..2).each do
28
- icons << Elm::ElmIcon.new(self) do |ico|
29
- ico.file = "#{PACKAGE_DATA_DIR}/images/logo_small.png", nil
30
- ico.scale = false, false
31
- @bx.pack_end ico
32
- ico.show
33
- end
34
- end
35
- icons[0].size_hint_align = 0.5, 0.5
36
- icons[1].size_hint_align = 0.0, 0.5
37
- icons[2].size_hint_align = Efl::Evas::EVAS_HINT_EXPAND, 0.5
38
- end
39
- #
40
- def box_vert2
41
- @bx = Elm::ElmBox.new self do |bx|
42
- bx.padding = 10, 10
43
- self.resize_object_add bx
44
- bx.size_hint_weight_expand
45
- bx.show
46
- end
47
- (1..5).each do |n|
48
- bt = Efl::Elm::ElmButton.new self
49
- bt.text = "Button #{n}"
50
- bt.size_hint_align_fill
51
- bt.size_hint_weight = 0.0, 0.0
52
- bt.smart_callback_add "clicked", method(:del_cb)
53
- @bx.pack_end bt
54
- bt.show
55
- end
56
- end
57
- #
58
- def del_cb data, evas_obj, event_info
59
- o = Efl::Elm::ElmObject.new(evas_obj)
60
- @bx.unpack o
61
- o.move 0, 0
62
- o.color = 128, 64, 0, 128
63
- end
64
- #
65
- def box_horiz
66
- @bx = Elm::ElmBox.new self do |bx|
67
- bx.horizontal = true
68
- self.resize_object_add bx
69
- bx.size_hint_weight_expand
70
- bx.show
71
- end
72
- icons = []
73
- (0..2).each do
74
- icons << Elm::ElmIcon.new(self) do |ico|
75
- ico.file = "#{PACKAGE_DATA_DIR}/images/logo_small.png", nil
76
- ico.scale = false, false
77
- @bx.pack_end ico
78
- ico.show
79
- end
80
- end
81
- icons[0].size_hint_align = 0.5, 0.5
82
- icons[1].size_hint_align = 0.5, 0.0
83
- icons[2].size_hint_align = 0.0, Efl::Evas::EVAS_HINT_EXPAND
84
- end
85
- #
86
- def box_transition
87
- @bx = Elm::ElmBox.new self do |bx|
88
- self.resize_object_add bx
89
- bx.size_hint_weight_expand
90
- bx.show
91
- end
92
- (1..3).each do |n|
93
- bt = Efl::Elm::ElmButton.new self
94
- bt.text = "Button #{n}"
95
- bt.size_hint_weight_expand
96
- # bt.size_hint_align_fill
97
- bt.smart_callback_add "clicked", method(:del_cb)
98
- @bx.pack_end bt
99
- bt.resize 100, 100
100
- bt.show
101
- end
102
- @idx = 0
103
- @transitions = [
104
- Efl::Native.find_variable('evas_object_box_layout_vertical'),
105
- Efl::Native.find_variable('evas_object_box_layout_horizontal'),
106
- Efl::Native.find_variable('evas_object_box_layout_stack'),
107
- Efl::Native.find_variable('evas_object_box_layout_homogeneous_vertical'),
108
- Efl::Native.find_variable('evas_object_box_layout_homogeneous_horizontal'),
109
- Efl::Native.find_variable('evas_object_box_layout_flow_vertical'),
110
- Efl::Native.find_variable('evas_object_box_layout_flow_horizontal'),
111
- Efl::Native.find_variable('evas_object_box_layout_stack'),
112
- ]
113
- self.resize 300, 300
114
- @bx.resize 300, 300
115
- @bx.layout = @transitions[@idx], nil, nil
116
- self.show
117
- transition_change
118
- end
119
- #
120
- def transition_change data=nil
121
- last_layout = @transitions[@idx]
122
- @idx = (@idx+1) % @transitions.length
123
- next_layout = @transitions[@idx]
124
- transition = Efl::Native.elm_box_transition_new 1.0, last_layout, nil, nil, next_layout, nil, nil, method(:transition_change), nil
125
- transition_fct = Efl::Native.find_variable('elm_box_layout_transition')
126
- transition_free = Efl::Native.find_variable('elm_box_transition_free')
127
- @bx.layout = transition_fct, transition, transition_free
128
- end
129
- #
130
- end
131
- #
132
- def self.test_box_vert
133
- TestBox.new 'box-vert', 'Box Vert', :box_vert
134
- end
135
- def self.test_box_vert2
136
- TestBox.new 'box-vert', 'Box Vert', :box_vert2
137
- end
138
- def self.test_box_horiz
139
- TestBox.new 'box-horiz', 'Box Horiz', :box_horiz
140
- end
141
- def self.test_box_transition
142
- TestBox.new 'box-transition', 'Box Transition', :box_transition
143
- end
144
- #
145
- end
146
- #
147
- # EOF
@@ -1,114 +0,0 @@
1
- #! /usr/bin/env ruby
2
- # -*- coding: UTF-8 -*-
3
- #
4
- module Tests
5
- #
6
- class TestBg < Efl::Elm::ElmWin
7
- def initialize name, title, fct
8
- super nil, name
9
- self.title = title
10
- self.autodel = true
11
- @bg = Elm::ElmBg.new self do |bg|
12
- bg.size_hint_weight_expand
13
- self.resize_object_add bg
14
- bg.show
15
- end
16
- self.send fct
17
- self.resize 320, 480
18
- self.show
19
- end
20
- #
21
- def __create_butt_ico txt=nil, do_icon=true
22
- if do_icon
23
- ico = Elm::ElmIcon.new self
24
- ico.file = "#{PACKAGE_DATA_DIR}/images/logo_small.png", nil
25
- else
26
- ico = nil
27
- end
28
- bt = Efl::Elm::ElmButton.new self
29
- bt.text = txt unless txt.nil?
30
- bt.icon = ico if ico
31
- bt.smart_callback_add "clicked", method(:bt_clicked_cb)
32
- bt.smart_callback_add "unpressed", method(:bt_unpressed_cb)
33
- @bx.pack_end bt
34
- @buttons << bt
35
- ico.show if ico
36
- bt.show
37
- [bt,ico]
38
- end
39
- #
40
- def buttons
41
- @scr = Efl::Elm::ElmScroller.new self do |scr|
42
- scr.bounce = false, true
43
- scr.policy = :elm_scroller_policy_off, :elm_scroller_policy_auto
44
- self.resize_object_add scr
45
- scr.size_hint_weight_expand
46
- scr.show
47
- end
48
- @bx = Efl::Elm::ElmBox.new self do |bx|
49
- bx.size_hint_weight_expand
50
- @scr.content = bx
51
- bx.show
52
- end
53
- #
54
- @buttons = []
55
- #
56
- bt,ico = __create_butt_ico "Icon sized to button"
57
- ico.size_hint_aspect = :evas_aspect_control_vertical, 1, 1
58
- #
59
- bt,ico = __create_butt_ico "Icon no scale"
60
- ico.scale = false, false
61
- #
62
- bt,ico = __create_butt_ico "Disabled Button"
63
- bt.disabled = true
64
- ico.size_hint_aspect = :evas_aspect_control_vertical, 1, 1
65
- #
66
- bt,ico = __create_butt_ico
67
- bt.disabled = true
68
- ico.size_hint_aspect = :evas_aspect_control_vertical, 1, 1
69
- #
70
- bt,ico = __create_butt_ico "Label Only", false
71
- bt.smart_callback_add "repeated", method(:bt_repeated_cb)
72
- bt.autorepeat = true
73
- bt.autorepeat_gap_timeout = 0.5
74
- bt.autorepeat_initial_timeout = 2.0
75
- #
76
- bt,ico = __create_butt_ico
77
- ico.scale = false, false
78
- #
79
- bt,ico = __create_butt_ico "Anchor style", false
80
- bt.style = "anchor"
81
- #
82
- bt,ico = __create_butt_ico
83
- ico.size_hint_aspect = :evas_aspect_control_vertical, 1, 1
84
- bt.style = "anchor"
85
- #
86
- bt,ico = __create_butt_ico
87
- ico.size_hint_aspect = :evas_aspect_control_vertical, 1, 1
88
- bt.style = "anchor"
89
- bt.disabled = true
90
- bt.access_info_set "This is some custom text describing this widget"
91
- end
92
- #
93
- def bt_clicked_cb data, evas_obj, event_info
94
- idx = @buttons.index @buttons.find { |b| b.to_ptr==evas_obj }
95
- puts "clicked event on Button: #{idx+1}"
96
- end
97
- #
98
- def bt_unpressed_cb data, evas_obj, event_info
99
- idx = @buttons.index @buttons.find { |b| b.to_ptr==evas_obj }
100
- puts "unpressed event on Button: #{idx+1}"
101
- end
102
- #
103
- def bt_repeated_cb data, evas_obj, event_info
104
- @count = ((@count||=0)+1)%1000
105
- Efl::Elm::ElmButton.new(evas_obj).text = "count = #{@count}"
106
- end
107
- end
108
- #
109
- def self.test_button
110
- TestBg.new 'buttons', 'Buttons', :buttons
111
- end
112
- end
113
- #
114
- # EOF