GlyphsSDK/Python Templates/SelectTool at master · schriftgestalt/GlyphsSDK · GitHubの標準の Select Tool
を拡張した My Select Tool
について軽くstudyした。
GlyphsSDK/plugins.py at master · schriftgestalt/GlyphsSDK · GitHubを読み込むとプラグインのプロトコルについて分かるのだが、
class SelectTool (GSToolSelect):
について今回興味がある。
特に
def addMenuItemsForEvent_toMenu_(self, theEvent, theMenu):
の実装にある conditionalContextMenus
の呼び出しが気になった。
これはいつ呼ばれるのだろうか?
というの部分は簡単で、ツールを選択している状態で右クリックメニューを呼び出した時に、メインクラスに conditionalContextMenus
が定義されていれば呼び出される。
問題は My Select Tool
において何も変化が見られないように感じたことだ。いわゆる printfデバッグ
をしてみたところ、選択されたノードの個数が1つでそのタイプが GSAnchor
の時に何か起こるようだ。GSAnchorType Constants Referenceを見てもよく分からん。プラグインの紹介ページの絵を見るとなんとなくダイアクリティカルマークの基点のような感じがする。ってことで試すとビンゴ。
その基点のポイントを選択した状態で右クリックメニューを呼び出すと Randomly move anchor
がコンテキストメニュー内に追加された。これを選択すると基点が上下左右50unitの範囲でランダムにどこかに移動する、という内容だった。