WhatsUpDoc
by R. Dunbar Poor

Overview

What's Up, Doc? provides a skeletal example of how you might manage multiple documents in an applicaton. The actual documents are of little utility (they contain one line of text in a text field), but the functionality of What's Up, Doc?  provides a basis for a full-fledged application.

Some of the functions demonstrated in What's Up Doc? include:

A full compliment of Save, SaveAs, SaveTo, SaveAll functions.
A Revert function to restore a document from the last saved version.
Methods for reading and writing the document that only saves the variable parts of the document (not the entire document window).
If a user closes a window that has been edited, What's Up, Doc? will query if they wish to save the window before it's closed.
If the user quits the application with edited documents, What's Up, Doc? will offer the chance to review unsaved documents.
The ability to tile the open document windows.

What's Up Doc? will append a ".updoc" extension to all saved files.  In addition, you are only able to select files from the Open Panel that have a ".updoc" extension.  What's Up Doc? maintains the notion of an "active document" which receives most of the actions initiated by the user.



Program Organization

How to build the nib files
This app contains four nib files.  The first is for the main application and contains its menus.  There is a separate nib for the Help facility; one for the Info panel and one for the Document window template.



Major Classes in the Application

DocController This is the main controlling class for this application.  DocController loads the Info and Help nib files on demand.  DocController also handles the multiple documents that can be open at any time using the Document class -- including keeping a count, tracking the current active document,  managing the open and save panels, etc.
Document Initializes, loads, archives and frees a single document.  The template for the document is located in Document.nib, which is loaded by this class each time a new document is created. The windows are tiled using the newLocation() function.




Other Files

WhatsUpDoc.nib The main nib file, the user-interface of the application.
Document.nib Contains the document template.
Help.nib Contains the help window.
Info.nib Contains the info panel.
Button_Rew1.tiff WhatsUpDoc's app icon.
Button_Rew2.tiff WhatsUpDoc's document icon.
HelpText.rtf Text for the help window.



PB.project

Makefile, Created by Interface Builder

WhatsUpDoc.iconheader ,
WhatsUpDoc_main.m



Valid for 3.0