Glimmer使ってアジャイルプラクティスを表示するランチャを作ってみた。

やばい。かわいいよ。Glimmer。かわいいよ。

と、かいてみたもののやっぱりSWTのくせを感じずにはいられない。Shellの大きさを指定してもその通りにならない。内部のCompositeによるみたい。GridLayoutなどには対応している模様なので、Shellに設定するテキストタイトルが長いような場合を除いてはいい感じだと思った。LLはお手軽なのがいいですね。

require File.dirname(__FILE__) + "/../src/swt"

class PracticeFortune
  def todays_practice
    practices = [
    '成果をあげるのが仕事',
    # ...中略
    'みんなに知らせる'
    ];
    number = rand(practices.size)
    return "No:" << number.to_s << " " << practices[number]
  end
  include_package 'org.eclipse.swt'
  include_package 'org.eclipse.swt.layout'
  
  include Glimmer

  def launch
    @shell = shell {
      composite {
        label { 
          text "本日のアジャイルプラクティス"
        }
        label { 
          text todays_practice 
        }
      }
    }
    @shell.open
  end

end

puts PracticeFortune.new.launch

layoutを指定したい場合は

composite {
  # この部分
  layout GridLayout.new(2,true)
  label { 
    text "本日のアジャイルプラクティス"
  }
  label { 
    text todays_practice 
  }
}

と言う感じで指定します。