Undo support is a real PITA for programmers: it makes everything 2 or 3 times harder. Luckily, we don’t need it for many things in our accounting software.
Undo is most useful while you edit text, but the OS and frameworks already handle that for us. We just inherit from QTextEdit or QLineEdit, and it works. Popups and other data entry fields are easy to change, so they have little need for undo. Worst case, you can Revert Record and go back to the last saved version.
Custom Layouts is the only place that needs lots of Undo code. It’s a drawing environment that lets users change the appearance of data entry screens, printed forms and reports. While tweaking layouts, you’ll often want to reverse small changes.
Programming Undo often requires sneaky tricks. For example, when you delete something, it just becomes invisible. Undo the delete and it appears again. The actual deletion happens later.
Goldenseal has single Undo. You can reverse the most recent action, but that’s it. The new accounting app is a bit better, with multiple Undo. You can go back step by step and undo each action since the last Save.
To figure out how much to undo, our staff has been checking other graphics apps. It’s good timing, since we just closed on a new house last week. We need to make floor plans for future rehabs, and to help decide on office layout before lugging desks and file cabinets.
When Turtle Creek Carpentry first computerized, MacDraft was the best app for blueprints, even though it crashed frequently. Eventually MacDraw improved enough to be a more reliable replacement. That worked great for a decade or so.
Sadly, most of Apple’s apps did not survive the switch to OS X. We still have all sorts of handy data that can only be seen on antique machines running OS 9.
These days, we have yet to find a decent, simple CAD app to replace MacDraw. Some apps are awkward. Some lack important features. Some are way too complicated. So far, LibreOffice Draw and FloorDesign2 seem the best of the lot, but neither is as functional as stuff from 25 years ago. Many innovations from the early Macintosh just faded away.
When it’s finished, Custom Layouts will have about 1/3 of the code needed to recreate MacDraw Pro. It will be very tempting to spin off a simple CAD app, some day. However, we do have more important things to work on right now.
Dennis Kolva
Programming Director
TurtleSoft.com