Mac OS X ではモーダルダイログってのがある。たとえばオープンダイアログみたいに、それを閉じるまで他のウィンドウが前面にこないダイアログだ。でも、そいつを表示している間に、パネルを出したい状況もあるよね。TextEdit でのエンコーディング設定パネルとかがその例だ。

こういうパネルを作るには setWorksWhenModal: を使う。
Application Kit/NSView.h
- (void)setWorksWhenModal:(BOOL)flag;
普通、モーダルダイアログが表示されている間は他のウィンドウにイベントがいかないんだけど、これを使うとパネルにもイベントがいくようになる。
あと、パネルをモーダルウィンドウよりも前面に持っていかないといけないんで、setLevel: で NSModalPanelWindowLevel を設定してやる。これで OK。