def print comp
      config = @config
      row = comp.row + comp.height - 1
      col = comp.col + 2
      len = comp.width - col 
      g = comp.form.window
      # we check just in case user nullifies it deliberately, since he may have changed config values
      @color_pair ||= get_color($datacolor, config[:color], config[:bgcolor]) 
      @attrib ||= config[:attrib] || Ncurses::A_REVERSE
      

      # first print dashes through
      #g.printstring row, col, "%s" % "-" * len, @color_pair, Ncurses::A_REVERSE

      # now call the block to get current values for footer text on left
      ftext = nil
      if @command_text
        ftext = text(comp) 
      else
        if !@right_text
          # user has not specified right or left, so we use a default on left
          ftext = "#{comp.current_index} of #{comp.size}   "
        end
      end
      g.printstring(row, col, ftext, @color_pair, @attrib) if ftext

      # user has specified text for right, print it
      if @right_text
        len = comp.width
        ftext = right_text(comp)
        c = len - ftext.length - 2
        g.printstring row, c, ftext, @color_pair, @attrib
      end
    end
def print comp
      config = @config
      row = comp.row + comp.height - 1
      col = comp.col + 2
      len = comp.width - col 
      g = comp.form.window
      # we check just in case user nullifies it deliberately, since he may have changed config values
      @color_pair ||= get_color($datacolor, config[:color], config[:bgcolor]) 
      @attrib ||= config[:attrib] || Ncurses::A_REVERSE
      

      # first print dashes through
      #g.printstring row, col, "%s" % "-" * len, @color_pair, Ncurses::A_REVERSE

      # now call the block to get current values for footer text on left
      ftext = nil
      if @command_text
        ftext = text(comp) 
      else
        if !@right_text
          # user has not specified right or left, so we use a default on left
          ftext = "#{comp.current_index} of #{comp.size}   "
        end
      end
      g.printstring(row, col, ftext, @color_pair, @attrib) if ftext

      # user has specified text for right, print it
      if @right_text
        len = comp.width
        ftext = right_text(comp)
        c = len - ftext.length - 2
        g.printstring row, c, ftext, @color_pair, @attrib
      end
    end
supply a default print function. The user program need not call this. It may be overridden
 The idea of passing a component at this stage is that one footer can be created for several
 tables or text components, each will pass +self+ when calling print.
 @param comp : the calling textpad component (usually passed as +self+)