diff options
| -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 | 
