outputbins2pde's Introduction
OutputBins2PDE demonstrates how to write a Cocoa PDE that supports all of the features of Mac OS X 10.5, while also running on Mac OS X 10.4. It demonstrates how to write a complex Cocoa Printer PDE, demonstrating the following features that are new in Mac OS X 10.5: 1. Resizing the printer dialog 2. Overriding the Help and OK buttons 3. Automatic PPD Constraint handling When running on Mac OS X 10.4 the PDE automatically falls back to a reduced feature set. To be fully compatible with applications that take advantage of all features of Mac OS X 10.5, you must build your PDE 4 way universal, that is for the ppc, ppc64, i386 and x86_64 architectures. Additionally Printer PDEs need to support running in a Garbage Collected environment. We highly recommend that you test your PDEs thoroughly on Mac OS X 10.4 to ensure that this does not cause your PDE to malfunction, as the any GC setting other than "unsupported" will change the generated code in ways that may not be compatible with Mac OS X 10.4 under certain situations. In general however, this should not be a problem. To install the OutputBins2PDE you need to do the following: 1) Copy the PPD (OutputBins2Test.ppd) to /Library/Printers/PPDs/Contents/Resources/ (on Mac OS X 10.5) or /Library/Printers/PPDs/Contents/Resources/en.lproj/ (on Mac OS X 10.4) 2) Create the folder /Library/Printers/Sample/ 3) Copy the build result OutputBins2PDE.bundle to /Library/Printers/Sample/ 4) Create a printer that uses the OutputBins2Test.ppd, it will be named "OutputBins 2 PDE test" in the PPD list. Now when you print to that printer you should see OutputBins and Password PDEs in the list of PDEs (on Mac OS X 10.5 they will be listed in the Vendor PDE section). <Garbage Collection Programming Guide> http://developer.apple.com/documentation/Cocoa/Conceptual/GarbageCollection/Introduction.html Project Configuration Details Configuring the Targets Much of the configuration for the OutputBins2PDE target is in the OutputBins2Config.xcconfig config file. If you open the Target Info for each of these targets, goto the Build tab and check the Based On popup menu at the bottom, you will see that both Debug & Release builds are based on this config file. This structure allows most of the build settings for each configurations to be kept in sync automatically. Editing the xcconfig files to set a build setting automatically sets the build setting both configurations. Any settings you wish to keep specific to a particular target or configuration can still be set in the Build settings for that target. The biggest reason for using a config file is that it allows you to specify settings that are not exposed at the GUI level. We take advantage of architecture specific build settings to set the deployment target for our 32-bit targets to Mac OS X 10.4, while our 64-bit targets use a deployment target of Mac OS X 10.5. You can easily extend the xcconfig files by using copy & paste to edit the xcconfig. Any setting from the Build tab can be exported to an xcconfig by copying the setting from the Target Info window and pasting it into your xcconfig file.
outputbins2pde's People
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.