thanatermesis pushed a commit to branch master.

http://git.enlightenment.org/bindings/ruby/ffi-efl.git/commit/?id=63951e9d43b56080c118a517f002fc00243ff0ba

commit 63951e9d43b56080c118a517f002fc00243ff0ba
Author: Thanatermesis <[email protected]>
Date:   Fri Nov 28 12:36:06 2014 +0100

    Example code for list with buttons
    
     This example is very simple and plain but can be used as a demo of how
     to make a list with buttons
---
 test/test_list_buttons-native.rb | 71 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 71 insertions(+)

diff --git a/test/test_list_buttons-native.rb b/test/test_list_buttons-native.rb
new file mode 100644
index 0000000..3e6607f
--- /dev/null
+++ b/test/test_list_buttons-native.rb
@@ -0,0 +1,71 @@
+#! /usr/bin/env ruby
+# -*- coding: UTF-8 -*-
+#
+# This is a very simple, plain and no-dynamic code that shows how to make a 
simple list with buttons on it
+#
+#
+require 'efl/elm/elm_win'
+require 'efl/elm/elm_icon'
+require 'efl/elm/elm_button'
+require 'efl/elm/elm_object'
+require 'efl/elm/elm_bg'
+require 'efl/elm/elm_list'
+#
+include Efl::Native
+
+def bt_clicked data, object, event
+  puts "button clicked"
+end
+
+def it_clicked data, object, event
+  puts "item clicked"
+end
+
+
+#
+elm_init 0, FFI::MemoryPointer::NULL
+#
+win = elm_win_add(nil, "list button", 0)
+elm_win_title_set(win, "ListButton")
+elm_policy_set(0, 1)
+elm_win_autodel_set(win, true)
+#
+bg = elm_bg_add(win)
+elm_bg_color_set(bg, 255, 255, 255)
+evas_object_size_hint_weight_set(bg, 1.0, 1.0)
+elm_win_resize_object_add(win, bg)
+evas_object_show(bg)
+
+li = elm_list_add(win)
+evas_object_size_hint_weight_set(li, 1.0, 1.0)
+elm_win_resize_object_add(win, li)
+elm_list_mode_set(li, 1)
+evas_object_show(li)
+
+#ic = elm_icon_add(win)
+##snprintf(buf, sizeof(buf), "%s/images/logo_small.png", 
elm_app_data_dir_get())
+#elm_image_resizable_set(ic, EINA_FALSE, EINA_FALSE)
+#elm_image_file_set(ic, buf, NULL)
+ic2 = elm_button_add(win)
+elm_object_part_text_set(ic2, nil, "Click me")
+evas_object_smart_callback_add(ic2, "clicked", method(:bt_clicked), nil)
+evas_object_propagate_events_set(ic2, false)
+elm_list_item_append(li, "Hello", nil, ic2, method(:it_clicked), nil)
+evas_object_show(ic2)
+
+ic3 = elm_button_add(win)
+elm_object_part_text_set(ic3, nil, "Click me")
+evas_object_smart_callback_add(ic3, "clicked", method(:bt_clicked), nil)
+evas_object_propagate_events_set(ic3, false)
+
+# elm_list_item_append is what adds entries, you can add optionally evas 
objetcts like buttons or icons in the start and/or the end of each entry
+elm_list_item_append(li, "Hello", nil, ic3, method(:it_clicked), nil)
+evas_object_show(ic3)
+
+#
+evas_object_resize(win, 200, 300)
+evas_object_show(win)
+#
+elm_run
+elm_shutdown
+#

-- 


Reply via email to