View Raw SPL
/* set color for one or more items */
setitemcolor(s = refseries(w0), item = -1, colorlist = getwincolorlist())
{
        local nitem, nmember, j, k, cidx, clen;

        clen  = length(colorlist);
        idx   = 0;

        if (isscalar(item))
        {
                if (item <= 0)
                {
                        item = 1..numitems(s);
                }
                else
                {
                        item = {item};
                }
        }

        if (numitems(s) > 0)
        {
                nitem = 0;

                /* items */
                loop (j = item)
                {
                        /* color index */
                        cidx = (nitem % clen) + 1;

                        /* number of members */
                        nmember = itemcount(s, j);

                        loop (k = 1..nmember)
                        {
                                setcolor(s, colorlist[cidx], j, k);
                        }

                        nitem++;
                }
        }
}