ffi-efl 0.0.10 → 0.0.11

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 (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