Create  Edit  Diff  Phillro Industries  Index  Search  Changes  History  Source  RSS  Note  wikifarm  Login

rgui.rb

[ap-list:0147] ap-610 FTP, RGUI

もりきゅうです。Apollo 最新版。

・・

RGUI というレイアウトマネージャを用意しました。これは,もと もと Ruby/Xlib のために作った gtk++ 風のレイアウトマネージャ ですが,Apollo に流用してみました。

使い方は rgui-0.6.13.tar.gz のドキュメントを.. いや,引用しておきます。^^;

--

hbox = RGUI::Hbox.new true,10,true

 水平配置箱 (Horizontal Layout Box) を作ります。
   homo?
     部品をすべて同じ大きさにするか。
   space
     部品の間隔。
   fill?
     部品が配置箱全体を占めるように広げるか。
 配置箱としては,垂直配置箱 (Vertical Layout Box) もありま
 す。RGUI::Hbox の部分が RGUI::Vbox に変わるだけで,使い方
 は基本的に水平配置箱と同じです。

これと, RGUI::Form を使います。

#! ruby -Ks
require 'phi'
require 'rgui'
form = RGUI::Form.new # RGUI::Form は Form のサブクラス
btns = [
  Phi::Button.new(form, :hidari,"左"),
  Phi::Button.new(form, :naka,  "中"),
  Phi::Button.new(form, :migi,  "右"),
]
hbox = RGUI::Hbox.new
hbox.add btns
form.add hbox
form.layout
form.show
Phi.mainloop

* 一部変更 BY tk

hidarimigi.jpg

また, form.on_resize = proc { form.layout } と書いておけば,動的にサイズ変更がなされます。

具体例は ftp_client.rb, 仕組みは lib/rgui をどうぞ。


Kazuhiro Yoshida moriq@moriq.com



rgui を使ったサンプルの実行画面

C:/Program Files/Apollo/sample/rgui/ftp_client+tab_sheet.rb

rgui.jpg
Last modified:2004/10/29 01:38:58
Keyword(s):
References: