0

Я хотел бы иметь индикатор выполнения во вторичном окне, которое остается активным, как окно NSAlert. Мне особенно нравится, как он воспроизводит звук, когда пользователь пытается щелкнуть его.Заставить NSWindow оставаться активным, как NSAlert

я понял, как заставить окно оставаться активным, вызывая:

[[NSNotificationCenter defaultCenter] addObserver: self 
             selector: @selector(windowChange:) 
              name: NSWindowDidBecomeKeyNotification 
              object: nil]; 

, а затем в методе уведомления я:

-(void) windowChange:(NSNotification*) notification { 
    NSWindow *window = [notification object]; 
    if (window == myMainWindow) { 
     [myProgressWindow makeKeyAndOrderFront:nil]; 
    } 
} 

Это не делает все, что я как. В основном я хочу, чтобы пользователь не нажимал что-либо в моем главном окне и не заставлял мое оконное окно активности активно/спереди.

-GW

+0

Если я понять вас правильно, что вы ищете '-runModalForWindow NSApplication в:' метод. Это предотвращает взаимодействие с чем-либо в вашем приложении, которое не находится в этом окне, пока модальный цикл не остановится. –

+0

Это просто возможно. Я попробую и вернусь к тебе. –

+0

Так что это не совсем так. Это заставило все остальные задачи замерзнуть. –

ответ

0

Попробуйте это:

-(void) windowChange:(NSNotification*) notification 

    { 

     NSWindow *window = [notification object]; 

     if (window == myMainWindow) { 

      [myProgressWindow makeKeyAndOrderFront:nil]; 

      for (NSView *item in [self.myMainWindow.contentView subviews]) 
      { 
       if ([item isKindOfClass:[NSTextField class]] || [item isKindOfClass:[NSButton class]]) 
       { 
        [(id)item setEnabled:NO]; 
       } 
      } 

     } 

    } 
+0

Закрыть. Мне нравится, что он отключает все, но это не совсем то, что я ищу. Спасибо, хотя –

+0

вы объясните немного больше того, что вы ищете? ... я постараюсь сделать это. –

+0

No prob. Поэтому, если у вас есть пустое приложение для какао и запускается NSAlert, появляется всплывающее окно. Обратите внимание, что когда вы пытаетесь щелкнуть его в исходном окне, он делает звук и не позволяет вам переключать окна. Он сохраняет окно предупреждения и не позволяет вам щелкнуть что-либо еще в приложении. Это то, что я ищу. Мне не нужен звук, хотя это было бы круто. –

Смежные вопросы