Introducing the “Welcome to Xojo” Bundle!

New to Xojo and looking for guidance? We've put together a terrific bundle to welcome you! Xojo Bundle

This bundle includes six back issues of the magazine -- all of year 19 in printed book and digital formats -- plus a one-year subscription (beginning with 20.1) so you'll be learning all about Xojo for the next year. It's the perfect way to get started programming with Xojo. And you save as much as $35 over the non-bundle price!

This offer is only available for a limited time as supplies are limited, so hurry today and order this special bundle before the offer goes away!

Article Preview

Buy Now

Issue 5.5



Issue: 5.5 (July/August 2007)
Author: Brad Rhine
Article Description: No description available.
Article Length (in bytes): 3,986
Starting Page Number: 8
Article Number: 5503
Related Web Link(s):


Full text of article...

Most users of professional-quality applications expect spell checking. Unfortunately, that can be a tough nut to crack in REALbasic. Sure, there are some declares and plugins you can use to access the Cocoa spell checker, but if you need a cross-platform solution, there's not a lot to choose from.

That's where MagicSpeller comes in. For the modest price of $25, infiniteline will provide you a slick set of components that make it really easy to add spell checking to your application. The components consist of MagicSpellerEF (an EditField subclass), a MagicSpeller module, and MagicSpellerInterfaceWnd (a custom window that handles much of the work for you). Just drag the components into your project and you're well on your way to handling cross-platform spell checking. Well, at least for Mac OS X and Windows. As of this writing, Linux is not officially supported, but the author notes that it's a possibility for the future.

To integrate MagicSpeller into your project, you'll need to change some of your EditFields to the custom MagicSpellerEF EditField, but only if you want to use its inline spell checking. Inline spell checking is pretty nifty, highlighting each misspelled word in red. It's reminiscent of the Cocoa spell checker, although not identical.

If you don't require inline spell checking, then it's even easier. Just tell MagicSpeller which EditFields you wish to spell check, and then run its CheckSpelling method. The custom MagicSpellerInterfaceWnd window pops up and walks your users through their misspelled words and suggested replacements. Even though you can't edit MagicSpellerInterfaceWnd, you can control a lot of its behavior. You can turn audible feedback on or off and you can set the maximum number of recommended words. Its position can be saved and restored using some public properties.

However, MagicSpellerInterfaceWnd isn't perfect and probably won't suit everyone. Fortunately, MagicSpeller provides a set of public methods that you can use to create your own interface to the spell checking system.

Of course, one aspect you'll definitely want to control is the default dictionary. MagicSpeller does come with an extensive default dictionary, and your end users can add words to their own custom dictionaries, but you can provide them with a default that suits your application's needs. For example, if you're creating medical or legal software, you're probably going to want some words in the default dictionary that may not be necessary for someone writing an email client.

On top of all of this, infiniteline provides detailed documentation, a nice example project showing off MagicSpeller's capabilities, and outstanding support, not that you're likely to need it.

All in all, MagicSpeller provides an easy and elegant way to add spell checking to your cross-platform projects. Linux support would be great in the future, but if you're working on Mac OS X and Windows, it would be tough to go wrong with this one.

End of article.