NeXTSTEPっぽいファイルマネージャー(Filesという名前にした)の開発の続きです。
前回はファイルシステムをナビゲートする機能まで作れたので、今回はファイルを選択してコンテクストメニューを開いて、ファイルを開く機能を作りました。
このスクリーンショットは、Column Browserで選択したファイルのコンテクストメニューから Open を選んだときのもの。.mdファイルなので、デフォルト設定のテキストエディターがそのファイルを開いた、という様子です。

将来のことを考えて、Filesが扱うのはContextObjectです。
ネタバレ感のある命名です。
ファイルもディレクトリもContextObject。
ContextObjectは、
- Id
- Kind
- Capabilities
- Reference
を持っていて、今日作ったのは、Kind = FileとKind=Directoryの2種類です。
Capabilitiesには、そのContextObjectに対して可能な操作が入っています。
Fileなら OpenとInspect
DirectoryならBrowserとInspect
という具合です。
KindもCapabilityもこれから増えていきます。・
野望
長年お世話になったNeXTのワークステーション。
自宅に2台あります。
もともと4台ありましたが、2台は知人に譲りました。
OPENSTEPフレームワーク、WebObjects Framework、Enterprise Objects Frameworkなどを利用し、Project Builder/Interface Builder/Objective-Cという開発環境でソフトウェアを開発したり、開発を指導する仕事をしていたこともあり、NeXTの環境には思い入れがあります。
NeXTのワークステーションは、ソフトウェアもハードウェアも非常に優れた美しいシステムでした。
そこから学んだことは私にとって貴重であると同時に、今でもソフトウェア開発の際の考え方として生きています。
NeXTの登場は画期的な出来事でした。
Appleに吸収されて、MacOSの基盤となり生き延びましたが、エンジアリングワークステーション然とした雰囲気はもうありません。
仮にエンジニアリングワークステーションらしくても売れなかったでしょう。
それを単なる焼き直しではなくて、現代的なエンジニアリングワークステーションとして再定義したいなー、みたいな野望があります。
当時はNetwork Computingと呼んでいましたが、私としてはContextual Computingプラットフォームという新しい概念で、Linuxの上に環境を構築したいと思うようになりました。すでにContextual Computingの下地となるソフトウェアはZIKUUのコアサービスとして動いています。それをデスクトップに統合したら面白いというわけです。
ZIKUUは、利益を追求する企業ではないので、売れるか売れないかに関係なく、面白いものを作りたい。
「余暇のプログラミング – Filesにコンテクストメニュー」への1件のフィードバック