ffi-efl 0.0.9 → 0.0.10
Sign up to get free protection for your applications and to get access to all the features.
- data/Changelog +22 -1
- data/lib/efl.rb +1 -1
- data/lib/efl/elementary.rb +6 -14
- data/lib/efl/native/ecore.rb +49 -49
- data/lib/efl/native/ecore_evas.rb +68 -2
- data/lib/efl/native/edje.rb +19 -2
- data/lib/efl/native/eet.rb +22 -17
- data/lib/efl/native/eina_xattr.rb +61 -0
- data/lib/efl/native/elementary.rb +300 -276
- data/lib/efl/native/evas.rb +27 -0
- data/spec/ecore_evas_spec.rb +1 -1
- data/spec/ecore_getopt_spec.rb +1 -1
- data/spec/ecore_input_spec.rb +1 -1
- data/spec/ecore_spec.rb +1 -1
- data/spec/edje_spec.rb +1 -1
- data/spec/eet_spec.rb +2 -2
- data/spec/eina_hash_spec.rb +1 -1
- data/spec/eina_list_spec.rb +1 -1
- data/spec/eina_log_spec.rb +1 -1
- data/spec/elm_spec.rb +6 -6
- data/spec/evas_spec.rb +6 -6
- data/test/test_elementary.rb +3 -2
- data/test/tests/test_anchorbock.rb +73 -0
- data/test/tests/test_bg.rb +1 -1
- data/test/tests/test_buttons.rb +114 -0
- metadata +101 -90
data/lib/efl/native/evas.rb
CHANGED
@@ -36,6 +36,8 @@ module Efl
|
|
36
36
|
enum :evas_button_flags, [ :evas_button_none, 0, :evas_button_double_click, :evas_button_triple_click ]
|
37
37
|
# typedef enum _Evas_Event_Flags {...} Evas_Event_Flags;
|
38
38
|
enum :evas_event_flags, [ :evas_event_flag_none, 0, :evas_event_flag_on_hold, :evas_event_flag_on_scroll ]
|
39
|
+
# typedef enum _Evas_Touch_Point_State {...} Evas_Touch_Point_State;
|
40
|
+
enum :evas_touch_point_state, [ :evas_touch_point_down, :evas_touch_point_up, :evas_touch_point_move, :evas_touch_point_still, :evas_touch_point_cancel ]
|
39
41
|
# typedef enum _Evas_Font_Hinting_Flags {...} Evas_Font_Hinting_Flags;
|
40
42
|
enum :evas_font_hinting_flags, [ :evas_font_hinting_none, :evas_font_hinting_auto, :evas_font_hinting_bytecode ]
|
41
43
|
# typedef enum _Evas_Colorspace {...} Evas_Colorspace;
|
@@ -136,6 +138,9 @@ module Efl
|
|
136
138
|
# typedef struct _Evas_Native_Surface Evas_Native_Surface;
|
137
139
|
typedef :pointer, :evas_native_surface
|
138
140
|
typedef :pointer, :evas_native_surface_p
|
141
|
+
# typedef struct _Evas_Video_Surface Evas_Video_Surface;
|
142
|
+
typedef :pointer, :evas_video_surface
|
143
|
+
typedef :pointer, :evas_video_surface_p
|
139
144
|
# typedef unsigned long long Evas_Modifier_Mask;
|
140
145
|
typedef :ulong_long, :evas_modifier_mask
|
141
146
|
# typedef int Evas_Coord;
|
@@ -213,6 +218,10 @@ module Efl
|
|
213
218
|
typedef :pointer, :evas_cserve_config_p
|
214
219
|
#
|
215
220
|
# CALLBACKS
|
221
|
+
# typedef void (*Evas_Video_Cb) (void *data, Evas_Object *obj, const Evas_Video_Surface *surface);
|
222
|
+
callback :evas_video_cb, [ :void_p, :evas_object_p, :evas_video_surface_p ], :void
|
223
|
+
# typedef void (*Evas_Video_Coord_Cb) (void *data, Evas_Object *obj, const Evas_Video_Surface *surface, Evas_Coord a, Evas_Coord b);
|
224
|
+
callback :evas_video_coord_cb, [ :void_p, :evas_object_p, :evas_video_surface_p, :int, :int ], :void
|
216
225
|
# typedef void (*Evas_Smart_Cb) (void *data, Evas_Object *obj, void *event_info);
|
217
226
|
callback :evas_smart_cb, [ :void_p, :evas_object_p, :void_p ], :void
|
218
227
|
# typedef void (*Evas_Event_Cb) (void *data, Evas *e, void *event_info);
|
@@ -408,6 +417,8 @@ module Efl
|
|
408
417
|
[ :evas_image_cache_set, [ :evas_p, :int ], :void ],
|
409
418
|
# EAPI int evas_image_cache_get (const Evas *e);
|
410
419
|
[ :evas_image_cache_get, [ :evas_p ], :int ],
|
420
|
+
# EAPI Eina_Bool evas_image_max_size_get (const Evas *e, int *maxw, int *maxh);
|
421
|
+
[ :evas_image_max_size_get, [ :evas_p, :int_p, :int_p ], :eina_bool ],
|
411
422
|
# EAPI void evas_font_hinting_set (Evas *e, Evas_Font_Hinting_Flags hinting);
|
412
423
|
[ :evas_font_hinting_set, [ :evas_p, :evas_font_hinting_flags ], :void ],
|
413
424
|
# EAPI Evas_Font_Hinting_Flags evas_font_hinting_get (const Evas *e);
|
@@ -510,6 +521,10 @@ module Efl
|
|
510
521
|
[ :evas_object_propagate_events_set, [ :evas_object_p, :eina_bool ], :void ],
|
511
522
|
# EAPI Eina_Bool evas_object_propagate_events_get (const Evas_Object *obj);
|
512
523
|
[ :evas_object_propagate_events_get, [ :evas_object_p ], :eina_bool ],
|
524
|
+
# EAPI void evas_object_freeze_events_set(Evas_Object *obj, Eina_Bool freeze);
|
525
|
+
[ :evas_object_freeze_events_set, [ :evas_object_p, :eina_bool ], :void ],
|
526
|
+
# EAPI Eina_Bool evas_object_freeze_events_get(const Evas_Object *obj);
|
527
|
+
[ :evas_object_freeze_events_get, [ :evas_object_p ], :eina_bool ],
|
513
528
|
# EAPI void evas_object_map_enable_set (Evas_Object *obj, Eina_Bool enabled);
|
514
529
|
[ :evas_object_map_enable_set, [ :evas_object_p, :eina_bool ], :void ],
|
515
530
|
# EAPI Eina_Bool evas_object_map_enable_get (const Evas_Object *obj);
|
@@ -798,6 +813,10 @@ module Efl
|
|
798
813
|
[ :evas_object_image_native_surface_set, [ :evas_object_p, :evas_native_surface_p ], :void ],
|
799
814
|
# EAPI Evas_Native_Surface *evas_object_image_native_surface_get (const Evas_Object *obj);
|
800
815
|
[ :evas_object_image_native_surface_get, [ :evas_object_p ], :evas_native_surface_p ],
|
816
|
+
# EAPI void evas_object_image_video_surface_set (Evas_Object *obj, Evas_Video_Surface *surf);
|
817
|
+
[ :evas_object_image_video_surface_set, [ :evas_object_p, :evas_video_surface_p ], :void ],
|
818
|
+
# EAPI const Evas_Video_Surface *evas_object_image_video_surface_get (const Evas_Object *obj);
|
819
|
+
[ :evas_object_image_video_surface_get, [ :evas_object_p ], :evas_video_surface_p ],
|
801
820
|
# EAPI void evas_object_image_scale_hint_set (Evas_Object *obj, Evas_Image_Scale_Hint hint);
|
802
821
|
[ :evas_object_image_scale_hint_set, [ :evas_object_p, :evas_image_scale_hint ], :void ],
|
803
822
|
# EAPI Evas_Image_Scale_Hint evas_object_image_scale_hint_get (const Evas_Object *obj);
|
@@ -1326,6 +1345,14 @@ module Efl
|
|
1326
1345
|
[ :evas_object_key_grab, [ :evas_object_p, :string, :ulong_long, :ulong_long, :eina_bool ], :eina_bool ],
|
1327
1346
|
# EAPI void evas_object_key_ungrab (Evas_Object *obj, const char *keyname, Evas_Modifier_Mask modifiers, Evas_Modifier_Mask not_modifiers);
|
1328
1347
|
[ :evas_object_key_ungrab, [ :evas_object_p, :string, :ulong_long, :ulong_long ], :void ],
|
1348
|
+
# EAPI unsigned int evas_touch_point_list_count(Evas *e);
|
1349
|
+
[ :evas_touch_point_list_count, [ :evas_p ], :uint ],
|
1350
|
+
# EAPI void evas_touch_point_list_nth_xy_get(Evas *e, unsigned int n, Evas_Coord *x, Evas_Coord *y);
|
1351
|
+
[ :evas_touch_point_list_nth_xy_get, [ :evas_p, :uint, :int_p, :int_p ], :void ],
|
1352
|
+
# EAPI int evas_touch_point_list_nth_id_get(Evas *e, unsigned int n);
|
1353
|
+
[ :evas_touch_point_list_nth_id_get, [ :evas_p, :uint ], :int ],
|
1354
|
+
# EAPI Evas_Touch_Point_State evas_touch_point_list_nth_state_get(Evas *e, unsigned int n);
|
1355
|
+
[ :evas_touch_point_list_nth_state_get, [ :evas_p, :uint ], :evas_touch_point_state ],
|
1329
1356
|
]
|
1330
1357
|
#
|
1331
1358
|
attach_fcts fcts
|
data/spec/ecore_evas_spec.rb
CHANGED
data/spec/ecore_getopt_spec.rb
CHANGED
data/spec/ecore_input_spec.rb
CHANGED
data/spec/ecore_spec.rb
CHANGED
@@ -130,7 +130,7 @@ describe "Efl::Ecore #{Efl::Ecore.version.full}" do
|
|
130
130
|
e2.free
|
131
131
|
end
|
132
132
|
#
|
133
|
-
describe Efl::Ecore::REcorePipe do
|
133
|
+
describe 'Efl::Ecore::REcorePipe' do
|
134
134
|
#
|
135
135
|
it 'should write and read data from pipe' do
|
136
136
|
data = FFI::MemoryPointer.from_string("none")
|
data/spec/edje_spec.rb
CHANGED
data/spec/eet_spec.rb
CHANGED
@@ -42,7 +42,7 @@ describe "Efl::Eet #{Efl::Eet.version.full}" do
|
|
42
42
|
Native.enum_type(:eet_file_mode)[:eet_file_mode_read_write].should == 2
|
43
43
|
end
|
44
44
|
#
|
45
|
-
describe Efl::Eet::REetFile do
|
45
|
+
describe 'Efl::Eet::REetFile' do
|
46
46
|
#
|
47
47
|
it "should open and close" do
|
48
48
|
f = REetFile.open FP, Native.enum_type(:eet_file_mode)[:eet_file_mode_write]
|
@@ -83,7 +83,7 @@ describe "Efl::Eet #{Efl::Eet.version.full}" do
|
|
83
83
|
f = REetFile.open FP, :eet_file_mode_read_write
|
84
84
|
f.write 'configg', 'test key'
|
85
85
|
f.read('configg').should == 'test key'
|
86
|
-
|
86
|
+
f.close
|
87
87
|
end
|
88
88
|
#
|
89
89
|
it "should write in block" do
|
data/spec/eina_hash_spec.rb
CHANGED
data/spec/eina_list_spec.rb
CHANGED
data/spec/eina_log_spec.rb
CHANGED
data/spec/elm_spec.rb
CHANGED
@@ -25,7 +25,7 @@ describe "Efl::Elm #{Efl::Elm.version.full}" do
|
|
25
25
|
Elm.shutdown.should == @init
|
26
26
|
end
|
27
27
|
#
|
28
|
-
describe Efl::Elm::ElmWin do
|
28
|
+
describe 'Efl::Elm::ElmWin' do
|
29
29
|
before(:each) {
|
30
30
|
realize_win
|
31
31
|
}
|
@@ -179,7 +179,7 @@ describe "Efl::Elm #{Efl::Elm.version.full}" do
|
|
179
179
|
# TODO EAPI void elm_win_illume_command_send(Evas_Object *obj, Elm_Illume_Command command, void *params);;
|
180
180
|
# TODO EAPI Ecore_X_Window elm_win_xwindow_get(const Evas_Object *obj);
|
181
181
|
#
|
182
|
-
describe Efl::Elm::ElmInWin do
|
182
|
+
describe 'Efl::Elm::ElmInWin' do
|
183
183
|
it "activate, content set/get/unset" do
|
184
184
|
@iwin = @win.inwin_add
|
185
185
|
o1 = @win.evas.object_rectangle_add
|
@@ -200,7 +200,7 @@ describe "Efl::Elm #{Efl::Elm.version.full}" do
|
|
200
200
|
end
|
201
201
|
end
|
202
202
|
#
|
203
|
-
describe Efl::Elm::ElmBg do
|
203
|
+
describe 'Efl::Elm::ElmBg' do
|
204
204
|
before(:all) {
|
205
205
|
realize_win
|
206
206
|
}
|
@@ -242,7 +242,7 @@ describe "Efl::Elm #{Efl::Elm.version.full}" do
|
|
242
242
|
end
|
243
243
|
end
|
244
244
|
#
|
245
|
-
describe Efl::Elm::ElmLabel do
|
245
|
+
describe 'Efl::Elm::ElmLabel' do
|
246
246
|
#
|
247
247
|
before(:all) {
|
248
248
|
realize_win
|
@@ -292,7 +292,7 @@ describe "Efl::Elm #{Efl::Elm.version.full}" do
|
|
292
292
|
end
|
293
293
|
end
|
294
294
|
#
|
295
|
-
describe Efl::Elm::ElmPager do
|
295
|
+
describe 'Efl::Elm::ElmPager' do
|
296
296
|
#
|
297
297
|
before(:all) {
|
298
298
|
realize_win
|
@@ -323,7 +323,7 @@ describe "Efl::Elm #{Efl::Elm.version.full}" do
|
|
323
323
|
end
|
324
324
|
end
|
325
325
|
#
|
326
|
-
describe Efl::Elm::ElmPanel do
|
326
|
+
describe 'Efl::Elm::ElmPanel' do
|
327
327
|
#
|
328
328
|
before(:all) {
|
329
329
|
realize_win
|
data/spec/evas_spec.rb
CHANGED
@@ -58,7 +58,7 @@ describe "Efl::Evas #{Efl::Evas.version.full}" do
|
|
58
58
|
Evas.async_events_process.should == 0
|
59
59
|
end
|
60
60
|
#
|
61
|
-
describe Efl::Evas::REvas do
|
61
|
+
describe 'Efl::Evas::REvas' do
|
62
62
|
before(:all) do
|
63
63
|
realize_evas
|
64
64
|
end
|
@@ -294,7 +294,7 @@ describe "Efl::Evas #{Efl::Evas.version.full}" do
|
|
294
294
|
# TODO evas_objects_at_xy_get, evas_objects_in_rectangle_get, evas_object_bottom_get, evas_object_top_get
|
295
295
|
end
|
296
296
|
#
|
297
|
-
describe Efl::Evas::REvasObject do
|
297
|
+
describe 'Efl::Evas::REvasObject' do
|
298
298
|
#
|
299
299
|
before(:all) do
|
300
300
|
realize_evas
|
@@ -556,7 +556,7 @@ describe "Efl::Evas #{Efl::Evas.version.full}" do
|
|
556
556
|
#
|
557
557
|
end
|
558
558
|
#
|
559
|
-
describe Efl::Evas::REvasLine do
|
559
|
+
describe 'Efl::Evas::REvasLine' do
|
560
560
|
#
|
561
561
|
before(:all) do
|
562
562
|
realize_evas
|
@@ -572,7 +572,7 @@ describe "Efl::Evas #{Efl::Evas.version.full}" do
|
|
572
572
|
end
|
573
573
|
end
|
574
574
|
#
|
575
|
-
describe Efl::Evas::REvasPolygon do
|
575
|
+
describe 'Efl::Evas::REvasPolygon' do
|
576
576
|
#
|
577
577
|
before(:all) do
|
578
578
|
realize_evas
|
@@ -594,7 +594,7 @@ describe "Efl::Evas #{Efl::Evas.version.full}" do
|
|
594
594
|
end
|
595
595
|
end
|
596
596
|
#
|
597
|
-
describe Efl::Evas::REvasText do
|
597
|
+
describe 'Efl::Evas::REvasText' do
|
598
598
|
#
|
599
599
|
before(:all) do
|
600
600
|
realize_evas
|
@@ -702,7 +702,7 @@ describe "Efl::Evas #{Efl::Evas.version.full}" do
|
|
702
702
|
#
|
703
703
|
end
|
704
704
|
#
|
705
|
-
describe Efl::Evas::REvasBox do
|
705
|
+
describe 'Efl::Evas::REvasBox' do
|
706
706
|
#
|
707
707
|
before(:all) do
|
708
708
|
realize_evas
|
data/test/test_elementary.rb
CHANGED
@@ -188,7 +188,8 @@ class TestWin < Elm::ElmWin
|
|
188
188
|
@fr.content = lb
|
189
189
|
lb.show
|
190
190
|
end
|
191
|
-
Elm::
|
191
|
+
Elm::ElmCheck.new self do |tg|
|
192
|
+
tg.style = 'toggle'
|
192
193
|
tg.text = 'UI-Mirroring:'
|
193
194
|
tg.state = Native.elm_mirrored_get
|
194
195
|
tg.smart_callback_add 'changed', method(:tg_changed)
|
@@ -237,7 +238,7 @@ class TestWin < Elm::ElmWin
|
|
237
238
|
end
|
238
239
|
#
|
239
240
|
def tg_changed data, evas_obj, event_info
|
240
|
-
Native.elm_mirrored_set Native.
|
241
|
+
Native.elm_mirrored_set Native.elm_check_state_get evas_obj
|
241
242
|
end
|
242
243
|
#
|
243
244
|
def index_changed data, evas_obj, event_info
|
@@ -0,0 +1,73 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
# -*- coding: UTF-8 -*-
|
3
|
+
#
|
4
|
+
module Tests
|
5
|
+
#
|
6
|
+
class TestAnchorBlock < Efl::Elm::ElmWin
|
7
|
+
def initialize name, title, fct
|
8
|
+
super nil, name
|
9
|
+
self.title = title
|
10
|
+
self.autodel = true
|
11
|
+
self.send fct
|
12
|
+
@bg.size_hint_min = 160, 160
|
13
|
+
@bg.size_hint_max = 640, 640
|
14
|
+
self.resize 320, 230
|
15
|
+
self.show
|
16
|
+
end
|
17
|
+
def simple
|
18
|
+
@bg = Elm::ElmBg.new self do |bg|
|
19
|
+
bg.size_hint_weight_expand
|
20
|
+
self.resize_object_add bg
|
21
|
+
bg.show
|
22
|
+
end
|
23
|
+
@sc = Elm::ElmScroller.new self do |sc|
|
24
|
+
sc.size_hint_weight_expand
|
25
|
+
self.resize_object_add sc
|
26
|
+
end
|
27
|
+
# evas_object_smart_callback_add(sc, "edge_left", my_anchorblock_edge_left, NULL);
|
28
|
+
# evas_object_smart_callback_add(sc, "edge_right", my_anchorblock_edge_right, NULL);
|
29
|
+
# evas_object_smart_callback_add(sc, "edge_top", my_anchorblock_edge_top, NULL);
|
30
|
+
# evas_object_smart_callback_add(sc, "edge_bottom", my_anchorblock_edge_bottom, NULL);
|
31
|
+
# evas_object_smart_callback_add(sc, "scroll", my_anchorblock_scroll, NULL);
|
32
|
+
@bx = Elm::ElmBox.new self do |bx|
|
33
|
+
bx.size_hint_weight_set Evas::EVAS_HINT_EXPAND, 0.0
|
34
|
+
bx.size_hint_align_fill
|
35
|
+
bx.show
|
36
|
+
end
|
37
|
+
ico = Elm::ElmIcon.new self do |ic|
|
38
|
+
ic.file = "#{PACKAGE_DATA_DIR}/image/logo_small.png"
|
39
|
+
end
|
40
|
+
end
|
41
|
+
def cb_radio_changed data, evas_obj, event_info
|
42
|
+
@o_bg.option = Elm::ElmRadio.new(evas_obj).value
|
43
|
+
end
|
44
|
+
def cb_overlay_changed data, evas_obj, event_info
|
45
|
+
if Elm::ElmCheck.new(evas_obj).state
|
46
|
+
over = @o_bg.parent_widget.evas.edje_object_add
|
47
|
+
over.file = "#{PACKAGE_DATA_DIR}/objects/test.edj", "bg_overlay"
|
48
|
+
@o_bg.overlay = over
|
49
|
+
else
|
50
|
+
@o_bg.overlay = FFI::Pointer::NULL
|
51
|
+
end
|
52
|
+
end
|
53
|
+
def cb_color_changed data, evas_obj, event_info
|
54
|
+
case Elm::ElmSpinner.new(evas_obj).value
|
55
|
+
when 1.0
|
56
|
+
@o_bg.color = 255, 255, 255
|
57
|
+
when 2.0
|
58
|
+
@o_bg.color = 255, 0, 0
|
59
|
+
when 3.0
|
60
|
+
@o_bg.color = 0, 0, 255
|
61
|
+
when 4.0
|
62
|
+
@o_bg.color = 0, 255, 0
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
#
|
67
|
+
def self.test_anchorblock
|
68
|
+
TestAnchorBlock.new 'anchorblock', 'Anchorblock', :simple
|
69
|
+
end
|
70
|
+
#
|
71
|
+
end
|
72
|
+
#
|
73
|
+
# EOF
|
data/test/tests/test_bg.rb
CHANGED
@@ -0,0 +1,114 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
# -*- coding: UTF-8 -*-
|
3
|
+
#
|
4
|
+
module Tests
|
5
|
+
#
|
6
|
+
class TestBg < Efl::Elm::ElmWin
|
7
|
+
def initialize name, title, fct
|
8
|
+
super nil, name
|
9
|
+
self.title = title
|
10
|
+
self.autodel = true
|
11
|
+
@bg = Elm::ElmBg.new self do |bg|
|
12
|
+
bg.size_hint_weight_expand
|
13
|
+
self.resize_object_add bg
|
14
|
+
bg.show
|
15
|
+
end
|
16
|
+
self.send fct
|
17
|
+
self.resize 320, 480
|
18
|
+
self.show
|
19
|
+
end
|
20
|
+
#
|
21
|
+
def __create_butt_ico txt=nil, do_icon=true
|
22
|
+
if do_icon
|
23
|
+
ico = Elm::ElmIcon.new self
|
24
|
+
ico.file = "#{PACKAGE_DATA_DIR}/images/logo_small.png", nil
|
25
|
+
else
|
26
|
+
ico = nil
|
27
|
+
end
|
28
|
+
bt = Efl::Elm::ElmButton.new self
|
29
|
+
bt.text = txt unless txt.nil?
|
30
|
+
bt.icon = ico if ico
|
31
|
+
bt.smart_callback_add "clicked", method(:bt_clicked_cb)
|
32
|
+
bt.smart_callback_add "unpressed", method(:bt_unpressed_cb)
|
33
|
+
@bx.pack_end bt
|
34
|
+
@buttons << bt
|
35
|
+
ico.show if ico
|
36
|
+
bt.show
|
37
|
+
[bt,ico]
|
38
|
+
end
|
39
|
+
#
|
40
|
+
def buttons
|
41
|
+
@scr = Efl::Elm::ElmScroller.new self do |scr|
|
42
|
+
scr.bounce = false, true
|
43
|
+
scr.policy = :elm_scroller_policy_off, :elm_scroller_policy_auto
|
44
|
+
self.resize_object_add scr
|
45
|
+
scr.size_hint_weight_expand
|
46
|
+
scr.show
|
47
|
+
end
|
48
|
+
@bx = Efl::Elm::ElmBox.new self do |bx|
|
49
|
+
bx.size_hint_weight_expand
|
50
|
+
@scr.content = bx
|
51
|
+
bx.show
|
52
|
+
end
|
53
|
+
#
|
54
|
+
@buttons = []
|
55
|
+
#
|
56
|
+
bt,ico = __create_butt_ico "Icon sized to button"
|
57
|
+
ico.size_hint_aspect = :evas_aspect_control_vertical, 1, 1
|
58
|
+
#
|
59
|
+
bt,ico = __create_butt_ico "Icon no scale"
|
60
|
+
ico.scale = false, false
|
61
|
+
#
|
62
|
+
bt,ico = __create_butt_ico "Disabled Button"
|
63
|
+
bt.disabled = true
|
64
|
+
ico.size_hint_aspect = :evas_aspect_control_vertical, 1, 1
|
65
|
+
#
|
66
|
+
bt,ico = __create_butt_ico
|
67
|
+
bt.disabled = true
|
68
|
+
ico.size_hint_aspect = :evas_aspect_control_vertical, 1, 1
|
69
|
+
#
|
70
|
+
bt,ico = __create_butt_ico "Label Only", false
|
71
|
+
bt.smart_callback_add "repeated", method(:bt_repeated_cb)
|
72
|
+
bt.autorepeat = true
|
73
|
+
bt.autorepeat_gap_timeout = 0.5
|
74
|
+
bt.autorepeat_initial_timeout = 2.0
|
75
|
+
#
|
76
|
+
bt,ico = __create_butt_ico
|
77
|
+
ico.scale = false, false
|
78
|
+
#
|
79
|
+
bt,ico = __create_butt_ico "Anchor style", false
|
80
|
+
bt.style = "anchor"
|
81
|
+
#
|
82
|
+
bt,ico = __create_butt_ico
|
83
|
+
ico.size_hint_aspect = :evas_aspect_control_vertical, 1, 1
|
84
|
+
bt.style = "anchor"
|
85
|
+
#
|
86
|
+
bt,ico = __create_butt_ico
|
87
|
+
ico.size_hint_aspect = :evas_aspect_control_vertical, 1, 1
|
88
|
+
bt.style = "anchor"
|
89
|
+
bt.disabled = true
|
90
|
+
bt.access_info_set "This is some custom text describing this widget"
|
91
|
+
end
|
92
|
+
#
|
93
|
+
def bt_clicked_cb data, evas_obj, event_info
|
94
|
+
idx = @buttons.index @buttons.find { |b| b.to_ptr==evas_obj }
|
95
|
+
puts "clicked event on Button: #{idx+1}"
|
96
|
+
end
|
97
|
+
#
|
98
|
+
def bt_unpressed_cb data, evas_obj, event_info
|
99
|
+
idx = @buttons.index @buttons.find { |b| b.to_ptr==evas_obj }
|
100
|
+
puts "unpressed event on Button: #{idx+1}"
|
101
|
+
end
|
102
|
+
#
|
103
|
+
def bt_repeated_cb data, evas_obj, event_info
|
104
|
+
@count = ((@count||=0)+1)%1000
|
105
|
+
Efl::Elm::ElmButton.new(evas_obj).text = "count = #{@count}"
|
106
|
+
end
|
107
|
+
end
|
108
|
+
#
|
109
|
+
def self.test_button
|
110
|
+
TestBg.new 'buttons', 'Buttons', :buttons
|
111
|
+
end
|
112
|
+
end
|
113
|
+
#
|
114
|
+
# EOF
|