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.
- data/Changelog +10 -2
- data/README.rdoc +41 -30
- data/lib/efl.rb +88 -14
- data/lib/efl/ecore.rb +1 -0
- data/lib/efl/ecore_evas.rb +4 -2
- data/lib/efl/ecore_getopt.rb +12 -11
- data/lib/efl/ecore_input.rb +1 -0
- data/lib/efl/eet.rb +1 -0
- data/lib/efl/eina.rb +1 -0
- data/lib/efl/eina_hash.rb +1 -0
- data/lib/efl/eina_list.rb +1 -0
- data/lib/efl/eina_log.rb +4 -0
- data/lib/efl/elementary.rb +0 -662
- data/lib/efl/elementary_all.rb +82 -0
- data/lib/efl/elm/elm_actionslider.rb +22 -0
- data/lib/efl/elm/elm_anchorblock.rb +22 -0
- data/lib/efl/elm/elm_anchorview.rb +22 -0
- data/lib/efl/elm/elm_bg.rb +37 -0
- data/lib/efl/elm/elm_box.rb +42 -0
- data/lib/efl/elm/elm_bubble.rb +22 -0
- data/lib/efl/elm/elm_button.rb +22 -0
- data/lib/efl/elm/elm_calendar.rb +22 -0
- data/lib/efl/elm/elm_check.rb +22 -0
- data/lib/efl/elm/elm_clock.rb +22 -0
- data/lib/efl/elm/elm_cnp.rb +30 -0
- data/lib/efl/elm/elm_colorselector.rb +22 -0
- data/lib/efl/elm/elm_conform.rb +26 -0
- data/lib/efl/elm/elm_ctxpopup.rb +27 -0
- data/lib/efl/elm/elm_cursor.rb +20 -0
- data/lib/efl/elm/elm_debug.rb +25 -0
- data/lib/efl/elm/elm_diskselector.rb +51 -0
- data/lib/efl/elm/elm_entry.rb +22 -0
- data/lib/efl/elm/elm_factory.rb +22 -0
- data/lib/efl/elm/elm_fileselector.rb +22 -0
- data/lib/efl/elm/elm_fileselector_button.rb +22 -0
- data/lib/efl/elm/elm_fileselector_entry.rb +22 -0
- data/lib/efl/elm/elm_flip.rb +22 -0
- data/lib/efl/elm/elm_flipselector.rb +56 -0
- data/lib/efl/elm/elm_focus.rb +74 -0
- data/lib/efl/elm/elm_frame.rb +22 -0
- data/lib/efl/elm/elm_gengrid.rb +68 -0
- data/lib/efl/elm/elm_genlist.rb +79 -0
- data/lib/efl/elm/elm_gesture_layer.rb +22 -0
- data/lib/efl/elm/elm_glview.rb +22 -0
- data/lib/efl/elm/elm_grid.rb +22 -0
- data/lib/efl/elm/elm_hover.rb +22 -0
- data/lib/efl/elm/elm_hoversel.rb +27 -0
- data/lib/efl/elm/elm_icon.rb +26 -0
- data/lib/efl/elm/elm_image.rb +22 -0
- data/lib/efl/elm/elm_index.rb +31 -0
- data/lib/efl/elm/elm_label.rb +22 -0
- data/lib/efl/elm/elm_layout.rb +26 -0
- data/lib/efl/elm/elm_list.rb +55 -0
- data/lib/efl/elm/elm_map.rb +22 -0
- data/lib/efl/elm/elm_mapbuf.rb +22 -0
- data/lib/efl/elm/elm_menu.rb +55 -0
- data/lib/efl/elm/elm_mirroring.rb +36 -0
- data/lib/efl/elm/elm_multibuttonentry.rb +58 -0
- data/lib/efl/elm/elm_naviframe.rb +42 -0
- data/lib/efl/elm/elm_notify.rb +22 -0
- data/lib/efl/elm/elm_object.rb +68 -0
- data/lib/efl/elm/elm_object_item.rb +20 -0
- data/lib/efl/elm/elm_panel.rb +22 -0
- data/lib/efl/elm/elm_panes.rb +22 -0
- data/lib/efl/elm/elm_photo.rb +22 -0
- data/lib/efl/elm/elm_photocam.rb +22 -0
- data/lib/efl/elm/elm_plug.rb +22 -0
- data/lib/efl/elm/elm_progressbar.rb +22 -0
- data/lib/efl/elm/elm_radio.rb +22 -0
- data/lib/efl/elm/elm_route.rb +22 -0
- data/lib/efl/elm/elm_scale.rb +28 -0
- data/lib/efl/elm/elm_scroll.rb +50 -0
- data/lib/efl/elm/elm_scroller.rb +22 -0
- data/lib/efl/elm/elm_segment_control.rb +39 -0
- data/lib/efl/elm/elm_separator.rb +22 -0
- data/lib/efl/elm/elm_slider.rb +22 -0
- data/lib/efl/elm/elm_slideshow.rb +41 -0
- data/lib/efl/elm/elm_spinner.rb +22 -0
- data/lib/efl/elm/elm_store.rb +43 -0
- data/lib/efl/elm/elm_table.rb +22 -0
- data/lib/efl/elm/elm_theme.rb +42 -0
- data/lib/efl/elm/elm_thumb.rb +22 -0
- data/lib/efl/elm/elm_toolbar.rb +63 -0
- data/lib/efl/elm/elm_tooltip.rb +20 -0
- data/lib/efl/elm/elm_transit.rb +78 -0
- data/lib/efl/elm/elm_video.rb +30 -0
- data/lib/efl/elm/elm_web.rb +22 -0
- data/lib/efl/elm/elm_win.rb +33 -0
- data/lib/efl/evas.rb +8 -7
- data/lib/efl/native.rb +45 -11
- data/lib/efl/native/ecore.rb +188 -210
- data/lib/efl/native/ecore_evas.rb +260 -207
- data/lib/efl/native/ecore_getopt.rb +17 -24
- data/lib/efl/native/ecore_input.rb +7 -11
- data/lib/efl/native/edje.rb +250 -202
- data/lib/efl/native/eet.rb +154 -155
- data/lib/efl/native/eina.rb +7 -13
- data/lib/efl/native/eina_hash.rb +41 -47
- data/lib/efl/native/eina_list.rb +39 -48
- data/lib/efl/native/eina_log.rb +21 -23
- data/lib/efl/native/eina_types.rb +8 -14
- data/lib/efl/native/eina_xattr.rb +21 -18
- data/lib/efl/native/elementary.rb +9 -3381
- data/lib/efl/native/elm/elm_actionslider.rb +54 -0
- data/lib/efl/native/elm/elm_anchorblock.rb +55 -0
- data/lib/efl/native/elm/elm_anchorview.rb +59 -0
- data/lib/efl/native/elm/elm_app.rb +53 -0
- data/lib/efl/native/elm/elm_bg.rb +53 -0
- data/lib/efl/native/elm/elm_box.rb +81 -0
- data/lib/efl/native/elm/elm_bubble.rb +44 -0
- data/lib/efl/native/elm/elm_button.rb +47 -0
- data/lib/efl/native/elm/elm_cache.rb +59 -0
- data/lib/efl/native/elm/elm_calendar.rb +76 -0
- data/lib/efl/native/elm/elm_check.rb +41 -0
- data/lib/efl/native/elm/elm_clock.rb +64 -0
- data/lib/efl/native/elm/elm_cnp.rb +54 -0
- data/lib/efl/native/elm/elm_colorselector.rb +39 -0
- data/lib/efl/native/elm/elm_config.rb +103 -0
- data/lib/efl/native/elm/elm_conform.rb +37 -0
- data/lib/efl/native/elm/elm_ctxpopup.rb +59 -0
- data/lib/efl/native/elm/elm_cursor.rb +51 -0
- data/lib/efl/native/elm/elm_debug.rb +37 -0
- data/lib/efl/native/elm/elm_diskselector.rb +76 -0
- data/lib/efl/native/elm/elm_engine.rb +41 -0
- data/lib/efl/native/elm/elm_entry.rb +242 -0
- data/lib/efl/native/elm/elm_factory.rb +41 -0
- data/lib/efl/native/elm/elm_fileselector.rb +67 -0
- data/lib/efl/native/elm/elm_fileselector_button.rb +63 -0
- data/lib/efl/native/elm/elm_fileselector_entry.rb +67 -0
- data/lib/efl/native/elm/elm_finger.rb +39 -0
- data/lib/efl/native/elm/elm_flip.rb +62 -0
- data/lib/efl/native/elm/elm_flipselector.rb +63 -0
- data/lib/efl/native/elm/elm_focus.rb +65 -0
- data/lib/efl/native/elm/elm_fonts.rb +66 -0
- data/lib/efl/native/elm/elm_frame.rb +45 -0
- data/lib/efl/native/elm/elm_general.rb +105 -0
- data/lib/efl/native/elm/elm_gengrid.rb +184 -0
- data/lib/efl/native/elm/elm_genlist.rb +240 -0
- data/lib/efl/native/elm/elm_gesture_layer.rb +76 -0
- data/lib/efl/native/elm/elm_glview.rb +70 -0
- data/lib/efl/native/elm/elm_grid.rb +51 -0
- data/lib/efl/native/elm/elm_hover.rb +51 -0
- data/lib/efl/native/elm/elm_hoversel.rb +60 -0
- data/lib/efl/native/elm/elm_icon.rb +97 -0
- data/lib/efl/native/elm/elm_image.rb +80 -0
- data/lib/efl/native/elm/elm_index.rb +63 -0
- data/lib/efl/native/elm/elm_label.rb +60 -0
- data/lib/efl/native/elm/elm_layout.rb +77 -0
- data/lib/efl/native/elm/elm_list.rb +105 -0
- data/lib/efl/native/elm/elm_map.rb +225 -0
- data/lib/efl/native/elm/elm_mapbuf.rb +47 -0
- data/lib/efl/native/elm/elm_menu.rb +77 -0
- data/lib/efl/native/elm/elm_mirroring.rb +45 -0
- data/lib/efl/native/elm/elm_multibuttonentry.rb +81 -0
- data/lib/efl/native/elm/elm_naviframe.rb +79 -0
- data/lib/efl/native/elm/elm_need.rb +41 -0
- data/lib/efl/native/elm/elm_notify.rb +57 -0
- data/lib/efl/native/elm/elm_object.rb +74 -0
- data/lib/efl/native/elm/elm_object_item.rb +93 -0
- data/lib/efl/native/elm/elm_panel.rb +55 -0
- data/lib/efl/native/elm/elm_panes.rb +51 -0
- data/lib/efl/native/elm/elm_password.rb +41 -0
- data/lib/efl/native/elm/elm_photo.rb +49 -0
- data/lib/efl/native/elm/elm_photocam.rb +74 -0
- data/lib/efl/native/elm/elm_plug.rb +39 -0
- data/lib/efl/native/elm/elm_progressbar.rb +61 -0
- data/lib/efl/native/elm/elm_radio.rb +49 -0
- data/lib/efl/native/elm/elm_route.rb +42 -0
- data/lib/efl/native/elm/elm_scale.rb +41 -0
- data/lib/efl/native/elm/elm_scroll.rb +49 -0
- data/lib/efl/native/elm/elm_scroller.rb +80 -0
- data/lib/efl/native/elm/elm_segment_control.rb +57 -0
- data/lib/efl/native/elm/elm_separator.rb +39 -0
- data/lib/efl/native/elm/elm_slider.rb +71 -0
- data/lib/efl/native/elm/elm_slideshow.rb +97 -0
- data/lib/efl/native/elm/elm_spinner.rb +73 -0
- data/lib/efl/native/elm/elm_store.rb +110 -0
- data/lib/efl/native/elm/elm_table.rb +53 -0
- data/lib/efl/native/elm/elm_theme.rb +81 -0
- data/lib/efl/native/elm/elm_thumb.rb +60 -0
- data/lib/efl/native/elm/elm_toolbar.rb +145 -0
- data/lib/efl/native/elm/elm_tooltip.rb +59 -0
- data/lib/efl/native/elm/elm_transit.rb +135 -0
- data/lib/efl/native/elm/elm_video.rb +71 -0
- data/lib/efl/native/elm/elm_web.rb +165 -0
- data/lib/efl/native/elm/elm_win.rb +221 -0
- data/lib/efl/native/emap.rb +28 -34
- data/lib/efl/native/evas.rb +640 -618
- data/spec/ecore_evas_spec.rb +28 -22
- data/spec/ecore_spec.rb +1 -0
- data/spec/edje_spec.rb +8 -1
- data/spec/eina_hash_spec.rb +0 -1
- data/spec/eina_list_spec.rb +0 -1
- data/spec/eina_log_spec.rb +10 -8
- data/spec/elm_spec.rb +4 -114
- data/spec/evas_spec.rb +13 -244
- data/spec/helper.rb +16 -15
- data/tasks/constants.rb +9 -9
- data/test/test_elm_win-native.rb +6 -4
- data/test/test_elm_win.rb +20 -19
- data/test/test_evas.rb +12 -12
- metadata +209 -64
- data/lib/efl/ffi.rb +0 -172
- data/test/test_elementary.rb +0 -271
- data/test/tests/test_actionslider.rb +0 -132
- data/test/tests/test_anchorbock.rb +0 -73
- data/test/tests/test_bg.rb +0 -151
- data/test/tests/test_box.rb +0 -147
- 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, █ 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
|
data/test/test_elementary.rb
DELETED
@@ -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
|