Using the Pasteboard in GraphPaper
To demonstrate how to use the pasteboard, we’ll first modify the GraphPaper application so that a user can copy a graph to the pasteboard by choosing the Edit → Copy menu command.
When you create a new project in Project Builder and then open the
new MainMenu.nib file in Interface Builder, you
are automatically provided with an Edit submenu like the one shown in
Figure 20-1. The top seven menu items listed (all
but the Find and Spelling submenus) come preconnected to the
First
Responder icon (a proxy icon in IB that represents the current First
Responder object, which changes in response to user events). The
methods invoked by the First Responder object in response to these
menu commands are undo:, redo:, cut:,
copy:, paste:,clear:, and selectAll:,
respectively. Thus, to implement Cut and Copy menu commands for the
graph, all we need to do is add cut:
and copy: methods to
GraphPaper’s Controller class and make Controller
the NSApp (NSApplication object) delegate. (Note that we already made
Controller the NSApp delegate, in Chapter 17.) The
cut: and copy:
messages will automatically be forwarded to
NSApp’s delegate, unless another responder in the
responder chain intercepts them first.

Figure 20-1. Default Edit menu provided for a new Cocoa application in IB
GraphPaper’s implementation of cut, copy, and paste will be able to provide data in two formats: ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access