diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2013-02-19 00:45:15 +0100 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2013-02-19 00:45:15 +0100 |
commit | 90ae47e71fb3d7179a703bcc344c284e468f59da (patch) | |
tree | 6e006829cd89edd17b929e43e8f4ae5d69390262 /test/test_list.rb | |
parent | b1c747d11c0e51e28cc3db53cae780654b88c1e5 (diff) | |
parent | 745d270cc955b01264e9f11297ec6bd3ab2fb47d (diff) | |
download | ffi-efl-90ae47e71fb3d7179a703bcc344c284e468f59da.zip ffi-efl-90ae47e71fb3d7179a703bcc344c284e468f59da.tar.gz |
Merge branch 'master' of github.com:jeremyz/ffi-efl
Diffstat (limited to 'test/test_list.rb')
-rw-r--r-- | test/test_list.rb | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/test/test_list.rb b/test/test_list.rb new file mode 100644 index 0000000..583a5bd --- /dev/null +++ b/test/test_list.rb @@ -0,0 +1,60 @@ +#! /usr/bin/env ruby +# -*- coding: UTF-8 -*- +# +require 'efl/elm/elm_win' +require 'efl/elm/elm_bg' +require 'efl/elm/elm_list' +# +include Efl +# +class MyWin < Elm::ElmWin + # + def initialize name, title, &block + super FFI::MemoryPointer::NULL, name, &block + title_set title + feed + smart_callback_add "delete,request", method(:on_delete), FFI::MemoryPointer.from_string("my data") + end + # + def feed + _self = self + @bg = Elm::ElmBg.new(self) do + size_hint_weight_expand + evas_object_color_set 150,180,100,180 + + show + end + resize_object_add @bg + @list = Elm::ElmList.new(self) do + Dir.entries(ENV["HOME"]).each do |entry| + next if entry[0] == '.' + item_append entry, nil, nil, _self.method(:on_select), + FFI::MemoryPointer.from_string(entry) + end + size_hint_weight_expand + show + end + resize_object_add @list + end + # + def on_select data, evas_object, event_info + p [:selected, data.read_string] + end + # + def on_delete data, evas_object, event_info + puts "EXIT #{data.read_string}" + Elm.exit + end +end +# +Elm.init +# +win = MyWin.new "MyList", "List Example" do + alpha_set true + resize 300, 200 + center_set 600, 300 + show +end +# +Elm.run +Elm.shutdown |