Управление объектами макета страницы
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
если должны быть отброшены новые настройки.