EN JA
form_field_new(3X)
form_field_new(3X) form_field_new(3X)

名称

form_field_new - form フィールドを作成、破壊する

書式

#include <form.h>
 
FIELD *new_field(int height, int width,
int toprow, int leftcol,
int offscreen, int nbuffers);
 
FIELD *dup_field(FIELD *field, int toprow, int leftcol);
 
FIELD *link_field(FIELD *field, int toprow, int leftcol);
 
int free_field(FIELD *field);
 

解説

関数 new_field は新しいフィードを割り付けて、与えられたパラメータ、高さ、幅、上左の角の行、上左の角の列、画面外の列数および作業バッファの番号を初期化します。

関数 dup_field は新しい位置でフィールドを複写します。ほとんどの属性 (現在の内容、サイズ、確認タイプ、バッファカウント、成長しきい値、正当化、フォアグラウンド(前景)、バックグラウンド(背景)、パッド(詰め物)文字、オプションおよびユーザポインタを含んで) がコピーされます。フィールドステータスおよびフィールドページビットはコピーされません。

関数 link_fielddup_field のように作用します。しかし、新しいフィールドは親のバッファを共有します。属性データは個別です。

関数 free_field は、フィールドに関連した記憶域の割り付けを解放します。

戻り値

関数 new_field, dup_field, link_field は、エラーの場合 NULL を返します。それらは、成功したかどうかに従って、errno を設定します:
E_OK
ルーチンが成功した。
E_BAD_ARGUMENT
ルーチンは正しくないか範囲外の引数を検知しました。
E_SYSTEM_ERROR
システムエラーが生じた、例えば、malloc の失敗。

関数 free_field は、次の 1 つを返します:

E_OK
ルーチンが成功した。
E_BAD_ARGUMENT
ルーチンは正しくないか範囲外の引数を検知しました。
E_CONNECTED
フィールドは、接続されています。

関連項目

curses(3X), form(3X)

ヘッダファイル <form.h> は自動的にヘッダファイル <curses.h> を含んでいます。

移植性

これらのルーチンは System V メニューライブラリをエミュレートします。それらは Version 7 または BSD バージョンではサポートされませんでした。

移植性のため dup_field によってコピーされた属性のセットを当てにすることは愚かです。 System V form ライブラリドキュメントは、コピーされるものやされないものについてあまり明白ではありません。

作者

Juergen Pfeifer。マニュアルページと新しい curses の適応は Eric S. Raymond。