home link download back number special issue

HMDT - Special Issue / Sketch BP / ツールパレット


- Overview -

ツールパレット

ツールパレットの構成

ツールパレットは Sketch のツールパレットを制御するクラス群だ(そのまんまじゃ)。中心となるのは ToolPalette.nib、あと SKTToolPaletteController クラスだ。


ToolPalette.nib

ToolPalette.nib は、ツールパレットのウィンドウをあらわす .nib ファイルなんだ。

まず、おおもとのウィンドウは NSPanel クラスだ。しかも、Utility window 化されていて、フローティングウィンドウになっている。

ウィンドウの中には、NSMatrix クラスがある。これは NSButton を格子状に配置するために使われているんだ(NSMatrix にボタンを配する方法はここを参照)。ツールを排他的に選択するために、Mode は Radio になっているんだ。

NSMatrix の中にあるのは NSButton だ。ボタンの Type は Rounded Bevel Button、Behavior は Push On/Push Off だよ。ちなみに、Square Button でツールバーを作っても、なかなか面白いと思わない?

ボタンにはアイコンがはりつけてある。上から順に、Arrow.tiff、Rectangle.tiff、Circle.tiff、Line.tiff そして TextGraphic.tiff だ。アイコンのサイズは 32 x 32 だよ。

ちなみに、アイコンはこれらの他に、カーソル用と思われる Cross と Pencil、ツールバー用と思われる Curve、Polygon、Scribble が用意されているんだ。

さて、この ToolPalette.nib の File's Owner は誰なのか?それは SKTToolPaletteController クラスだ。こいつは、Panel の delegate も兼ねている。

まず、SKTToolPaletteController は、outlet として、ウィンドウと、その中の NSMatrix を持っている。

んで、action の方は、NSMatrix からselectToolAction: に結び付けられている。これって矢印ツールが選択されたときに送られるわけね。あと、NSPanel の delegate に指定されているのも分かる。

ToolPalette.nib はこんなとこだね。


SKTToolPaletteController クラス

SKTToolPaletteController は、ToolPalette.nib と関連づけられた WindowController クラスだ。

Sketch/SKTToolPaletteController.h
@interface SKTToolPaletteController : NSWindowController

主な仕事はツールパレットの制御だよ。


Home | Link | Download | Back Number | Speciall Issue

Sketch BP

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

HMDT