余暇のプログラミング – インスペクターとフローティングメニュー

NeXTSTEPのファイルマネージャーのような、インスペクターとフローティングメニューを実装しました。

どちらもメインウィンドウよりも手前に表示されるモードレスウィンドウです。

メインウィンドウとインスペクター/フローティングメニューの間は、Notificationという仕組みで配線されています。

Notificationについては、iOSのUNNotificationやNeXSTEP/OPENSTEPのNSNotificationあたりの資料を見てください。だいたい同じ仕組みです。

ディレクトリを選択したとき

ディレクトリを選択した場合のインスペクターには、最終更新日時とディレクトリ内のファイル/ディレクトリの数を表示しています。(これは変わる可能性あり)

pngファイルを選択したとき

ファイルを選択したときは、OSがファイル名と関連づけて管理しているアイコンを表示し、ファイルサイズと最終更新日時を表示しています。

pythonファイルを選択したとき

rustファイルを選択したとき

こういうことをやっていると、思い切ってOpenStep APIと意味的互換なRust用フレームワークを作りたくなってきます。

私はAppleエコシステムみたいなものはあまり好きじゃなくて、なるべくオープンな基準を使いたいと思っています。Linux + Rustで、Apple/NeXTのフレームワークに近いものが作れたら幸せになれる人はたくさんいると思います。

これより優先順位の高い作業がたくさんあるので、そんな欲望を控えながら先に進みます。

「余暇のプログラミング – インスペクターとフローティングメニュー」への1件のフィードバック

コメントする