def set_form_row
      return :UNHANDLED if @current_component.nil?
      cc = @current_component
      $log.debug "STACKFLOW #{@name} set_form_row calling sfr for #{cc.name}, r #{cc.row} c: #{cc.col} "
      $log.debug " STACKFLOW on enter sfr #{@current_component.name}  #{@current_component} "

      @current_component.on_enter
      @current_component.set_form_row # why was this missing in vimsplit. is it
      $log.debug "STACKFLOW #{@name} set_form_row calling sfr for #{cc.name}, r #{cc.row} c: #{cc.col} "
      # that on_enter does a set_form_row
      @current_component.set_form_col # XXX 
      @current_component.repaint # OMG this could happen before we've set row and col
      # XXX compo should do set_form_row and col if it has that
    end
def set_form_row
      return :UNHANDLED if @current_component.nil?
      cc = @current_component
      $log.debug "STACKFLOW #{@name} set_form_row calling sfr for #{cc.name}, r #{cc.row} c: #{cc.col} "
      $log.debug " STACKFLOW on enter sfr #{@current_component.name}  #{@current_component} "

      @current_component.on_enter
      @current_component.set_form_row # why was this missing in vimsplit. is it
      $log.debug "STACKFLOW #{@name} set_form_row calling sfr for #{cc.name}, r #{cc.row} c: #{cc.col} "
      # that on_enter does a set_form_row
      @current_component.set_form_col # XXX 
      @current_component.repaint # OMG this could happen before we've set row and col
      # XXX compo should do set_form_row and col if it has that
    end
private
 XXX why are we calling 3 methods in a row, why not OE manages these 3
 There's double calling going on.