"curses.panel" --- curses のためのパネルスタック拡張
****************************************************

======================================================================

パネルは深さ (depth) の機能が追加されたウィンドウです。これにより、ウ
ィンドウをお互いに重ね合わせることができ、各ウィンドウの可視部分だけが
表示されます。パネルはスタック中に追加したり、スタック内で上下移動させ
たり、スタックから除去することができます。


関数
====

"curses.panel" モジュールは以下の例外を定義します:

exception curses.panel.error

   curses のパネルライブラリの関数がエラーを返した際に送出される例外で
   す。

"curses.panel" モジュールは以下の関数を定義します:

curses.panel.bottom_panel()

   パネルスタックの最下層のパネルを返します。

curses.panel.new_panel(win)

   指定したウィンドウ *win* に関連付けた新しいパネルをパネルスタックの
   最上層に配置し、パネルオブジェクトを返します。 返されたパネルオブジ
   ェクトへの参照を明示的に保持しておく必要があることに注意してくださ
   い。 そうしなければ、パネルオブジェクトはガベージコレクションの対象
   となり、パネルスタックから取り除かれます。

curses.panel.top_panel()

   パネルスタックの最上層のパネルを返します。

curses.panel.update_panels()

   仮想スクリーンをパネルスタック変更後の状態に更新します。この関数で
   は "curses.doupdate()" を呼ばないので、ユーザは自分で呼び出す必要が
   あります。


パネルオブジェクト
==================

class curses.panel.panel

   上の "new_panel()" が返すパネルオブジェクトは、重なり順のあるウィン
   ドウです。 パネルには常に、その内容を決めるウィンドウが関連付けられ
   ており、パネルのメソッドはパネルスタック内でのウィンドウの深さを制
   御します。

   Panel オブジェクトは以下のメソッドを持っています:

panel.above()

   現在のパネルの上にあるパネルを返します。

panel.below()

   現在のパネルの下にあるパネルを返します。

panel.bottom()

   パネルをスタックの最下層にプッシュします。

panel.hidden()

   パネルが隠れている (不可視である) 場合に "True" を返し、そうでない
   場合 "False" を返します。

panel.hide()

   パネルを隠します。この操作ではオブジェクトは消去されず、スクリーン
   上のウィンドウを不可視にするだけです。

panel.move(y, x)

   パネルをスクリーン座標 "(y, x)" に移動します。

panel.replace(win)

   パネルに関連付けられたウィンドウを *win* に変更します。

panel.set_userptr(obj)

   パネルのユーザポインタを *obj* に設定します。このメソッドは任意のデ
   ータをパネルに関連付けるために使われ、任意の Python オブジェクトに
   することができます。

panel.show()

   パネル (隠れている場合もあります) をパネルスタックの最上層に配置し
   て表示します。

panel.top()

   パネルをスタックの最上層にプッシュします。

panel.userptr()

   パネルのユーザポインタを返します。任意の Python オブジェクトです。

panel.window()

   パネルに関連付けられているウィンドウオブジェクトを返します。
