As of last week, breakdown tables are looking good in Goldenseal Pro for Windows. The code is clean and orderly. The appearance is pretty much as we’d like. It’s just a grid of little rectangles with text in them, but making that happen requires a surprising amount of code.
Many details are still unfinished, but our staff has moved on to other things for a while. There are several other types of tables in Goldenseal, and we might as well get them all working at the same time. We’ll come back to them after the entire interface is in place.
Table grids have a basic design issue: how do you enter data into the little boxes? Over the years, Microsoft Excel has approached it in two different ways: with a separate formula bar, and with an edit box that pops up when you click in a cell. Mac Finder and Windows Explorer edit in place after a delay, though it’s often easier to right-click and choose Rename.
The current version of Goldenseal also uses edit boxes that appear when you click. However, our tables are more complicated. Some cells are just text; some show a popup button and a menu list; some are check boxes or padlocks. It took a lot of programming time to get them working properly, and they still aren’t perfect.
When we worked on the Mac version last year, it was very hard to get edit-in-place fields working (especially for the smart fields that pop up a list of items). We finally gave up and tried a third approach: a separate window that pops up when you double-click in a row. Kinda like a little data entry window for a single breakdown item. It seemed like a big improvement over the current approach. Less cluttered, better use of space, easier to modify in the future. Most likely we will do the same thing for breakdown tables in the Windows version.
Right now we are working on Preferences, and the little windows that manage lists of payroll tax tables, cost categories, and many other details.
In the Mac version, there was a worrisome database bug that appeared when a breakdown table opened for the second time. Fortunately, it happened in the Windows version also, and it was easier to debug there. Working with code that is all in the same programming language really is easier. The bug wasn’t in the database code, after all. That was reassuring.