Yonk is written in REALbasic, an object-oriented language similar to Visual Basic. I've tried to make Yonk as object-oriented as possible, and several components of Yonk's source code are available as their own stand-alone projects. Some of the code below may not actually be in the current release of Yonk (yet).
Some of the projects on this page are available under the GNU General Public License. The GPL is a source of much anxiety for some, so I've explained why I'm using it here.
|
Undo Toolkit 1.3.1 27 June 2005 GNU General Public License |
(As featured in Issues 1.2 and 1.4 of
REALbasic
Developer magazine. RBD subscribers can
download the
tutorial files from the subscribers-only web site.)
Undo Toolkit allows you to add undo and redo to your REALbasic project with just one line of code per control. Just change each control's "super" to its Undo Toolkit counterpart, add one line to set the EditUndo menu text, and you've implemented a fully featured undo system in a fraction of the time. The Undo Toolkit includes window classes that automatically prompt the user to save changes (using a MacOS X sheet window), manage the MacOS X Aqua change flag, enable and handle the FileSave, EditUndo and EditRedo menu items, and support unlimited levels of undo with unlimited numbers of controls. Undo Toolkit supports application-wide or window-specific undo—you can choose the undo solution that's right for your project—and provides customizable language constants for multi-lingual apps.
Requirements:
|
||||||||||||||||||||||
| Download Undo Toolkit |
|
StyledEditField 1.0 9 April 2005 Public Domain |
StyledEditField is an EditField subclass which implements the
SelStyledText property, allowing you to read or write the
EditField's current selection as a StyledText object.
Requirements:
|
| Download StyledEditField |
|
RuntimeException Plus 1.0 24 January 2005 Public Domain |
This module extends the built-in RuntimeException class
to better support collecting a stack trace from a built application.
It adds the following methods and "properties" (they're really
methods, but they behave like properties) to RuntimeException:
Method:
Properties:
See the demo project for examples and instructions. Requirements:
|
| Download RuntimeExceptionPlus |
|
Yonk 1.0b6 source 29 August 2003 GNU General Public License |
This is the full source tree for Yonk 1.0b6. In addition to the packages
listed below, the Yonk code includes classes, threads and windows for
reading the contents of an Inform source file, storing it as a hierarchical
list of REALbasic objects, editing and saving these objects, displaying a
map of connected rooms, handling menus and windows, and other related code.
You should be able to compile the full Yonk application from this source.
Requirements:
|
| Download Yonk Source |
|
Aqua About Box 1.1.1 27 July 2003 Public Domain |
This project provides an About box template that follows
Apple's Aqua Human Interface Guidelines down
to the pixel, so that your application looks and feels like
a good MacOS X app should. The Aqua HI Guidelines specify
exactly the layout, font sizes and spacing of an about box,
so downloading this project will save you an hour or two of
tweaking.
Thanks to Amar Sagoo at The Interface Mafia for the article that inspired this project. New in version 1.1: AquaAboutBox is now a "one size fits all" template, instead of having hard-coded small, medium, and large versions. Set or unset the provided constants and the AquaAboutBox will grow or shrink as needed. AquaAboutBox has also been integrated into the YFrame application framework; this download includes the full YFrame_kAppConstants module, of which the AquaAboutBox uses a subset. 27 July 2003 update: Version 1.1.1 cheerfully steals two features from Seth Willits's newly announced OS X About Window project: Support for selected HTML tags and the Edit menu's "Select All" credits in the About box credits field. Seth is keeping me on my toes! Requirements:
|
| Download AquaAboutBox |
|
YFrame 10 May 2003 GNU General Public License |
YFrame is a REALbasic code template for document-centric
applications. It's designed for MacOS X, but should be
compatible with MacOS 9 (and, partially, with Windows).
YFrame includes the latest versions of several projects that
are listed separately below (including UndoToolkit,
AquaAboutBox and BugReport), so if you want the whole works
in one download, this is it.
YFrame provides the following features and functionality:
Requirements:
|
| Download YFrame |
|
Bug Reporter 9 November 2002 Public Domain |
This window class allows your application to create and send
bug reports by e-mail, using the System.Gestalt call
to collect system information, and the ShowURL method
to invoke the user's e-mail application and send a message. The
user can optionally enter a description of the problem. The
class is designed to be part of your exception handling code,
but it can be used from anywhere in your application.
Requirements:
|
| Download BugReporter |
|
HierListBox 4.5.1 8 September 2002 GNU General Public License |
This is the latest evolution of what was once Theo Smith's "TreeVar and HierListBox" project; I've now rewritten it from the ground up, and turned it into a subclass of REALbasic 4.0's ListBox instead of a Canvas. It implements a true hierarchical list, with dragging and dropping of list elements (using the correct Appearance Manager sounds), cutting, copying and pasting (including maintenance of the Edit menu while the HierListBox has the focus), custom events for reading and writing list elements to/from the Clipboard, anti-aliased text under MacOS X, and more. See the notes and comments throughout the code for more information. Requirements:
|
| Download HierListBox |