ビューワへのカテゴリ追加

(クラスメソッドにて。#は省略)

additionsToViewerCategories
 ^#((CATEGORYNAME (
  "「X座標」タイプのタイル(右端に←マークのあるタイル)"
  "例:X座標(slot x 'The x coordinate' Number readWrite Player getX Player setX:)"
  (slot ACCESSPROPATY 'COMMENT' TYPE readWrite Player GETMETHOD Player SETMETHOD)
  "←マークのないタイル"
  "例:入れ物@その他"
  "(slot holder 'the object''s container' Player readOnly Player getHolder Player setHolder:)"
  (slot ACCESSPROPATY 'COMMENT' TYPE readOnly Player GETMETHOD Player SETMETHOD)
  "「テスト」カテゴリにあるようなタイル"
  "例:モーフはその色に触れているか"
  "(slot colorSees 'whether the given color sees the given color' Boolean readOnly Player color:sees: unused unused)"
  (slot ACCESSPROPATY 'COMMENT' Boolean readOnly Player METHOD unused unused)
  "左端に!マークのあるタイル(「隠す」のように引数を指定できないタイプ)"
  "例:隠す(command hide 'make the object invisible')"
  (command METHOD 'COMMENT')
  "左端に!マークのあるタイル(「進める」のように引数を指定するタイプ)"
  "例:進める(command forward: 'Moves the object forward in the direction it is heading' Number)"
  (command METHOD 'COMMENT' ARGTYPE)
 )))

※CATEGORYNAMEの値がそのままカテゴリの名前になる(translatedは自動適用)
※METHOD、ACCESSPROPATYの値で自動的に翻訳される模様
※ACCESSPROPATY、GETMETHOD、SETMETHODの組み合わせは決まっている?
(何故、テストではないreadOnlyはSETMETHODも書いているのか?)
※登場するメソッド・プロパティの類は全部Playerクラスにある奴でなくてはならない模様
(ない場合は無視される)
※Playerクラスにあるメソッドを使っても、継承の関係で使えない場合がある
(例:borderWidthはMorphでは使えない)
※TYPEについてはslot〜readOnlyの場合は←を押したときの引数、および押してないときの返り値の型
※TYPEについて現在確認した型
Number:数
String:文字列
Color:色
Player:なんらかのモーフ
Menu:メニューにある命令
Boolean:ブール値
BorderStyle:輪郭線のスタイル
Sound:音
ButtonPhase:ボタンを作動させる条件(マウスアップなど)


・・・なんかややこしくていまいちわかりません