新規作成  編集  Ruby-GNOME2 Project Website  ページ一覧  検索  更新履歴  編集履歴  RSS  ログイン

アジャストメントを簡単に使う方法

アジャストメントを簡単に使う方法

調節可能なウィジェットは,

  • 任意の数値を扱うもの
  • 特定の単位の値を要求して使用するもの

に大雑把に分類することができる.

任意の数値を扱うグループ

このグループにはレンジウィジェット( スクロールバースケールプログレスバー,およびスピンボタン? )が含まれる. これらのウィジェットは全て,一般にユーザーによってマウスあるいはキーボードで「直接調節される」ウィジェットだ. これらのウィジェットではvalueが取り得る値の範囲はlowerからupperで, デフォルトではアジャスメントのvalueを変更するだけである.

特定の単位の値を要求して使用するもの

もう一方のグループには,テキストウィジェット,ビューポート, 複合リストウィジェット,そしてスクロールドウィンドウ>>)が含まれる. これらのウィジェットは全て,ピクセル値を調整値として使用する. また,これらのウィジェットは全て一般的に((<スクロールバー?を用いて「間接的に調整される」ウィジェットでもある.

アジャストメントの生成

アジャストメントを利用するウィジェットは全て それ自身でアジャストメントを作成するか, または渡されたアジャストメントを利用することが可能であるが, 一般的にはこの種のウィジェット自身にアジャストメントを生成させたいだろう.

通常,これらのウィジェットは, value以外のどのような調整値を渡しても結局全ての値をオーバーライドしてしまい, その結果は一般に不定(undefined)である. *1

さて,多分読者はこう考えているだろう. テキストウィジェットやビューポート?はアジャストメントのvalue以外の値を設定しようとし, スクロールバー?がvalueのみを設定するというのなら, もしスクロールバービューポートの間でアジャストメントオブジェクトを共有した場合, スクロールバーを操作すると自動的にビューポートを調節するのだろうか,と.

もちろんその通りである! 次のようにするだけだ:

# 内部でアジャストメントを作成
viewport = Gtk::Viewport.new(nil, nil)

# そして,新しく作られたアジャストメントをスクロールバーに使う
vscrollbar = Gtk::VScrollbar.new(viewport.vadjustment)

*1つまり,その挙動を調べるためにソースコードを読む必要があり,そしてそれはウィジェットごとに異なるかもしれないということである.

更新日時:2005/06/28 22:07:41
キーワード:
参照:[gtk2-tut]