title: Phi::PageControl
author: YOSHIDA Kazuhiro
mailto: moriq@moriq.com

1. Phi::PageControl

複数ページのダイアログボックスを作成するために使うページセット

%c:Phi::PageControl% は，複数ページのダイアログボックスやタブ付きノートブックを作成するために使う。 %c:Phi::PageControl% は， Phi::TabSheet# オブジェクトである，重なり合った複数のページを表示する。ページを選択するには，コントロールの上部にあるページのタブをクリックする。

1.1. methods

: pages(index) : Phi::TabSheet
  %c:self% に入っているすべてのページの一覧

  : index : Fixnum
    アクセスするページのインデックス

  特定のページに直接アクセスするために使う。例えば，個々のページを使用不可にするとか。

  別のページに相対するページの位置を特定するには， #find_next_page を使う。

1.1. properties
: page_count : Fixnum
  %c:self% に入っているページ数

  #multi_line が %c:false% の場合，すべてのページが表示されているとは限らない。

: active_page : Phi::TabSheet
  現在ページコントロールが表示しているページ

  %c:active_page% は，ユーザーがどのページを選択しているかを示す。ページを選択するには，ページに付いているタブをクリックする。 %c:active_page% を設定すると，ページを一番手前に表示できる。アクティブになるページは一度に 1 つだけだ。

  アクティブなページの次または前のページに変更するには， #select_next_page を使う。

  特定のページを位置付けるためにすべてのページを反復するには， #find_next_page を使う。

: select_next_page(go_forward=true) : nil
  #active_page を現在アクティブなページの前後で表示されている隣のページに変更する。

  : go_forward : Boolean

    : true の場合
      #active_page の直後のページを選択する。
    : false の場合
      #active_page の直前のページを選択する。

  %c:select_next_page% が探す対象とするのは， Phi::TabSheet#tab_visible が %c:true% に設定されたページだけだ。

: find_next_page(cur_page, go_forward=true, check_tab_visible=true) : Phi::TabSheet
  指定されたページの前後にあるページを返す。

  : cur_page : Phi::TabSheet
    このページに相対する位置を使って位置付ける。

  : go_forward : Boolean
    : true の場合
      %v:cur_page% の後のページを返す。 %v:cur_page% が存在しない，あるいは %v:cur_page% が最後のページである場合，最初のページを返す。
    : false の場合
      %v:cur_page% の前のページを返す。 %v:cur_page% が存在しない，あるいは %v:cur_page% が最初のページである場合，最後のページを返す。

  : check_tab_visible : Boolean
    TabSheet#tab_visible が %c:false% に設定されているページを検索対象に含めるか否か。 %c:true% の場合は含めないが %c:false% の場合は含める。

: multi_line : Boolean
  タブを複数の行で表示するかどうか

  : true の場合
    タブの数がタブコントロールの最上部の 1 列で収まりきらないと複数の行でタブが表示される。その行数はタブコントロールのタブ数で決まる。
  : false の場合
    1 行だけでタブが表示され，収まりきらないとユーザーはスクロールしてタブを表示することになる。
