I'm playing with UIPickColor, which pops up a system palette dialog to
let the user pick a color.  Here's what I got so far.

(1) The API is prototyped like this:

    Boolean UIPickColor( IndexedColorType *,
                         RGBColorType *,
                         UIPickColorStartType,
                         const Char * titleP,
                         const Char * tipP );

What is the tipP string argument for?  It sounds like it should add the
little "(i)" icon to the corner of the dialog, passing the string the
user should see if they tap it.  But it has no effect for me.

Also (if indeed it's for the "(i)" feature) I'd request that it be
changed to a UInt16 'tSTR' resource id, instead of a pointer to the
actual text.  That would be easier to use since I won't need to find and
lock the string in my own code.  (It can be argued that the title should
be done this way too, but the argument for doing tips text this way is
stronger since dialog tips are already implemented by calling FrmHelp,
which takes a UInt16 string resource id.)

(2) On screen, there is a pick list in the corner to switch from palette
view to RGB view.  I'd suggest trying to change that to two push
buttons, to make it a 1-tap operation instead of 2 taps.  (Though this
may be harder to translate to other languages.)

Or if this is to remain a pick list, at least make the list wider (to
the edge of the screen) and maybe bottom-aligned, to make it easier to
hit with the stylus.

(3) Here's an obvious one, when popping up that list in Palette view,
the trigger background gets drawn in the color currently selected in the
palette, which looks like a bug.

(4) UIPickColor is not documented in PalmOS35ColorAPI.pdf.

-slj-

Reply via email to