У меня есть приложение, открывающее меню при нажатии на значок док-станции (- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag
)Cocoa: Доступ к очереди событий?
Меню «останавливает» выполнение текущей нити, пока она не будет закрыта. Поэтому я получаю только звонки applicationShouldHandleReopen:
после закрытия меню.
Я думал, что с помощью таймера я могу проверить, есть ли такие вызовы методов в очереди. Но возможно ли это? Или есть другой способ справиться с моей проблемой? (Я хочу, чтобы закрыть мое меню на второй клик на значок док-станции)
Непонятно, в чем проблема? Как насчет поведения по умолчанию нежелательно? Метод 'applicationShouldHandleReopen:' вызывается всякий раз, когда пользователь нажимает один раз на значок док-станции непосредственно перед тем, как ваше приложение становится активным. Меню док-станции для вашего приложения отображается всякий раз, когда пользователь щелкает и удерживает или щелкает правой кнопкой мыши значок вашего док-станции. Второй щелчок на значке вашего док-станции при отображении меню закроет его, не приведя ваше приложение на передний план. Вы можете указать настраиваемые элементы для отображения в этом меню док-станции, но не с помощью 'applicationShouldHandleRopen:'. –
Извините, я не был достаточно ясен: я использую меню custum, которое появляется при нажатии налево. –
Я вижу. Будет ли стандартный щелчок правой кнопкой мыши по настройке меню Док-станции, используемой Finder и другими приложениями, для вас? Добавление статических или динамических пунктов меню в это меню описано здесь (http://developer.apple.com/library/mac/#documentation/Carbon/Conceptual/customizing_docktile/docktasks_cocoa/docktasks_cocoa.html#//apple_ref/doc/ UID/TP30000986-СН3-SW6). При открытии меню, похожее на док-станцию, когда пользователь оставит клики, удивит некоторых пользователей и будет иметь странность интерфейса, которая оставила бы и щелкнула правой кнопкой мыши различные меню. –