     }
     
     /**
-     *  Sets the height of a given row. This height takes precedence over
-     *  the natural height of the row (determined by the maximum of its 
-     *  cell heights) and the defaultRowHeight. However, fixedRowHeight
-     *  takes precedence over this height.
+     *  Sets the width of a given column.
      */
     public function setColumnWidth(col:int, width:Number):void
     {

            else
                cur -= temp + columnGap;
            
            if (cur < 0)
                return i;
        }
        

{
    include "../../core/Version.as";
    
    //--------------------------------------------------------------------------
    //
    //  Class methods
    //
    //--------------------------------------------------------------------------
    
    /**
     *  Inserts specified elements starting from startIndex.
     * 
     *  Our implementation of:
     *      var argArray:Array = new Array();
     *      for each (var x:Number in values)
     *      {
     *          argArray.push(x);
     *      }
     *      argArray.splice(0, 0, startIndex, 0);
     *      vec.splice.apply(vec, argArray);
     *  
     */
    public static function insertValuesToVector(vec:Vector.<Number>, startIndex:int, values:Vector.<Number>):void
    {
        // FIXME (klin): change method name.
        const oldLength:int = vec.length;
        const count:int = values.length;
        vec.length += count;
        const vecLength:int = vec.length;
        var i:int;

        // Shift elements down by count.
        for (i = oldLength - 1; i >= startIndex; i--)
            vec[i + count] = vec[i];
        
        const endIndex:int = startIndex + values.length;
        for (i = startIndex; i < endIndex; i++)
            vec[i] = values[i];
    }
    
    /**
     *  Insert count elements of the specified value starting from
     *  startIndex.
     */
    public static function insertValueToVector(vec:Vector.<Number>, startIndex:int, count:int, value:Number):void
    {
        // FIXME (klin): change method name.
        const oldLength:int = vec.length;
        vec.length += count;
        const vecLength:int = vec.length;
        
        // Shift elements down by count.
        for (var i:int = oldLength - 1; i >= startIndex; i--)
            vec[i + count] = vec[i];
        
        clearVector(vec, value, startIndex, count);
    }
    
    /**
     *  Sets all of the numbers in a vector to be value unless otherwise
     *  specified.
     */
    public static function clearVector(vec:Vector.<Number>, value:Number, startIndex:int = 0, count:int = -1):void
    {
        const endIndex:int = (count == -1) ? vec.length : startIndex + count;
        
        for (var i:int = startIndex; i < endIndex; i++)
            vec[i] = value;
    }
    
    /**
     *  @private
     *  Restrict a number to a particular min and max.
