Nano FeaturesLike Cocoa, Nano provides a wide set of features "for free" - giving you automatic compliance with the Human Interface Guidelines and allowing you to focus on the content of your application. Nano also includes extended features that are becoming common in many modern applications, and often provides a more advanced implementation of standard features than Cocoa. Some of these features, and how to activate them, are discussed below. Splash Screen
The NApplication object contains an NWindowSplashScreen instance, that allows it to offer automatic splash screen support during startup. A splash screen can contain arbitrary content, will be displayed with a transparent content area, and is smoothly faded in and out of view during startup. NWindowSplashScreen also provides accessors to manipulate any image, text, or progress bars within the window to reflect progress during startup. This feature can be enabled by placing a "Splash" window into your application .nib file.
Help MenuCarbon applications automatically gain a standard system-defined Help menu in their menu bar. NApplication allows custom items to be merged into this menu, by looking for an additional menu within the application .nib file and appending its contents to the default menu. This feature can be enabled by placing a "Help" menu into your application .nib file. About BoxCarbon applications automatically gain a standard about-box, which displays basic program information. NApplication provides a customizable version of this window, which can be configured to display additional strings and buttons through a properties dictionary. This behaviour can be suppressed, or the properties adjusted, by overriding NApplication. Recent ItemsNano provides a sophisticated "Recent Items" menu implementation, allowing users to easily return to a previously opened document. If present, this menu will be populated automatically by NApplication and NDocument as the user interacts with documents, and its state will be archived to the preferences.
The NRecentItems object provides an identical appearance to the equivalent Cocoa menu, displaying the icon for each file (and the parent folder, if necessary). However it also contains several improvements that provide a richer user experience, by allowing items to be placed into arbitrary groups or revealing the full path to an item if the user hovers the mouse. This feature can be enabled by creating a menu item whose command ID is 'recn'. NApplication will locate this menu item automatically, and attach an instance of NRecentItems. Preferences WindowNano provides a standard toolbar-based preferences window, NPreferencesWindow, capable of displaying multiple panels of content.
NPreferencesWindow handles all panel loading and transitions, allowing sub-classes to simply identify the nib resource for each panel and to handle commands. More information on enabling this feature can be found here. Software UpdateNano provides an advanced Software Update mechanism that allows users to view release notes, download updates, and upgrade their software - all from within the currently-running application.
Software Updates are distributed through an RSS feed, and are extracted from the same .dmg created for web-based downloads. More information on enabling this feature can be found here. Document ModelNano provides a Human Interface Guidelines-compliant document model that supports saving, loading, reverting, and printing document content.
By default documents are saved in a cross-platform file format that is based on key-value encoding, ensuring that saved documents are always forwards and backwards compatible. The base NDocument class also provides printing support, allowing sub-classes to simply render each page of the document on demand or to nominate a single view that will be automatically scaled to fit the printed page. User InterfaceNano also provides a wide range of custom views, including views that were previously available only to Apple's own applications. Large cursors and custom menu items are also provided, including an implementation of the Finder label menu item. |
|
| Copyright © 2006-2007 refNum Software | |