prefs の拡張仕様
================
GetPrefsNTEncoding
------------------
:GetPrefsNTEncoding(prefs, opts) の引数 opts で frame が使えるように
なりました。以下の slot が使用できます。
defaultEncoding: '|binary.base64|, // デフォルトの classSymbol
path: 'binaryEncoding, // classSymbol の登録されている path
// 省略時は 'defaultEncoding
ValidTest: func(def)..., // 使える def かどうかをチェックします
引数 opts が symbol の場合は NTEncoding 1.1 と同じように defaultEncoding
として処理されます。完全上位互換なので特に昔のソースを変更する必要はあり
ません。
・path slot は1つの prefs に複数のエンコーディングの設定を保存したい
場合に有効である。これにより複数の設定をしたいのだけど、エレガントに
それを実現する方法がないと悩む必要はなくなる(エレガントでなければ今
まででも可能であった)。
なお、これは prefs のアクセスの部分だけなので、 prefs の設定画面は開
発者が自分で作成すること。
・ValidTest slot はモジュールが自分のプログラムで使うための充分な仕様を
満たしているかどうかチェックするのに有効である。具体的な例としては、
今回 NTEncoding 1.1 で拡張された MIME 関連の method がサポートされて
いるかどうかである。
ex.
ValidTest: func(def) isFunction(def.MIME_CurrEncodingType),
こうしておけば、間違って MIME 関連に対応していないモジュールがインス
トールされていても無視されるだけなので安全なプログラムを記述すること
ができる。
NTE_protoPrefsItem, NTE_protoPrefsRollItem
------------------------------------------
VersionCheck: func(def)... をサポートしました(省略可)。
返り値は nil or message (String) でなければいけません。
返り値がある場合は右下に表示されます。
ex.
VersionCheck: func(def) if not isFunction(def.MIME_CurrEncodingType) then "old",
インストールされているモジュールが利用可能かどうかをユーザに明示する
ために利用します。
---
(c)1997 GNUE.
Tags: Newton