GOOF - Greg's Object-Oriented Framework
Greg Ewing, Mac Developer
GOOF
Greg's Object-Oriented Framework
for the MacintoshGoof is an object-oriented application development framework for Think Pascal. It resembles a cut-down version of MacApp. Although it doesn't do everything that MacApp or TCL do, it does most of the important things, and it's much smaller.
This is the update, most recent version of GOOF, version 0.8. If you have any questions about it, feel free to e-mail me.
Features
- Encapsulates all the standard parts of the event loop of a Mac application. Most events are handled internally and the programmer never sees them. Those he does need to see are dispatched to application-supplied methods.
- An easy-to-use mechanism is provided to ensure that the correct menu items are enabled at all times and the right method is called in response to a menu command.
- Windows can be divided into frames, each of which provides a virtual drawing space that is automatically clipped, and if desired, scrolled. All aspects of scrolling are automatic.
- Frames can contain controls that are scrolled with its contents, and can be nested to arbitrary depths if desired.
- Implements most of the standard parts of the File Menu commands for opening, saving and reverting documents, including opening from the finder, and asking whether to save changes. The programmer need only supply methods to read and write the contents of the file.
- Optional classes are provided for:
- Dialogs - an improved interface to the Dialog Manager for modal and non-modal dialogs.
- Text editing - an improved interface to TextEdit.
- Tool palettes (non-floating).
Limitations
- No built-in support for printing (although it's not hard to add your own).
- No support for floating windows.
- Does not support the new method of passing Finder parameters. No built-in support for high-level events (although you can catch them and handle them yourself).
- No account is taken of the possibility of running out of memory.