def render_data pad, lineno, text
        text = text.join
        # FIXME why repeatedly getting this colorpair
        cp = @color_pair
        att = @attrib
        # added for selection, but will crash if selection is not extended !!! XXX
          if @source.is_row_selected? lineno
            att = REVERSE
            # FIXME currentl this overflows into next row
          end

        FFI::NCurses.wattron(pad,FFI::NCurses.COLOR_PAIR(cp) | att)
        FFI::NCurses.mvwaddstr(pad, lineno, 0, text)
        FFI::NCurses.wattroff(pad,FFI::NCurses.COLOR_PAIR(cp) | att)
      end
def render_data pad, lineno, text
        text = text.join
        # FIXME why repeatedly getting this colorpair
        cp = @color_pair
        att = @attrib
        # added for selection, but will crash if selection is not extended !!! XXX
          if @source.is_row_selected? lineno
            att = REVERSE
            # FIXME currentl this overflows into next row
          end

        FFI::NCurses.wattron(pad,FFI::NCurses.COLOR_PAIR(cp) | att)
        FFI::NCurses.mvwaddstr(pad, lineno, 0, text)
        FFI::NCurses.wattroff(pad,FFI::NCurses.COLOR_PAIR(cp) | att)
      end
passes padded data for final printing or data row
 this allows user to do row related coloring without having to tamper
 with the headers or other internal workings. This will not be called
 if column specific colorign is in effect.
 @param text is an array of strings, in the order of actual printing with hidden cols removed