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