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
data/lib/efl/ffi.rb DELETED
@@ -1,172 +0,0 @@
1
- #! /usr/bin/env ruby
2
- # -*- coding: UTF-8 -*-
3
- #
4
- require 'ffi'
5
- #
6
- module Efl
7
- #
8
- module Native
9
- #
10
- extend FFI::Library
11
- #
12
- def self.attach_fcts fcts
13
- fcts.each do |func|
14
- begin
15
- attach_function(*func)
16
- rescue Object => e
17
- puts "Could not attach #{func} #{e.message}"
18
- end
19
- end
20
- end
21
- #
22
- class << self
23
- alias :ffi_lib_orig :ffi_lib
24
- def ffi_lib *names
25
- @all_ffi_libs||=[]
26
- @all_ffi_libs += ffi_lib_orig(names)
27
- @all_ffi_libs.uniq!
28
- end
29
- def find_variable name
30
- @all_ffi_libs.each do |lib|
31
- address = lib.find_variable name
32
- return address if not address.nil?
33
- end
34
- return nil
35
- end
36
- end
37
- #
38
- typedef :pointer, :char_p
39
- typedef :pointer, :short_p
40
- typedef :pointer, :int_p
41
- typedef :pointer, :long_p
42
- typedef :pointer, :float_p
43
- typedef :pointer, :double_p
44
- typedef :pointer, :uchar_p
45
- typedef :pointer, :ushort_p
46
- typedef :pointer, :uint_p
47
- typedef :pointer, :ulong_p
48
- typedef :pointer, :ufloat_p
49
- typedef :pointer, :udouble_p
50
- typedef :pointer, :void_p
51
- typedef :pointer, :string_array
52
- typedef :pointer, :string_array_p
53
- typedef :uint_p, :uintptr_t
54
- #
55
- typedef :bool, :eina_bool
56
- typedef :pointer, :eina_bool_p
57
- typedef :pointer, :eina_list_p
58
- typedef :pointer, :eina_hash_p
59
- typedef :pointer, :eina_iterator_p
60
- typedef :pointer, :eina_accessor_p
61
- typedef :pointer, :evas_p
62
- typedef :pointer, :evas_object_p
63
- typedef :pointer, :evas_object_pp
64
- typedef :pointer, :evas_gl_api_p
65
- typedef :pointer, :ecore_getopt_p
66
- typedef :pointer, :ecore_getopt_desc_p
67
- typedef :pointer, :ecore_getopt_value_p
68
- #
69
- callback :eina_compare_cb, [ :void_p, :void_p ], :int
70
- callback :eina_each_cb, [ :void_p, :void_p, :void_p ], :eina_bool
71
- callback :eina_free_cb, [ :void_p ], :void
72
- #
73
- class VersionStruct < FFI::Struct
74
- layout :major, :int,
75
- :minor, :int,
76
- :micro, :int,
77
- :revision, :int
78
-
79
- def full
80
- [:major,:minor,:micro,:revision].collect { |e| self[e].to_s }.join '.'
81
- end
82
- end
83
- end
84
- #
85
- module ModuleHelper
86
- def find_function m, prefix
87
- m_s = m.to_s
88
- if m_s =~/^(.*)=$/
89
- m_s = $1+'_set'
90
- args_s = '*args[0]'
91
- elsif m_s =~/^(.*)\?$/
92
- m_s = $1+'_get'
93
- args_s = '*args'
94
- else
95
- args_s = '*args'
96
- end
97
- sym = (
98
- if Efl::Native.respond_to? prefix+m_s
99
- prefix+m_s
100
- elsif Efl::Native.respond_to? m_s
101
- m_s
102
- elsif Efl::Native.respond_to? prefix+m_s+'_get'
103
- prefix+m_s+'_get'
104
- elsif Efl::Native.respond_to? m_s+'_get'
105
- m_s+'_get'
106
- else
107
- raise NameError.new "#{self.name}.#{m_s} (#{m})"
108
- end
109
- )
110
- [sym, args_s]
111
- end
112
- module_function :find_function
113
- end
114
- #
115
- module ClassHelper
116
- def to_a; [self] end
117
- def to_ary; [self] end
118
- def to_s; Object.instance_method(:to_s).bind(self).call+' ['+self.to_ptr.to_s+']' end
119
- def to_ptr; @ptr; end
120
- def === o; @ptr === o.to_ptr; end
121
- def null?; @ptr.null?; end
122
- def address; @ptr.address; end
123
- def self.included kls
124
- # create class instance @search_prefixes
125
- kls.class_eval "@search_prefixes ||=[]"
126
- # access and prepend *args to @search_prefixes
127
- kls.class_eval "def self.search_prefixes *args; @search_prefixes.unshift *args unless args.empty?; @search_prefixes; end"
128
- # on inheritance, copy ancestor's @search_prefixes
129
- kls.class_eval <<-EOF
130
- def self.inherited sub
131
- sub.class_eval '@search_prefixes = []'
132
- sub.search_prefixes *self.search_prefixes
133
- end
134
- EOF
135
- end
136
- def method_missing m, *args, &block
137
- m_s = m.to_s
138
- if m_s =~/^(.*)=$/
139
- m_s = $1+'_set'
140
- args_s = '*args[0]'
141
- elsif m_s =~/^(.*)\?$/
142
- m_s = $1+'_get'
143
- args_s = '*args'
144
- else
145
- args_s = '*args'
146
- end
147
- (['']+self.class.search_prefixes).each do |p|
148
- sym = p+m_s
149
- meth = (
150
- if Efl::Native.respond_to? sym
151
- sym
152
- elsif Efl::Native.respond_to? m_s
153
- m_s
154
- elsif Efl::Native.respond_to? sym+'_get'
155
- sym+'_get'
156
- elsif Efl::Native.respond_to? m_s+'_get'
157
- m_s+'_get'
158
- else
159
- nil
160
- end
161
- )
162
- if not meth.nil?
163
- self.class.class_eval "def #{m} *args, &block; r=Efl::Native.#{meth}(@ptr,#{args_s}); yield r if block_given?; r; end"
164
- return self.send m, *args, &block
165
- end
166
- end
167
- Kernel.raise NameError.new "#{self.class.name} is unable to resolve #{m} within #{self.class.search_prefixes.inspect}"
168
- end
169
- end
170
- end
171
- #
172
- # EOF
@@ -1,271 +0,0 @@
1
- #! /usr/bin/env ruby
2
- # -*- coding: UTF-8 -*-
3
- #
4
- require 'efl/elementary'
5
- require 'efl/edje'
6
- require 'efl'
7
- #
8
- PREFIX=`pkg-config --variable=prefix ecore`.strip
9
- if PREFIX.empty?
10
- puts "unable to determine Efl::PREFIX using pkg-config, images will not be available"
11
- end
12
- PACKAGE_DATA_DIR = File.join PREFIX, 'share', 'elementary'
13
-
14
- Dir.glob( File.join File.dirname(__FILE__), 'tests', '*.rb').each do |f|
15
- load f
16
- end
17
- #
18
- include Efl;
19
- #
20
- TESTS = [
21
- [ 'Bg Plain', :test_bg_plain ],
22
- [ 'Bg Image', :test_bg_image ],
23
- [ 'Bg Options', :test_bg_options ],
24
- [ 'Icon Transparent', :test_icon ],
25
- [ 'Icon Animation', :test_icon_animated ],
26
- [ 'Box Vert', :test_box_vert ],
27
- [ 'Box Vert 2', :test_box_vert2 ],
28
- [ 'Box Horiz', :test_box_horiz ],
29
- [ 'Box Transition', :test_box_transition ],
30
- [ 'Buttons', :test_button ],
31
- [ 'Transit', :test_transit ],
32
- [ 'Transit 2', :test_transit2 ],
33
- [ 'Transit 3', :test_transit3 ],
34
- [ 'Transit 4', :test_transit4 ],
35
- [ 'Transit 5', :test_transit5 ],
36
- [ 'Transit 6', :test_transit6 ],
37
- [ 'Transit 7', :test_transit7 ],
38
- [ 'Transit 8', :test_transit8 ],
39
- [ 'Transit 9', :test_transit9 ],
40
- [ 'File Selector Button', :test_fileselector_button ],
41
- [ 'File Selector Entry', :test_fileselector_entry ],
42
- [ 'Toggles', :test_toggle ],
43
- [ 'Table', :test_table ],
44
- [ 'Table Homogeneous', :test_table2 ],
45
- [ 'Table 3', :test_table3 ],
46
- [ 'Table 4', :test_table4 ],
47
- [ 'Table 5', :test_table5 ],
48
- [ 'Table 6', :test_table6 ],
49
- [ 'Clock', :test_clock ],
50
- [ 'Clock 2', :test_clock2 ],
51
- [ 'Layout', :test_layout ],
52
- [ 'Hover', :test_hover ],
53
- [ 'Hover 2', :test_hover2 ],
54
- [ 'Entry', :test_entry ],
55
- [ 'Entry Scrolled', :test_entry_scrolled ],
56
- [ 'Entry 3', :test_entry3 ],
57
- [ 'Entry 4', :test_entry4 ],
58
- [ 'Entry 5', :test_entry5 ],
59
- [ 'Entry Notepad', :test_entry_notepad ],
60
- [ 'Anchorview', :test_anchorview ],
61
- [ 'Anchorblock', :test_anchorblock ],
62
- [ 'Toolbar', :test_toolbar ],
63
- [ 'Toolbar 2', :test_toolbar2 ],
64
- [ 'Toolbar 3', :test_toolbar3 ],
65
- [ 'Toolbar 4', :test_toolbar4 ],
66
- [ 'Toolbar 5', :test_toolbar5 ],
67
- [ 'Toolbar 6', :test_toolbar6 ],
68
- [ 'Hoversel', :test_hoversel ],
69
- [ 'List', :test_list ],
70
- [ 'List - Horizontal', :test_list_horizontal ],
71
- [ 'List 2', :test_list2 ],
72
- [ 'List 3', :test_list3 ],
73
- [ 'List 4', :test_list4 ],
74
- [ 'List 5', :test_list5 ],
75
- [ 'Inwin', :test_inwin ],
76
- [ 'Inwin 2', :test_inwin2 ],
77
- [ 'Scaling', :test_scaling ],
78
- [ 'Scaling 2', :test_scaling2 ],
79
- [ 'Slider', :test_slider ],
80
- [ 'Actionslider', :test_actionslider ],
81
- [ 'Genlist', :test_genlist ],
82
- [ 'Genlist 2', :test_genlist2 ],
83
- [ 'Genlist 3', :test_genlist3 ],
84
- [ 'Genlist 4', :test_genlist4 ],
85
- [ 'Genlist 5', :test_genlist5 ],
86
- [ 'Genlist 7', :test_genlist7 ],
87
- [ 'Genlist Tree', :test_genlist6 ],
88
- [ 'Genlist Group', :test_genlist8 ],
89
- [ 'Genlist Group Tree', :test_genlist9 ],
90
- [ 'Genlist Mode', :test_genlist10 ],
91
- [ 'Genlist Reorder Mode', :test_genlist11 ],
92
- [ 'Genlist Eio', :test_eio ],
93
- [ 'GenGrid', :test_gengrid ],
94
- [ 'GenGrid 2', :test_gengrid2 ],
95
- [ 'Checks', :test_check ],
96
- [ 'Radios', :test_radio ],
97
- [ 'Pager', :test_pager ],
98
- [ 'Pager Slide', :test_pager_slide ],
99
- [ 'Window States', :test_win_state ],
100
- [ 'Window States 2', :test_win_state2 ],
101
- [ 'Progressbar', :test_progressbar ],
102
- [ 'File Selector', :test_fileselector ],
103
- [ 'Separator', :test_separator ],
104
- [ 'Scroller', :test_scroller ],
105
- [ 'Scroller 2', :test_scroller2 ],
106
- [ 'Spinner', :test_spinner ],
107
- [ 'Index', :test_index ],
108
- [ 'Index 2', :test_index2 ],
109
- [ 'Photocam', :test_photocam ],
110
- [ 'Photo', :test_photo ],
111
- [ 'Thumb', :test_thumb ],
112
- [ 'Icon Desktops', :test_icon_desktops ],
113
- [ 'Notify', :test_notify ],
114
- [ 'Slideshow', :test_slideshow ],
115
- [ 'Menu', :test_menu ],
116
- [ 'Panel', :test_panel ],
117
- [ 'Panes', :test_panes ],
118
- [ 'Map', :test_map ],
119
- [ 'Weather', :test_weather ],
120
- [ 'Flip', :test_flip ],
121
- [ 'Flip 2', :test_flip2 ],
122
- [ 'Flip 3', :test_flip3 ],
123
- [ 'Flip Interactive', :test_flip4 ],
124
- [ 'Flip Page', :test_flip_page ],
125
- [ 'Label', :test_label ],
126
- [ 'Conformant', :test_conformant ],
127
- [ 'Conformant 2', :test_conformant2 ],
128
- [ 'Multi Touch', :test_multi ],
129
- [ 'Floating Objects', :test_floating ],
130
- [ 'Launcher', :test_launcher ],
131
- [ 'Launcher 2', :test_launcher2 ],
132
- [ 'Launcher 3', :test_launcher3 ],
133
- [ 'Animation', :test_anim ],
134
- [ 'Calendar', :test_calendar ],
135
- [ 'Calendar 2', :test_calendar2 ],
136
- [ 'Tooltip', :test_tooltip ],
137
- [ 'Tooltip2', :test_tooltip2 ],
138
- [ 'Cursor', :test_cursor ],
139
- [ 'Cursor 2', :test_cursor2 ],
140
- [ 'Cursor 3', :test_cursor3 ],
141
- [ 'Focus', :test_focus ],
142
- [ 'Focus 2', :test_focus2 ],
143
- [ 'Focus 3', :test_focus3 ],
144
- [ 'Flip Selector', :test_flipselector ],
145
- [ 'Disk Selector', :test_diskselector ],
146
- [ 'Color Selector', :test_colorselector ],
147
- [ 'Ctxpopup', :test_ctxpopup ],
148
- [ 'Bubble', :test_bubble ],
149
- [ 'Segment Control', :test_segment_control ],
150
- [ 'Store', :test_store ],
151
- [ 'Window Inline', :test_win_inline ],
152
- [ 'Grid', :test_grid ],
153
- [ 'GLViewSimple', :test_glview_simple ],
154
- [ 'GLView', :test_glview ],
155
- [ '3D', :test_3d ],
156
- [ 'Gesture Layer', :test_gesture_layer ],
157
- [ 'Naviframe', :test_naviframe ],
158
- [ 'Factory', :test_factory ],
159
- ]
160
- #
161
- class TestWin < Elm::ElmWin
162
- #
163
- def initialize name, title
164
- super FFI::MemoryPointer::NULL, name
165
- self.title = title
166
- feed
167
- smart_callback_add 'delete,request', method(:on_delete)
168
- end
169
- #
170
- def feed
171
- @bg = Elm::ElmBg.new self do |bg|
172
- bg.size_hint_weight_expand
173
- resize_object_add bg
174
- bg.show
175
- end
176
- @bx0 = Elm::ElmBox.new self do |bx|
177
- bx.size_hint_weight_expand
178
- resize_object_add bx
179
- bx.show
180
- end
181
- @fr = Elm::ElmFrame.new self do |fr|
182
- fr.text = 'Information'
183
- @bx0.pack_end fr
184
- fr.show
185
- end
186
- Elm::ElmLabel.new self do |lb|
187
- lb.text = 'Please select a test from the list below<br>by clicking the test button to show the<br>test window.'
188
- @fr.content = lb
189
- lb.show
190
- end
191
- Elm::ElmCheck.new self do |tg|
192
- tg.style = 'toggle'
193
- tg.text = 'UI-Mirroring:'
194
- tg.state = Native.elm_mirrored_get
195
- tg.smart_callback_add 'changed', method(:tg_changed)
196
- @bx0.pack_end tg
197
- tg.show
198
- end
199
- @li = Elm::ElmList.new self do |li|
200
- li.always_select_mode = true
201
- li.size_hint_weight_expand
202
- li.size_hint_align_set_fill
203
- @bx0.pack_end li
204
- end
205
- @idx = Elm::ElmIndex.new self do |idx|
206
- idx.smart_callback_add 'delay,changed', method(:index_changed)
207
- idx.size_hint_weight_expand
208
- resize_object_add idx
209
- idx.show
210
- end
211
- ch = nil
212
- TESTS.sort.each do |l,m|
213
- icon = nil
214
- if Tests.respond_to? m
215
- icon = Elm::ElmIcon.new self
216
- icon.file = "#{PACKAGE_DATA_DIR}/images/icon_00.png", nil
217
- icon.size_hint_min = 20,20
218
- end
219
- it = @li.item_append l, nil, icon, method(:try_test), FFI::MemoryPointer.from_string(m.to_s)
220
- it.del_cb_set method(:free_list_item)
221
- if l[0]!=ch
222
- ch = l[0]
223
- @idx.item_append ch.to_s, it
224
- end
225
- end
226
- @idx.item_go 0
227
- @li.go
228
- @li.show
229
- end
230
- #
231
- def try_test data, evas_obj, event_info
232
- fct = data.read_string
233
- begin
234
- Tests.send fct
235
- rescue NoMethodError
236
- puts "#{fct} not implemeneted yet"
237
- end
238
- end
239
- #
240
- def tg_changed data, evas_obj, event_info
241
- Native.elm_mirrored_set Native.elm_check_state_get evas_obj
242
- end
243
- #
244
- def index_changed data, evas_obj, event_info
245
- Native.elm_list_item_show event_info
246
- end
247
- #
248
- def free_list_item data, evas_obj, event_info
249
- # free FFI::MemoryPointer.from_string m.to_s
250
- data.free
251
- end
252
- #
253
- def on_delete data, evas_object, event_info
254
- Elm.exit
255
- end
256
- end
257
- #
258
- def elm_main
259
- win = TestWin.new 'test_elementary', 'Elementary Tests'
260
- win.evas_object_resize 320, 480
261
- win.show
262
- end
263
- #
264
- Elm.init
265
- #
266
- Native.elm_app_info_set elm_main, 'elementary', 'images/logo.png'
267
- #
268
- Elm.run
269
- Elm.shutdown
270
- #
271
- # EOF
@@ -1,132 +0,0 @@
1
- #! /usr/bin/env ruby
2
- # -*- coding: UTF-8 -*-
3
- #
4
- module Tests
5
- #
6
- class TestActionSlider < 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
- self.resize 320, 400
13
- self.show
14
- end
15
- def simple
16
- @bg = Elm::ElmBg.new self do |bg|
17
- bg.size_hint_weight_set Evas::EVAS_HINT_EXPAND, 0
18
- self.resize_object_add bg
19
- bg.show
20
- end
21
- @bx = Elm::ElmBox.new self do |bx|
22
- bx.size_hint_weight_set Evas::EVAS_HINT_EXPAND, 0
23
- self.resize_object_add bx
24
- bx.show
25
- end
26
- as_pos = Native.enum_type :elm_actionslider_pos
27
- # standards calls
28
- as = Elm::ElmActionSlider.new self do |as|
29
- as.size_hint_weight_set Evas::EVAS_HINT_EXPAND, 0
30
- as.size_hint_align_set Evas::EVAS_HINT_FILL, 0
31
- as.text_part = "left", "Snooze"
32
- as.text_part = "center", nil
33
- as.text_part = "right", "Stop"
34
- as.indicator_pos = :elm_actionslider_right
35
- as.magnet_pos = :elm_actionslider_right
36
- as.enabled_pos = as_pos[:elm_actionslider_left]|as_pos[:elm_actionslider_right]
37
- as.smart_callback_add "selected", method(:cb_pos_selected)
38
- as.smart_callback_add "pos_changed", method(:cb_position_change_magnetic)
39
- as.show
40
- end
41
- @bx.pack_end as
42
- # use xxx_set helpers
43
- as = Elm::ElmActionSlider.new self do |as|
44
- as.size_hint_weight_set Evas::EVAS_HINT_EXPAND, 0
45
- as.size_hint_align_set Evas::EVAS_HINT_FILL, 0
46
- as.texts_set "Snooze", nil, "Stop"
47
- as.indicator_set 'c'
48
- as.magnet_set 'c'
49
- as.enabled_set 'lr'
50
- as.smart_callback_add "selected", method(:cb_pos_selected)
51
- as.show
52
- end
53
- @bx.pack_end as
54
- # use xxx = helpers
55
- as = Elm::ElmActionSlider.new self do |as|
56
- as.size_hint_weight_set Evas::EVAS_HINT_EXPAND, 0
57
- as.size_hint_align_set Evas::EVAS_HINT_FILL, 0
58
- as.style = "bar"
59
- as.texts = nil, "Accept", "Reject"
60
- as.indicator = 'l'
61
- as.magnet = 'cr'
62
- as.enabled = 'cr'
63
- as.smart_callback_add "selected", method(:cb_pos_selected)
64
- as.show
65
- end
66
- @bx.pack_end as
67
- # use setup
68
- as = Elm::ElmActionSlider.new self do |as|
69
- as.size_hint_weight_set Evas::EVAS_HINT_EXPAND, 0
70
- as.size_hint_align_set Evas::EVAS_HINT_FILL, 0
71
- as.style = "bar"
72
- as.text = "Go"
73
- as.setup [nil, "Accept", "Reject"], 'l', 'l', 'a'
74
- as.smart_callback_add "selected", method(:cb_pos_selected)
75
- as.smart_callback_add "pos_changed", method(:cb_position_change_magnetic)
76
- as.show
77
- end
78
- @bx.pack_end as
79
- as = Elm::ElmActionSlider.new self do |as|
80
- as.size_hint_weight_set Evas::EVAS_HINT_EXPAND, 0
81
- as.size_hint_align_set Evas::EVAS_HINT_FILL, 0
82
- as.text = "Go"
83
- as.setup ["Left", "Center", "right"], 'l', 'a'
84
- as.smart_callback_add "selected", method(:cb_pos_selected)
85
- as.show
86
- end
87
- @bx.pack_end as
88
- as = Elm::ElmActionSlider.new self do |as|
89
- as.size_hint_weight_set Evas::EVAS_HINT_EXPAND, 0
90
- as.size_hint_align_set Evas::EVAS_HINT_FILL, 0
91
- as.text = "Go"
92
- as.setup ["Enable", "Magnet", "Disable"], 'c', 'c'
93
- as.smart_callback_add "selected", method(:cb_pos_selected)
94
- as.smart_callback_add "pos_changed", method(:cb_magnet_enable_disable)
95
- as.show
96
- end
97
- @bx.pack_end as
98
- end
99
- def cb_pos_selected data, evas_obj, event_info
100
- as = Elm::ElmActionSlider.new evas_obj
101
- puts "Selection #{event_info.null? ? 'NULL' : event_info.read_string}"
102
- puts " label: #{Elm::ElmActionSlider.new(evas_obj).selected_label}"
103
- end
104
- def cb_position_change_magnetic data, evas_obj, event_info
105
- as = Elm::ElmActionSlider.new evas_obj
106
- return if event_info.null?
107
- case event_info.read_string
108
- when "left"
109
- as.magnet_pos = :elm_actionslider_left
110
- when "right"
111
- as.magnet_pos = :elm_actionslider_right
112
- end
113
- end
114
- def cb_magnet_enable_disable data, evas_obj, event_info
115
- as = Elm::ElmActionSlider.new evas_obj
116
- return if event_info.null?
117
- case event_info.read_string
118
- when "left"
119
- as.magnet_pos = :elm_actionslider_center
120
- when "right"
121
- as.magnet_pos = :elm_actionslider_none
122
- end
123
- end
124
- end
125
- #
126
- def self.test_actionslider
127
- TestActionSlider.new 'actionslider', 'Actionslider', :simple
128
- end
129
- #
130
- end
131
- #
132
- # EOF