- 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
|
主な仕事はツールパレットの制御だよ。
|