public CellAreaDim(CellAreaDim dim)
 {
     this.width = dim.width;
     this.height = dim.height;
 }
 public void SetSize(CellAreaDim dim)
 {
     SetSize(dim.width, dim.height);
 }
 // mixOnValidating()?
 public virtual void Invalidate()
 {
     this.valid = false;
     if (!IsPreferredSizeSet() && prefSize != null)
     {
         prefSize = null;
     }
     //        if (!isMinimumSizeSet()) {
     //            minSize = null;
     //        }
     //        if (!isMaximumSizeSet()) {
     //            maxSize = null;
     //        }
     InvalidateParent();
 }
        public virtual void SetPreferredSize(CellAreaDim preferredSize
			)
        {
            // CellAreaDim old = (prefSizeSet)? this.prefSize : null;
            this.prefSize = preferredSize;
            this.prefSizeSet = (preferredSize != null);
        }
 // firePropertyChange("preferredSize", old, preferredSize);
 public virtual CellAreaDim GetPreferredSize()
 {
     // return or re-compute preferredSize.  cf override in CellAreaContainer for compute with layoutManager
     CellAreaDim dim = prefSize;
     if (dim == null || !(IsPreferredSizeSet() || IsValid()))
     {
         prefSize = GetMinimumSize();
         dim = prefSize;
     }
     return new CellAreaDim(dim);
 }