# 20.4 `fl` -- グラフィカルユーザーインターフェースのためのFORMSライブラリ

利用可能な条件: IRIX.

このモジュールは、Mark OvermarsによるFORMS Library へのインターフェースを提供します。 FORMSライブラリのソースはanonymous ftp "`ftp.cs.ruu.nl`"の SGI/FORMSディレクトリから入手できます。 最新のテストはバージョン2.0bで行いました。

ほとんどの関数は接頭辞の"`fl_`"を取ると、対応するCの関数名になりま す。 ライブラリで使われる定数は後述の`FL`モジュールで 定義されています。

Pythonでこのオブジェクトを作る方法はCとは少し違っています： ライブラリに保持された`現在のフォーム'に新しいFORMSオブジェクトを加える のではなく、フォームにFORMSオブジェクトを加えるには、フォームを示す Pythonオブジェクトのメソッドで全て行います。 したがって、Cの関数の`fl_addto_form()`と `fl_end_form()`に相当するものはPythonにはありませんし、 `fl_bgn_form()`に相当するものとしては`fl.make_form()` を呼び出します。

用語のちょっとした混乱に注意してください： FORMSではフォームの中に置くことができるボタン、スライダーなどに objectの用語を使います。 Pythonでは全ての値が`オブジェクト'です。 FORMSへのPythonのインターフェースによって、2つの新しいタイプのPythonオブ ジェクト：フォームオブジェクト（フォーム全体を示します）とFORMSオブジェ クト（ボタン、スライダーなどの一つひとつを示します）を作ります。 おそらく、混乱するほどのことではありません。

FORMSへのPythonインターフェースに`フリーオブジェクト'はありませんし、 Pythonでオブジェクトクラスを書いて加える簡単な方法もありません。 しかし、GLイベントハンドルへのFORMSインターフェースが利用可能で、純粋な GLウィンドウにFORMSを組み合わせることができます。

注意： `fl`をインポートすると、GLの関数`foreground()`と FORMSのルーチン`fl_init()`を呼び出します。