diff options
| author | Jérémy Zurcher <jeremy@asynk.ch> | 2011-04-21 11:58:01 +0200 | 
|---|---|---|
| committer | Jérémy Zurcher <jeremy@asynk.ch> | 2011-04-21 11:58:01 +0200 | 
| commit | a16b6aa23e7b03512b08df23f7512ee16b56fc17 (patch) | |
| tree | 7ca4defe1eb2a10138437b0ffbefc6a887c1a591 /lib/efl | |
| parent | eca9cca97c1389804e9ad325d4cf878d0dbc9259 (diff) | |
| download | ffi-efl-a16b6aa23e7b03512b08df23f7512ee16b56fc17.zip ffi-efl-a16b6aa23e7b03512b08df23f7512ee16b56fc17.tar.gz  | |
update ElmWin and test
Diffstat (limited to 'lib/efl')
| -rw-r--r-- | lib/efl/elementary.rb | 15 | 
1 files changed, 10 insertions, 5 deletions
diff --git a/lib/efl/elementary.rb b/lib/efl/elementary.rb index 4d82d54..ba263a8 100644 --- a/lib/efl/elementary.rb +++ b/lib/efl/elementary.rb @@ -20,20 +20,25 @@ module Efl          end          #          class ElmWin < Efl::Evas::EvasObject -            attr_reader :ptr +            attr_reader :evas_object              def initialize parent, title, type=:elm_win_basic -                @ptr = Efl::API.elm_win_add parent, title, type +                @evas_object = Evas::EvasObject.new Efl::API.elm_win_add parent, title, type                  yield self if block_given?              end              def add e -                Efl::API.send "elm_#{e}_add", @ptr +                eo = Evas::EvasObject.new Efl::API.send "elm_#{e}_add", @evas_object.ptr +                yield eo if block_given? +                eo +            end +            def smart_callback_add event_str, cb, data=FFI::MemoryPointer::NULL +                Efl::API.evas_object_smart_callback_add @evas_object.ptr, event_str, cb, data              end              def method_missing m, *args, &block                  [ 'elm_win_', 'elm_' ].each do |s|                      sym = s+m.to_s -                    puts sym -                    return Efl::API.send( sym, @ptr, *args, &block ) if Efl::API.respond_to? sym +                    return Efl::API.send( sym, @evas_object.ptr, *args, &block ) if Efl::API.respond_to? sym                  end +                Efl::API.send m              end          end          #  | 
