### CustomMenus ###
This application demonstrates several implementations of custom menus, including a popup menu with a custom view, and a custom "suggestions" popup window that behaves like a popup menu and properly handles user interactions accordingly.
This application was written as part of the WWDC 2010 "Key Event Handling In Cocoa Applications" session (#145).
Video of this session is available here: https://developer.apple.com/videos/
OS X 10.8 or later, Xcode 4.4 or later
OS X 10.6.x or later
The controller for the suggestions popup window. This class handles creating, displaying, and event tracking of the suggestion popup window.
A view that draws a rounded rect with the window background. It is used to draw the background for the suggestions window and expose the suggestions to accessibility.
A custom window that acts as a popup menu of sorts. Since this isn't semantically a window, we ignore it for accessibility purposes. However, we need to inform accessibility of the logical relationship between this window and it parent UI element in the parent window.
A simple view that draws menu-like highlighting and exposes its containing views as a suggestion for accessibility.
A custom text field cell to perform two tasks. Draw with white text on a dark background, and expose any associated suggestion window as our accessibility child.
A custom view that is used as an NSMenuItem. This view contains up to 4 images and the logic to track the selection of one of those images.
This class is responsible for two major activities. It sets up the images in the popup menu (via a custom view) and responds to the menu actions. Also, it supplies the suggestions for the search text field and responds to suggestion selection changes and text field editing.
A category on NSImage to create a thumbnail sized NSImage from an image URL.
CHANGES FROM PREVIOUS VERSIONS:
1.4 - Upgraded for the OS X 10.8 SDK, removed one build warning, App Sandboxing turned on.
1.3 - Project updated for Xcode 4.
1.2 - First version.
Copyright (C) 2011-2012 Apple Inc. All rights reserved.
© 2012 Apple Inc. All Rights Reserved. (Last updated: 2012-10-04)