diff options
| author | Jérémy Zurcher <jeremy@asynk.ch> | 2011-09-02 02:10:16 +0200 | 
|---|---|---|
| committer | Jérémy Zurcher <jeremy@asynk.ch> | 2011-09-02 02:10:16 +0200 | 
| commit | 249834a10ffac99ebe7341c14ff78893ca4eba9d (patch) | |
| tree | f0edd576229f440ca08e4790d7fc224d1c86ecec | |
| parent | 9104c34f52655e9fb0803907c3c667f2b364a7f2 (diff) | |
| download | ffi-efl-249834a10ffac99ebe7341c14ff78893ca4eba9d.zip ffi-efl-249834a10ffac99ebe7341c14ff78893ca4eba9d.tar.gz  | |
test_elementary: add test_box
| -rw-r--r-- | test/tests/test_box.rb | 147 | 
1 files changed, 147 insertions, 0 deletions
diff --git a/test/tests/test_box.rb b/test/tests/test_box.rb new file mode 100644 index 0000000..11665ed --- /dev/null +++ b/test/tests/test_box.rb @@ -0,0 +1,147 @@ +#! /usr/bin/env ruby +# -*- coding: UTF-8 -*- +# +module Tests +    # +    class TestBox < Efl::Elm::ElmWin +        def initialize name, title, fct +            super nil, name +            self.title = title +            self.autodel = true +            @bg = Elm::ElmBg.new self do |bg| +                bg.size_hint_weight_expand +                self.resize_object_add bg +                bg.show +            end +            self.send fct +            self.show +        end +        # +        def box_vert +            @bx = Elm::ElmBox.new self do |bx| +                bx.size_hint_weight_expand +                self.resize_object_add bx +                bx.show +            end +            icons = [] +            (0..2).each do +                icons << Elm::ElmIcon.new(self) do |ico| +                    ico.file = "#{PACKAGE_DATA_DIR}/images/logo_small.png", nil +                    ico.scale = false, false +                    @bx.pack_end ico +                    ico.show +                end +            end +            icons[0].size_hint_align = 0.5, 0.5 +            icons[1].size_hint_align = 0.0, 0.5 +            icons[2].size_hint_align = Efl::Evas::EVAS_HINT_EXPAND, 0.5 +        end +        # +        def box_vert2 +            @bx = Elm::ElmBox.new self do |bx| +                bx.padding = 10, 10 +                self.resize_object_add bx +                bx.size_hint_weight_expand +                bx.show +            end +            (1..5).each do |n| +                bt = Efl::Elm::ElmButton.new self +                bt.text = "Button #{n}" +                bt.size_hint_align_fill +                bt.size_hint_weight = 0.0, 0.0 +                bt.smart_callback_add "clicked", method(:del_cb) +                @bx.pack_end bt +                bt.show +            end +        end +        # +        def del_cb data, evas_obj, event_info +            o = Efl::Elm::ElmObject.new(evas_obj) +            @bx.unpack o +            o.move 0, 0 +            o.color = 128, 64, 0, 128 +        end +        # +        def box_horiz +            @bx = Elm::ElmBox.new self do |bx| +                bx.horizontal = true +                self.resize_object_add bx +                bx.size_hint_weight_expand +                bx.show +            end +            icons = [] +            (0..2).each do +                icons << Elm::ElmIcon.new(self) do |ico| +                    ico.file = "#{PACKAGE_DATA_DIR}/images/logo_small.png", nil +                    ico.scale = false, false +                    @bx.pack_end ico +                    ico.show +                end +            end +            icons[0].size_hint_align = 0.5, 0.5 +            icons[1].size_hint_align = 0.5, 0.0 +            icons[2].size_hint_align = 0.0, Efl::Evas::EVAS_HINT_EXPAND +        end +        # +        def box_transition +            @bx = Elm::ElmBox.new self do |bx| +                self.resize_object_add bx +                bx.size_hint_weight_expand +                bx.show +            end +            (1..3).each do |n| +                bt = Efl::Elm::ElmButton.new self +                bt.text = "Button #{n}" +                bt.size_hint_weight_expand +#                bt.size_hint_align_fill +                bt.smart_callback_add "clicked", method(:del_cb) +                @bx.pack_end bt +                bt.resize 100, 100 +                bt.show +            end +            @idx = 0 +            @transitions = [ +                Efl::Native.find_variable('evas_object_box_layout_vertical'), +                Efl::Native.find_variable('evas_object_box_layout_horizontal'), +                Efl::Native.find_variable('evas_object_box_layout_stack'), +                Efl::Native.find_variable('evas_object_box_layout_homogeneous_vertical'), +                Efl::Native.find_variable('evas_object_box_layout_homogeneous_horizontal'), +                Efl::Native.find_variable('evas_object_box_layout_flow_vertical'), +                Efl::Native.find_variable('evas_object_box_layout_flow_horizontal'), +                Efl::Native.find_variable('evas_object_box_layout_stack'), +            ] +            self.resize 300, 300 +            @bx.resize 300, 300 +            @bx.layout =  @transitions[@idx], nil, nil +            self.show +            transition_change +        end +        # +        def transition_change data=nil +            last_layout = @transitions[@idx] +            @idx = (@idx+1) % @transitions.length +            next_layout = @transitions[@idx] +            transition = Efl::Native.elm_box_transition_new 1.0, last_layout, nil, nil, next_layout, nil, nil, method(:transition_change), nil +            transition_fct = Efl::Native.find_variable('elm_box_layout_transition') +            transition_free = Efl::Native.find_variable('elm_box_transition_free') +            @bx.layout = transition_fct, transition, transition_free +        end +        # +    end +    # +    def self.test_box_vert +        TestBox.new 'box-vert', 'Box Vert', :box_vert +    end +    def self.test_box_vert2 +        TestBox.new 'box-vert', 'Box Vert', :box_vert2 +    end +    def self.test_box_horiz +        TestBox.new 'box-horiz', 'Box Horiz', :box_horiz +    end +    def self.test_box_transition +        TestBox.new 'box-transition', 'Box Transition', :box_transition +    end +    # +end +# +# EOF  | 
