ffi-efl 0.0.9 → 0.0.10
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 +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
|