Creating a shell
There are two different methods of creating a printer shell.
CwPrinterShell>>createApplicationShell:argBlock: creates a printer shell on the default printer display. Resource-setting messages can optionally be sent to the shell in the create:argBlock:.
CwPrinterShell>>appCreateShell:applicationClass:display:argBlock: allows an application to specify the printer display (the print server) the shell is to be associated with. This method is typically used when a printer display has been selected using a printer prompter.
The screen: method can be used in the shell's create:argBlock: to specify the CgPrinterScreen (the print device) the shell is to be associated with. The screen must be one of the printer screens of the shell's display. If a screen is not specified, the shell simply uses the default printer screen of the display. Because there is rarely more than one CgPrinterScreen associated with a printer display, the default printer screen is typically used.
Print job attributes for the shell can also be specified in the create:argBlock: via the jobAttributes: method. All print jobs produced by the shell take on the given job attributes. If job attributes are not specified at shell creation time, the shell obtains default job attributes from its printer screen. Job attributes are not checked for compatibility with the selected printer, but the application can use isCompatibleWith:; to test compatibility if desired.
Both printer shell creation methods answer the newly created shell widget, or nil if the widget cannot be created. An error message is displayed if a printer display or printer screen is requested that is not valid.
Last modified date: 01/29/2015