I agree that the PalmOS tables are weak in this area. But I don't see it the
way you do. The row height need not match the item heights. Each item can
have it's own height. What would be nice is a TblSetItemHeight function that
applies to some item styles such as custom, that don't have any obvious item
height of their own. Item styles such as label, check-box, and field would
give errors if this function was called on them.

If you want to work with pre-4.0 devices, you can't use my new item style.
I'm not the best person to answer the question of how to do it. The authors
of apps like AsciiChart that were fixed to work properly on the older OS
versions could answer better than I. However, here is my best guess.

Get access to the OS source code. Look at table.c and see how you can
override it's behavior by catching events and processing them yourself. For
example, instead of letting the table deal with highlighting the row as you
drag the stylus around, do it yourself with your own EvtGetPen loop. Start
this up on a TblEnterEvent, and if the pen is inside the row when it is
released, generate a TblSelectEvent, just like the code it table.c does. In
short, use tables but override some of the table logic to get the correct
behavior. I'm sorry I don't have a more detailed answer. One other thought:
there may very well be an application out there that has had to solve this
problem, and whose source code is available. Perhaps a bit of time spent on
this might be well rewarded.
-- 
Peter Epstein

-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/

Reply via email to