BetterEdit - A Simple BeBox Text Editor and IDE =============================================== Version 1.0 (for DR6). February 12, 1996. BetterEdit and the BetterEdit source code are free and in the public domain. Please feel free to use and redistribute both the program and the source code, and to use them in any way you see fit. The archive includes the program, full source code, and documentation. Introduction ------------ BetterEdit is a simple text editor and integrated development environment (IDE) for the BeBox. BetterEdit is very much a mouse-based editor. It's in the style of the "Edit" program which ships on the BeBox. It's not even close to a "vi" or an "emacs" keyboard-based editor. Although it has several nice features which "Edit" lacks, it is still quite minimal. For example, it is nowhere near as advanced as the best Mac mouse-based editors like BBEdit. I like mouse-based editors. Other programmers hate them, and prefer keyboard-based or hybrid editors. If you are in these latter camps, avoid BetterEdit, because you will not like it! BetterEdit's IDE makes it possible to develop simple BeBox projects without having to use the shell or makefiles. It's not as powerful as the CodeWarrior IDE or as flexible, but it's simple and effective. Its major advantage when compared to using the shell and makefiles is that, like CodeWarrior, it tracks header file dependencies for you. It cannot, however, handle complex projects like makefiles can. The major difference between BetterEdit and CodeWarrior is that in BetterEdit you use the Browser to organize your projects, not a separate project window. The program got its name because when I first got my BeBox, I found that while the "Edit" program that came with the box was adequate, it wasn't perfect, and there was room for lots of obvious improvements. I also disliked having to use clumsy makefiles and the shell for development. I naturally wanted to use my new toy for development, not the Mac version of CodeWarrior (as wonderful as it is). The BeBox version of the CodeWarrior IDE wasn't available yet, and I wasn't willing to wait for it. So I decided to write a "better editor" with a simple but convenient and effective IDE as my first BeBox program. I wrote BetterEdit for the fun of it, and as a way to start learning and exploring the basic programming kits. I needed something non-trivial to really learn the BeBox basics, but something modest I could finish in just a few weeks of vacation time from my job. BetterEdit was a good choice. BetterEdit makes significant use of all of the core kits and classes. I also tried to use BetterEdit to begin to explore some of the advanced and unique features of the BeBox. For example, BetterEdit does some nice things with blooper threads and the database. I also wrote BetterEdit as a way to begin learning and using C++. BetterEdit is both my first BeBox program and my first C++ program. BetterEdit is a simple and modest program. The first beta version was written in less than three weeks. It is not intended to be either a serious complete editor or a serious complete professional BeBox development environment. That's what Metrowerks CodeWarrior and other products are for. BetterEdit cannot compete with CodeWarrior or high-end serious editor products! I wrote BetterEdit for me, not for you. Editors are intensely personal. This is the kind of editor I like. I'd even call it quirky in spots. I doubt if it is exactly the kind of editor you like. I am not interested in turning BetterEdit into a huge kitchen sink application with features to please everyone (an impossible task in any case). I'd rather work on other things. I distribute the program with full source code. If you'd like to see your favorite features added to the program, instead of writing to me and asking me to implement them (which most likely won't work), I invite you to add them yourself! Finally, BetterEdit is an unfinished program (aren't they all? :-). In its current state, it's really more of a "sample" or "demo" program than a "finished product". I decided to release it anyway, since if I continued to fool around with it trying to make it perfect, it would never get finished or released. The "Read Me" file gives details on some of the things I wanted to do but never got around to doing. Some of these things are important unfinished business, like proper error checking and memory management. Others are ideas for more features. I may add some of these things some day. Then again, I may not. Anyone else who is interested in pursuing some of these ideas is more than welcome to do so.