EN JA
panel(3X)
panel(3X) panel(3X)

名称

panel - curses のためのパネル積み重ね (スタック) 拡張

書式

#include <panel.h>

cc [flags] sourcefiles -lpanel -lncurses

PANEL *new_panel(WINDOW *win)

 

int bottom_panel(PANEL *pan)

 

int top_panel(PANEL *pan)

 

int show_panel(PANEL *pan)

 

void update_panels();

 

int hide_panel(PANEL *pan)

 

WINDOW *panel_window(const PANEL *pan)

 

int replace_panel(PANEL *pan, WINDOW *window)

 

int move_panel(PANEL *pan, int starty, int startx)

 

int panel_hidden(const PANEL *pan)

 

PANEL *panel_above(const PANEL *pan)

 

PANEL *panel_below(const PANEL *pan)

 

int set_panel_userptr(PANEL *pan, const void *ptr)

 

const void *panel_userptr(const PANEL *pan)

 

int del_panel(PANEL *pan)

 

解説

パネルは深さの機能を追加した curses(3X) ウィンドウです。パネル関数は、積み重ねられたウィンドウの使用を認めて、パネルが加えられるか、移動されるか、修正されるか、削除される場合、各ウィンドウの適切な部分および curses stdscr ウィンドウが隠されるか表示されることを保証します。現在目に見えるパネルのセットはパネルの積み重ね (スタック) です。 stdscr ウィンドウはすべてのパネルの下にあり、積み重ね (スタック) の一部と考えられません。

ウィンドウはすべてのパネルに関連しています。パネルルーチンは、積み重ね (スタック) 中のどんな希望の位置でもパネルの位置を決めるのと同様に作成する、移動する、隠れる、パネルを示すことができます。

パネルルーチンは curses(3X) に加えられた機能的な層で、ハイレベルの curses 呼び出しだけを行い、terminfo curses が行なういかなる場所でも働きます。

関数

new_panel(win)
PANEL 構造体を割り付けて、 win にそれを関連させて、積み重ね (スタック) (他のパネルの上にそれを表示させる) の最上部にパネルを置き、新しいパネルへのポインタを返します。
update_panels()
積み重ね (スタック) 中のパネルの関係を反映するために仮想画面をリフレッシュするが、物理的な画面をリフレッシュするためには doupdate() を呼びません。 wrefresh か wnoutrefresh ではなくこの関数を使用してください。 update_panels() は、doupdate() に呼び出しの前に二度以上呼ばれるかもしれません。しかし、doupdate() は物理的な画面の更新の責任がある関数です。
del_panel(pan)
積み重ね (スタック) から与えられたパネルを取り除き、 (しかしその関連するウィンドウではない) PANEL 構造体の割り付けを解放します。
hide_panel(pan)
パネル積み重ね (スタック) から与えられたパネルを取り除き、したがって視界からそれを隠します。 PANEL 構造体は積み重ね (スタック) から単に取り除かれて、失われません。
panel_hidden(pan)
パネルが、パネルスタックであるなら、TRUE を返し、そうでなければ、 FALSE を返します。パネルが、NULL ポインタであるなら、ERR を返します。
show_panel(pan)
パネル積み重ね (スタック) 中のパネルの最上部にそれを置くことで、隠されたパネルを目に見えるようにします。下記の COMPATIBILITY を参照してください。
top_panel(pan)
積み重ね (スタック) 中のすべてのパネルの最上部に与えられた目に見えるパネルを置きます。下記の COMPATIBILITY を参照してください。
bottom_panel(pan)
すべてのパネルの最下部にパネルを置きます。
move_panel(pan,starty,startx)
その上左角が startystartx にあるように、与えられたパネルウィンドウを移動させます。それは、積み重ね (スタック) 中のパネルの位置を変更しません。パネルウィンドウを移動させるために mvwin() ではなくこの関数を必ず使用してください。
replace_panel(pan,window)
パネルの現在のウィンドウを、 window (例えば、パネルのサイズ変更したければ有用です。 ncurses を使用していれば、 wresize(3X) の出力中に replace_panel を呼ぶことができます) に置き換えます。それは、積み重ね (スタック) 中のパネルの位置を変更しません。
panel_above(pan)
pan の上のパネルへのポインタを返します。パネル引数が (PANEL *)0 である場合、それは積み重ね (スタック) 中の最下部パネルへのポインタを返します。
panel_below(pan)
ちょうど pan の下のパネルへのポインタを返します。パネル引数が (PANEL *)0 である場合、それは積み重ね (スタック) 中の最上部のパネルへのポインタを返します。
set_panel_userptr(pan,ptr)
パネルのユーザポインタを設定します。
panel_userptr(pan)
与えられたパネルのためにユーザポインタを返します。
panel_window(pan)
与えられたパネルのウィンドウへのポインタを返します。

診断

ポインタを返す各ルーチンは、エラーが生じる場合 NULL を返します。 int 値を返す各ルーチンは実行が成功する場合、 OK を返し、そうでなければ ERR を返します。

互換性

SVr3.2 (SVr4 マニュアルページの検査は、プログラムインタフェースは不変であると示唆しています) で導入されたネイティブ (在来) のパネル機能と互換性を保証するためには適度な注意が必要です。 PANEL データ構造体は単に類似しています。プログラマは、直接 PANEL フィールドを使用しないように注意されます。

関数 show_panel() および top_panel() はこの実装において同一で、表示されたパネルあるいは隠されたパネルに等しくうまく働きます。ネイティブ (在来) の System V 実装では、 show_panel() は、隠されたパネルを目に見えるように (積み重ね (スタック) の最上部に) するために意図されます。また、 top_panel() は積み重ね (スタック) の最上部への既に目に見えるパネルを移動するために意図されます。ネイティブ (在来) のパネルライブラリとの互換性を保証する正確な関数を使用するように注意されます。

使用者のライブラリリストで、libpanel.a が libncurses.a の前にあるべきです。すなわち、(通常、リンクエラーとなる) 反対ではなく、`-lpanel -lncurses' と指定しなければなりません。

関連ファイル

panel.h パネルライブラリのためのインタフェース

libpanel.a パネルライブラリそれ自体

関連項目

curses(3X)

これは ncurses のバージョン . (パッチ) について説明しています。

作者

最初は Warren Tucker <wht@n4hgf.mt-park.ga.us>によって書かれ、パネルライブラリを除いて u386mon をシステムに移植する主要な支援を行ないました。 Zeyd ben-Halim によって ncurses のための再パッケージ化が行なわれました。