Affinityのスクリプトダイアログが秀逸! 何があるか知っておこう
以前のブログでチラッと見せましたが、Affinityのスクリプトダイアログが非常に秀逸です。特に3.3になってスクリプトを配布できるようになったので、スクリプト開発者にとってUIの要であるスクリプトダイアログの知識は不可欠になりました。
何が優秀って、Affinityのネイティブな共通コントロールがダイアログから使えることです。図で囲んでいるのは数値指定のスライダー、基準点指定の空間アンカー(9つの点があるもの)です。こういったものが用意されているよってことはClaudeに聞いても知らないので、知らずに自分で実装してしまうか、不便なUIで我慢してしまうでしょう。ですからこのダイアログのように使用できるコントロールを網羅したものを作っておくというのは我ながらよい発想だったと思います。目先のものにとらわれず、基礎を掘り下げる作業というのは大好きです。
このダイアログの右列にはさらにAffinity独自のコントロールがあります。
フォントピッカー
スタイルを選んだ時に、入力欄にスタイルのみが表示されますが、フォントは正しく取得できるようです。そのうちファミリーとスタイルの2列表示に修正されるでしょう(余裕ができれば要望を出します)。
カラーピッカー
塗り設定
線設定
残念ながら線設定コントロールは、3.3ではクラッシュしてしまいます(3.2.3では問題なかった)。適切な初期値を与えてやれば解消するのかもしれませんが、クラッシュ報告が飛んで行っていると思うのでアップデートで修正されるかもしれません。
さて、ダイアログの構造ですが、左上から順に要素を羅列していきます。座標指定はできません。サイズを指定できるのはダイアログの幅(pixel)とDialogColumnの幅(比率)のみです。
InDesignのスクリプトダイアログととてもよく似ています。InDesignと比べるとBorderPanelとEnablingGroupがないのが残念なところです。
さて、このダイアログですが、InDesignと同じくモーダルダイアログになっています。つまり[OK]もしくは[キャンセル]ボタンを押さない限り先に進めないということです。パネルのようにずっと表示したまま、ということはできません。
ダイアログで操作したものがプレビューのように実際のドキュメントに即反映されるかは確認してません。ドキュメントとの連携はまだ先になります。今回はあくまでもこんなコントロールがあるよという紹介です。





