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()

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