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