Управление объектами макета страницы

NSPageLayout объект создает панель, запрашивающую пользователя для получения информации, такой как формат бумаги и ориентация. Эта информация хранится в NSPrintInfo объект, использующийся при печати.

Когда пользователь выбирает команду Установочного меню Страницы из меню File, runPageLayout: система отправляет сообщению цепочку респондента и создает NSPageLayout объект. Любой NSApplication или NSDocument объект получает сообщение. На получение пользовательский интерфейс Макета страницы выведен на экран пользователю. NSApplication отображения объекта пользовательский интерфейс макета страницы как модальная панель, тогда как NSDocument отображения объекта пользовательский интерфейс макета страницы как лист. Обработка сообщений и дисплей сделаны автоматически системой без кода, необходимого Вашему приложению.

Обработка панель установки страницы

Если реализация по умолчанию не достаточна, можно обработать панель Page Setup сами. Вы создаете NSPageLayout объект путем вызова pageLayout метод. Для отображения приложения модально пользовательского интерфейса Установки Страницы используйте runModal или runModalWithPrintInfo: методы. Для отображения документа модально пользовательского интерфейса Установки Страницы как листа используйте beginSheetWithPrintInfo:modalForWindow:delegate:didEndSelector:contextInfo: метод.

Редко необходимо разделять на подклассы NSPageLayout потому что можно увеличить его дисплей путем добавления собственного вспомогательного представление с помощью addAccessoryController: метод. Место управляет для установки специфичных для приложения настроек печати в Вашем вспомогательном представление.

Вспомогательное представление выведено на экран, когда пользователь выбирает надлежащую запись — который является именем Вашего приложения — во всплывающем меню Настроек в панели Page Setup. Панель автоматически изменяет размеры в вертикальном направлении для размещения высоты представления, которое Вы добавляете. Необходимо удостовериться ширина Вашего вспомогательного адаптации представления с максимальной шириной панели Page Setup. Если возможно, необходимо заставить аксессуар просмотреть тот же размер как стандартные представления в панели.

При выполнении приложения, которое не является базируемым документом, необходимо переопределить runPageLayout: метод NSApplication класс. Можно также реализовать метод ранее в цепочке респондента. Если Вы хотите добавить вспомогательное представление, Ваш runPageLayout: метод должен вызвать addAccessoryController: метод.

При выполнении основанного на документе приложения, NSDocument реализация по умолчанию класса runPageLayout: создает панель макета страницы и затем передает объект preparePageLayout: метод. Переопределите preparePageLayout: метод для добавления вспомогательного представление. NSDocument тогда выполняет панель как лист, присоединенный к его окну.

Настройка панели установки страницы в основанном на документе приложении

NSDocument класс реализует runPageLayout: метод для обработки команды Установочного меню Страницы вместо разрешения NSApplication обработайте его. Когда документ получает это сообщение, это получает документ NSPrintInfo возразите и вызывает метод runModalPageLayoutWithPrintInfo:delegate:didRunSelector:contextInfo: вывести на экран панель Page Setup. Дать Ваш NSDocument разделите возможность на подклассы настроить NSPageLayout объект, система печати передает NSPageSetup объект к preparePageLayout: прежде, чем вывести на экран панель. Переопределите этот метод, если Вы хотите добавить вспомогательное представление к панели.

Когда панель отклонена с кнопкой OK, NSDocument проверяет возвращаемое значение shouldChangePrintInfo: метод. Если это возвращается YES(значение по умолчанию), система печати обновляет NSPrintInfo возразите для отражения новых настроек печати. Можно переопределить этот метод для проверки новых настроек и возврата NO если должны быть отброшены новые настройки.