パネルの ContentViewへ ボタンバー(アイコン)とNSImageViewを張りつけてみる。
コントローラでパネル(NSWindowPanel)と各種ビュー(NSImageView, ButtonBar)を作成し、addSubView: で追加する。
_viewer_panel = [[SimpleViewerPanel alloc] init];
_image_view = [[[NSImageView alloc] initWithFrame:[_viewer_panel frame]] autorelease];
_button_bar = [[[ThinButtonBar alloc] initWithFrame:NSZeroRect] autorelease];
:(アイコン追加)
[[_viewer_panel contentView] addSubview:_image_view];
[[_viewer_panel contentView] addSubview:_button_bar];
パネルのリサイズに合わせて NSImageViewの大きさも変える為、NSPanelへdelegateを設定して #windowDidResize: メッセージを処理する。
-(id)init {
:
[_viewer_panel setDelegate:self];
:
}
- (void)windowDidResize:(NSNotification *)notification
{
[_image_view setFrame:[[_viewer_panel contentView] frame]];
}
キャプチャ後にファイル名を受け取って表示する。これは NSImageを作成して NSImageViewへ渡すだけ。
- (void)showFile:(NSString*)filename
{
[_image_view setImage:[[[NSImage alloc] initWithContentsOfFile:filename] autorelease]];
[_viewer_panel makeKeyAndOrderFront:self];
}
こんな感じ。
それっぽくなってきた。
NSImageViewの画像が荒い気がする。またボタンバーの高さを考慮していないので縦位置が若干不自然。