home link download back number special issue

HMDT - Special Issue / Sketch BP / Sketch のクラス構造


- Overview -

Sketch のクラス構造

Sketch のクラス構造

ここでは Sketch で使われているクラス構造を見てみるよ。基本的に、すごく素直な MVC 構造になっているんだ。


SKTDrawDocument クラス

Sketch はドキュメントベースアプリケーションの形をとっているんだ。だから Model のクラス群の親玉的存在は、SKTDrawDocument クラスだ。NSDocument を継承しているこのクラスを中心に扱うことになる。


SKTGraphic クラス

で、実際に画面に描かれるオブジェクト達に対応するクラスは、SKTGraphic から継承されるクラスだ。四角や、円などのグラフィックオグジェクトは、この SKTGraphic から継承されることになるんだ。これらのクラスを生成して、変型することがアプリケーションで行う作業の中心となるんだ。

SKTGraphic から継承されているクラスはたくさんある。まず SKTRectangleSKTCircleSKTLineSKTTextArea のクラス群。これらはツールバーに対応するツールがあるよね。あと、SKTImage というクラスもある。これは .tiff などの画像に対応するクラスだ。実は Sketch に画像をドラッグすると張り付けることができたりするんだけど、それはこのクラスのおかげなんだ。


.nib と WindowController クラス

Sketch で使われる各ウィンドウは、.nib ファイルで定義されているんだ。それぞれの .nib は、 NSWindowController クラスから継承された、コントローラを持つことになるんだ。

.nib ファイルの名前は、DrawWindow.nibInspector.nibToolPalette.nibGridPanel.nib っていう感じだ。それに対応した WindowController クラスは SKTDrawWindowControllerSKTDrawInspectorControllerSKTInspectorControllerSKTToolPanellteController だ。もー、そのまんまだ。


View クラス

NSView から派生したクラスもある。SKTGraphicView は、DrawWindow 上にある View で、グラフィックオブジェクトの描画とイベント受付をやる。Sketch の中心となるクラスの 1 つだね。SKTGridView は、GridPanel でグリッドのサンプルを表示する View だ。


Application Delegate クラス

あと AppDelegate がある。SKTDrawAppDelegate クラスがこのアプリケーションの delegate になるんだ。


Sketch のクラスの全体図

じゃ、上記のクラス図をもとにして、全体図を描いてみる。

中心となるのは NSApplication。こいつをカスタマイズするために SKTDrawAppDelegate が使われる。Sketch はドキュメントベースアプリケーションになっているので、ドキュメントの保存とかは SKTDrawDocument を中心に処理されるんだ。

SKTDrawDocument はその主な構成要素として、SKTGraphic から派生されるグラフィッックオブジェクトを持つ。この Document を表示するための WindowController は SKTDrawWindowController だ。このWindowController が管理するウィンドウには SKTGraphicView があるんだ。

Document とは別に、いくつかのウィンドウが使われる。それらを制御するのが、SKTInspectorController、SKTToolPaletteController、SKTGridPanelController だ。SKTGridPanelController は、SKTGridView を使う。

ってところか。


Home | Link | Download | Back Number | Speciall Issue

Sketch BP

mailto: mkino@xd5.so-net.ne.jp

HMDT