diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/test_layout.rb | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/test/test_layout.rb b/test/test_layout.rb new file mode 100644 index 0000000..34cc4aa --- /dev/null +++ b/test/test_layout.rb @@ -0,0 +1,64 @@ +#! /usr/bin/env ruby +# -*- coding: UTF-8 -*- +# +require 'efl/elm/elm_win' +require 'efl/elm/elm_bg' +require 'efl/elm/elm_icon' +require 'efl/elm/elm_layout' +# +include Efl +# +IMAGES = ["home", "close", "arrow_up", "arrow_down"] +# +class MyWin < Elm::ElmWin + # + attr_reader :current + def initialize + @current = 0 + super(nil, "Layout") do + title_set "Layout" + resize 320, 320 + show + end + @bg = Elm::ElmBg.new(self) do + size_hint_weight_expand + show + end + resize_object_add @bg + # + @layout = Elm::ElmLayout.new(self) do + size_hint_weight_expand + theme_set "layout", "application", "content-back-next" + show + end + resize_object_add @layout + # + @icon = Elm::ElmIcon.new(self) + @icon.standard_set IMAGES[@current] + # + @layout.part_content_set("elm.swallow.content", @icon) + @layout.part_text_set("elm.text.title", "Test #{@current}") + # + @layout.signal_callback_add("elm,action,back", "", method(:signal_cb), nil) + @layout.signal_callback_add("elm,action,next", "", method(:signal_cb), nil) + end + # + def signal_cb data, object, emission, source + @current -= 1 if emission == "elm,action,back" + @current += 1 if emission == "elm,action,next" + @current = IMAGES.size - 1 if @current < 0 + @current = 0 if @current >= IMAGES.size + # + @icon.standard_set IMAGES[@current] + @layout.part_text_set("elm.text.title", "Test #{@current}") + end +end +# +Elm.init +# +MyWin.new +# +Elm.run +Elm.shutdown +# +# EOF |