あるものを取り出してキーを追加する操作をすればいいので簡単なのですが、意外と大変なのがコピーです。入れることで実装できます。コピーと一口に言ってもいろいろなコピー対象があります。パーツについてるプロパティのキー全体をコピーパーツについてるプロパティのキーの一部をコピーパーツについてる一部のプロパティのキー全体をコピーパーツについてる一部のプロパティのキーの一部をコピーフレキシブルに選択した範囲をコピーこの種類を全部対応するのは大変そうだったので、最後の「事前に範囲選択をしてからその領域にあるキーフレームをコピー」だけを実装することにしました。編集する対象によってこの辺は変わることが多いと思うのでどの仕組みにも対応できるように作っておけると楽になると思います。ショートカットショートカットは利用していただいてるデザイナの方にも非常に好評で作ってよかった機能です。ショートカットに対応しているメソッドを用意キーイベントからキー入力と突き合わせて一致したメソッド名を取得リフレクションで実行というフローになっています。これには問題点があって、これだと1発のキー入力しかショートカットに登録できません。ような2段階ショートカットに対応するには、一旦キー入力をキューに保存するなどの工夫が必要になります。書いてこの要素にイベント仕込むだけならもっとUI作成も楽なのになあと思うことも多少あります。レイアウトではどうしても右寄せ左寄せなどの配置が難しいので、キーフレームの描画などは苦労することもありました。いろいろなデータを描画しようと思うと描画順で頭を悩ませることもありました。処理的にはここでひとまとめに書くのがシンプルなんだけど描画を考えるとあとでわざわざ描くといった苦しいコードになることもありました。見てハンドリングするのですが、個別のUIに操作を割り当てるのがかなり苦手な感じを受けました。ボタンやUIの値が変更された場合は割りと簡単に個別のハンドリングができるのですが、ドラッグやショートカット用のキーイベントなどになると途端にシンプルに書きづらくなるので、注意する必要があります。使っているだけならなかなかやらないような話をしました。力を借りてもかなり大変でした。普段は何気なくやっている操作も色々試行錯誤がある上にできていると思うと有り難みもましてきます。世の中のテキストエディタなどを作っているエンジニアの方々の苦労が忍ばれます。コントリビューターの方々には尊敬の念を禁じ得ません。系でも使えたら嬉しいなあと思います。