--- /home/cpdev/src/classpath/javax/swing/text/View.java	2005-07-02 21:04:11.000000000 +0000
+++ javax/swing/text/View.java	2005-06-30 05:35:21.000000000 +0000
@@ -40,12 +40,9 @@
 
 import java.awt.Container;
 import java.awt.Graphics;
-import java.awt.Rectangle;
 import java.awt.Shape;
 
-import javax.swing.JComponent;
 import javax.swing.SwingConstants;
-import javax.swing.event.DocumentEvent;
 
 public abstract class View implements SwingConstants
 {
@@ -62,11 +59,6 @@
   private View parent;
 
   /**
-   * The child views.
-   */
-  View[] children;
-
-  /**
    * Creates a new <code>View</code> instance.
    *
    * @param elem an <code>Element</code> value
@@ -74,7 +66,6 @@
   public View(Element elem)
   {
     elt = elem;
-    children = new View[0];
   }
 
   public abstract void paint(Graphics g, Shape s);
@@ -250,8 +241,6 @@
   {
     if (parent != null)
       parent.preferenceChanged(this, width, height);
-    else
-      ((JComponent) getContainer()).revalidate();
   }
 
   public int getBreakWeight(int axis, float pos, float len)
@@ -271,193 +260,5 @@
   {
     return -1;
   }
-
-  /**
-   * Receive notification about an insert update to the text model.
-   *
-   * The default implementation of this method does the following:
-   * <ul>
-   * <li>Call {@link #updateChildren} if the element that this view is
-   * responsible for has changed. This makes sure that the children can
-   * correctly represent the model.<li>
-   * <li>Call {@link #forwardUpdate}. This forwards the DocumentEvent to
-   * the child views.<li>
-   * <li>Call {@link #updateLayout}. Gives the view a chance to either
-   * repair its layout, reschedule layout or do nothing at all.</li>
-   * </ul>
-   *
-   * @param ev the DocumentEvent that describes the change
-   * @param shape the shape of the view
-   * @param vf the ViewFactory for creating child views
-   */
-  public void insertUpdate(DocumentEvent ev, Shape shape, ViewFactory vf)
-  {
-    Element el = getElement();
-    DocumentEvent.ElementChange ec = ev.getChange(el);
-    if (ec != null)
-      updateChildren(ec, ev, vf);
-    forwardUpdate(ec, ev, shape, vf);
-    updateLayout(ec, ev, shape);
-  }
-
-  /**
-   * Receive notification about a remove update to the text model.
-   *
-   * The default implementation of this method does the following:
-   * <ul>
-   * <li>Call {@link #updateChildren} if the element that this view is
-   * responsible for has changed. This makes sure that the children can
-   * correctly represent the model.<li>
-   * <li>Call {@link #forwardUpdate}. This forwards the DocumentEvent to
-   * the child views.<li>
-   * <li>Call {@link #updateLayout}. Gives the view a chance to either
-   * repair its layout, reschedule layout or do nothing at all.</li>
-   * </ul>
-   *
-   * @param ev the DocumentEvent that describes the change
-   * @param shape the shape of the view
-   * @param vf the ViewFactory for creating child views
-   */
-  public void removeUpdate(DocumentEvent ev, Shape shape, ViewFactory vf)
-  {
-    Element el = getElement();
-    DocumentEvent.ElementChange ec = ev.getChange(el);
-    if (ec != null)
-        updateChildren(ec, ev, vf);
-    forwardUpdate(ec, ev, shape, vf);
-    updateLayout(ec, ev, shape);
-  }
-
-  /**
-   * Receive notification about a change update to the text model.
-   *
-   * The default implementation of this method does the following:
-   * <ul>
-   * <li>Call {@link #updateChildren} if the element that this view is
-   * responsible for has changed. This makes sure that the children can
-   * correctly represent the model.<li>
-   * <li>Call {@link #forwardUpdate}. This forwards the DocumentEvent to
-   * the child views.<li>
-   * <li>Call {@link #updateLayout}. Gives the view a chance to either
-   * repair its layout, reschedule layout or do nothing at all.</li>
-   * </ul>
-   *
-   * @param ev the DocumentEvent that describes the change
-   * @param shape the shape of the view
-   * @param vf the ViewFactory for creating child views
-   */
-  public void changedUpdate(DocumentEvent ev, Shape shape, ViewFactory vf)
-  {
-    Element el = getElement();
-    DocumentEvent.ElementChange ec = ev.getChange(el);
-    if (ec != null)
-        updateChildren(ec, ev, vf);
-    forwardUpdate(ec, ev, shape, vf);
-    updateLayout(ec, ev, shape);
-  }
-
-  /**
-   * Updates the list of children that is returned by {@link #getView}
-   * and {@link #getViewCount}.
-   *
-   * Element that are specified as beeing added in the ElementChange record are
-   * assigned a view for using the ViewFactory. Views of Elements that
-   * are specified as beeing removed are removed from the list.
-   *
-   * @param ec the ElementChange record that describes the change of the
-   *           element
-   * @param ev the DocumentEvent describing the change of the document model
-   * @param vf the ViewFactory to use for creating new views
-   *
-   * @return whether or not the child views represent the child elements of
-   *         the element that this view is responsible for. Some views may
-   *         create views that are responsible only for parts of the element
-   *         that they are responsible for and should then return false.
-   *
-   * @since 1.3
-   */
-  protected boolean updateChildren(DocumentEvent.ElementChange ec,
-                                   DocumentEvent ev,
-                                   ViewFactory vf)
-  {
-    Element[] added = ec.getChildrenAdded();
-    Element[] removed = ec.getChildrenRemoved();
-    View[] newChildren = new View[children.length + added.length
-                                  - removed.length];
-    int index = ec.getIndex();
-    System.arraycopy(children, 0, newChildren, 0, index);
-    System.arraycopy(children, index, added, 0, added.length);
-    int index2 = index + removed.length;
-    int len2 = children.length - index2;
-    System.arraycopy(children, index2, newChildren, index + added.length,
-                     len2);
-    children = newChildren;
-
-    return true;
-  }
-
-  /**
-   * Forwards the DocumentEvent to child views that need to get notified
-   * of the change to the model. This calles {@link #forwardUpdateToView}
-   * for each View that must be forwarded to.
-   *
-   * @param ec the ElementChange describing the element changes (may be
-   *           <code>null</code> if there were no changes)
-   * @param ev the DocumentEvent describing the changes to the model
-   * @param shape the current allocation of the view
-   * @param vf the ViewFactory used to create new Views
-   *
-   * @since 1.3
-   */
-  protected void forwardUpdate(DocumentEvent.ElementChange ec,
-                               DocumentEvent ev, Shape shape, ViewFactory vf)
-  {
-    for (int i = 0; i < children.length; i++)
-      {
-        View child = children[i];
-        forwardUpdateToView(child, ev, shape, vf);
-      }
-  }
-
-  /**
-   * Forwards an update event to the given child view. This calls
-   * {@link #insertUpdate}, {@link #removeUpdate} or {@link #changedUpdate},
-   * depending on the type of document event.
-   *
-   * @param view the View to forward the event to
-   * @param ev the DocumentEvent to forward
-   * @param shape the current allocation of the View
-   * @param vf the ViewFactory used to create new Views
-   *
-   * @since 1.3
-   */
-  protected void forwardUpdateToView(View view, DocumentEvent ev, Shape shape,
-                                     ViewFactory vf)
-  {
-    DocumentEvent.EventType type = ev.getType();
-    if (type == DocumentEvent.EventType.INSERT)
-      view.insertUpdate(ev, shape, vf);
-    else if (type == DocumentEvent.EventType.REMOVE)
-      view.removeUpdate(ev, shape, vf);
-    else if (type == DocumentEvent.EventType.CHANGE)
-      view.changedUpdate(ev, shape, vf);
-  }
-
-  /**
-   * Updates the layout.
-   *
-   * @param ec the ElementChange that describes the changes to the element
-   * @param ev the DocumentEvent that describes the changes to the model
-   * @param shape the current allocation for this view
-   *
-   * @since 1.3
-   */
-  protected void updateLayout(DocumentEvent.ElementChange ec,
-                              DocumentEvent ev, Shape shape)
-  {
-    Rectangle b = shape.getBounds();
-    if (ec != null)
-      preferenceChanged(this, true, true);
-  }
 }
 
