| ||||||||||
| MINERVA superseeded IF/Prolog.
Please see
http://www.ifcomputer.co.jp/MINERVA
for details.
We discontinued to sell IF/Prolog Dec 31. 2003. For current customers, we continue to provide professional support for IF/Prolog until Dec 31, 2008. 以下のプログラムは、Athena widgetsを用いたX11 toolkitの概念のいくつかを示しています。これは、ディレクトリ $PROROOT/x11r4/demos 中のファイル dialogd.pro にあります。また、別の例題もここに含まれています。 プログラムの概要: ・xtInitialize/5 によるtoolkitの初期化 ・xtCreateManagedWidget/5 によるmanaged widgetの生成 ・xtSetValues/2 によるリソ−スの変更 ・xtAddCallback/4 によるコ−ルバックの追加 ・アクションのトランスレ−ションや使用法の変更 ・ユ−ザとの対話処理において生じるイベントによる、手続きの呼び出し まず、タイトル 'Hello, Please type input:'、テキスト用入力ウインドウ、ユ−ザによるテキストの入力が終了した時に押す2つのボタンからなる、ダイアログwidgetが作られます。テキストの入力は、リタ−ンキ−、あるいは'^C'を入力することによっても終えることができます。この振る舞いはユ−ザ定義のアクションによって起こるもので、テキストwidgetのトランスレ−ションテ−ブルに含まれています。 program :-
program_parameters(Pars),
xtInitialize(Toplevel, Toplevel, demo, [], Pars),
xtSetValues(Toplevel, [ allowShellResize(true),
input(true)
]),
xtAddAction(action),
xtCreateManagedWidget(dialog, dialog,
dialogWidgetClass, Toplevel,
[ label('Hello, please type input:'),
value('')
]),
xtCreateManagedWidget(Confirm, Confirm,
commandWidgetClass, dialog,
[ label('Confirm')
]),
xtAddCallback(Confirm, callback, confirm, dialog),
xtCreateManagedWidget(Cancel, Cancel,
commandWidgetClass, dialog,
[ label('Cancel')
]),
xtAddCallback(Cancel, callback, cancel, _),
xtNameToWidget(dialog, value, TextWidget),
xtSetValues(TextWidget, [ translations(
'#override\n confirm(Widget, Dialog, _) :- xawDialogGetValueString(Dialog, String), write('String "'), write(String), write('" entered\n'). cancel(Widget, CallData, AppDate) :- exit(0). action(Widget, params(confirm)) :- xawDialogGetValueString(dialog, String), write('String "'), write(String), write('" entered\n'). action(Widget, params(cancel)) :- exit(0). | ||||||||||
|
| 戻る> |
|