def XXXpadrefresh
      top = @window.top
      left = @window.left
      sr = @startrow + top
      sc = @startcol + left
      # first do header always in first row
      retval = FFI::NCurses.prefresh(@pad,0,@pcol, sr , sc , 2 , @cols+ sc );
      # now print rest of data
      # h is header_adjustment
      h = 1 
      retval = FFI::NCurses.prefresh(@pad,@prow + h,@pcol, sr + h , sc , @rows + sr  , @cols+ sc );
      $log.warn "XXX:  PADREFRESH #{retval}, #{@prow}, #{@pcol}, #{sr}, #{sc}, #{@rows+sr}, #{@cols+sc}." if retval == -1
      # padrefresh can fail if width is greater than NCurses.COLS
    end
def XXXpadrefresh
      top = @window.top
      left = @window.left
      sr = @startrow + top
      sc = @startcol + left
      # first do header always in first row
      retval = FFI::NCurses.prefresh(@pad,0,@pcol, sr , sc , 2 , @cols+ sc );
      # now print rest of data
      # h is header_adjustment
      h = 1 
      retval = FFI::NCurses.prefresh(@pad,@prow + h,@pcol, sr + h , sc , @rows + sr  , @cols+ sc );
      $log.warn "XXX:  PADREFRESH #{retval}, #{@prow}, #{@pcol}, #{sr}, #{sc}, #{@rows+sr}, #{@cols+sc}." if retval == -1
      # padrefresh can fail if width is greater than NCurses.COLS
    end
refresh pad onto window
 overrides super due to header_adjustment and the header too