Как организовать меню «Окно»? - PullRequest
4 голосов
/ 31 мая 2011

У меня есть приложение на основе документов. Каждый документ может иметь несколько окон. Каждое окно автоматически добавляется в меню «Окно». Однако они добавляются в более или менее случайном и бесполезном порядке. Я хотел бы, чтобы заголовки окон были организованы в соответствии с NSDocument, к которому они принадлежат, подобно тому, как это делают XCode или Photoshop.

Как мне лучше всего это сделать? Как я могу предотвратить поведение AppKit по умолчанию для добавления всех окон в это специальное меню, и куда я должен поместить код, который добавляет пункты меню «правильным» способом? Я не хочу помещать обработчики в каждый оконный контроллер!

1 Ответ

1 голос
/ 28 июня 2011

Похоже, что это то, что Какао должен делать автоматически.Я не знаю, так ли это, но первое, что нужно проверить - правильно ли подключены оконные контроллеры к своим документам.Свойство windowControllers вашего подкласса документа содержит все нужные объекты?

Если это нехорошо, то из ссылки NSWindow это выглядит как единственный способ предотвратить окно, заголовок которого был установлендобавлено в меню Windows -[NSWindow setExcludedFromWindowsMenu:].Похоже, что вы захотите вызвать это во всех своих окнах, а затем настроить объект (возможно, в MainMenu перо), который будет заботиться обо всех позициях окон и группировать их в меню Windows (через NSApplication методы).Возможно, вам придется добавить специальные отключенные элементы и тому подобное, чтобы группировка выглядела правильно.Я надеюсь, что окна можно будет добавлять вручную, даже если вы ранее просили их исключить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...