You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-dev@xmlgraphics.apache.org by de...@apache.org on 2004/09/24 12:56:37 UTC

cvs commit: xml-batik/sources/org/apache/batik/gvt GVTTreeWalker.java

deweese     2004/09/24 03:56:37

  Modified:    sources/org/apache/batik Version.java
               sources/org/apache/batik/gvt GVTTreeWalker.java
  Log:
  1) GVT Tree walker can now be given any node in the GVT tree and it
     walk just that subtree.
  2) Fixed header on Version.java
  
  Revision  Changes    Path
  1.3       +15 -47    xml-batik/sources/org/apache/batik/Version.java
  
  Index: Version.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/Version.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Version.java	8 Aug 2003 11:38:49 -0000	1.2
  +++ Version.java	24 Sep 2004 10:56:36 -0000	1.3
  @@ -1,52 +1,20 @@
   /*
   
  - ============================================================================
  -                   The Apache Software License, Version 1.1
  - ============================================================================
  +   Copyright 2003 The Apache Software Foundation 
   
  - Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  +   Licensed under the Apache License, Version 2.0 (the "License");
  +   you may not use this file except in compliance with the License.
  +   You may obtain a copy of the License at
   
  - Redistribution and use in source and binary forms, with or without modifica-
  - tion, are permitted provided that the following conditions are met:
  +       http://www.apache.org/licenses/LICENSE-2.0
   
  - 1. Redistributions of  source code must  retain the above copyright  notice,
  -    this list of conditions and the following disclaimer.
  +   Unless required by applicable law or agreed to in writing, software
  +   distributed under the License is distributed on an "AS IS" BASIS,
  +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  +   See the License for the specific language governing permissions and
  +   limitations under the License.
   
  - 2. Redistributions in binary form must reproduce the above copyright notice,
  -    this list of conditions and the following disclaimer in the documentation
  -    and/or other materials provided with the distribution.
  -
  - 3. The end-user documentation included with the redistribution, if any, must
  -    include  the following  acknowledgment:  "This product includes  software
  -    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  -    Alternately, this  acknowledgment may  appear in the software itself,  if
  -    and wherever such third-party acknowledgments normally appear.
  -
  - 4. The names "Batik" and  "Apache Software Foundation" must  not  be
  -    used to  endorse or promote  products derived from  this software without
  -    prior written permission. For written permission, please contact
  -    apache@apache.org.
  -
  - 5. Products  derived from this software may not  be called "Apache", nor may
  -    "Apache" appear  in their name,  without prior written permission  of the
  -    Apache Software Foundation.
  -
  - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  - FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  - APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  - INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  - DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  - OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  - ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  - (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  -
  - This software  consists of voluntary contributions made  by many individuals
  - on  behalf of the Apache Software  Foundation. For more  information on the
  - Apache Software Foundation, please see <http://www.apache.org/>.
  -
  -*/
  + */
   
   package org.apache.batik;
   
  
  
  
  1.4       +53 -35    xml-batik/sources/org/apache/batik/gvt/GVTTreeWalker.java
  
  Index: GVTTreeWalker.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/gvt/GVTTreeWalker.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- GVTTreeWalker.java	18 Aug 2004 07:14:26 -0000	1.3
  +++ GVTTreeWalker.java	24 Sep 2004 10:56:37 -0000	1.4
  @@ -30,23 +30,34 @@
       /** The GVT root into which text is searched. */
       protected GraphicsNode gvtRoot;
   
  +    /** The root of the subtree of the GVT which is traversed. */
  +    protected GraphicsNode treeRoot;
  +
       /** The current GraphicsNode. */
       protected GraphicsNode currentNode;
   
       /**
        * Constructs a new <tt>GVTTreeWalker</tt>.
        *
  -     * @param gvtRoot the graphics node root
  +     * @param treeRoot the top of the graphics node tree to search
        */
  -    public GVTTreeWalker(GraphicsNode gvtRoot) {
  -        this.gvtRoot = gvtRoot;
  -        currentNode = gvtRoot;
  +    public GVTTreeWalker(GraphicsNode treeRoot) {
  +        this.gvtRoot     = treeRoot.getRoot();
  +        this.treeRoot    = treeRoot;
  +        this.currentNode = treeRoot;
       }
   
       /**
        * Returns the root graphics node.
        */
       public GraphicsNode getRoot() {
  +        return treeRoot;
  +    }
  +
  +    /**
  +     * Returns the GVT root graphics node.
  +     */
  +    public GraphicsNode getGVTRoot() {
           return gvtRoot;
       }
   
  @@ -54,8 +65,8 @@
        * Sets the current GraphicsNode to the specified node.
        *
        * @param node the new current graphics node
  -     * @exception IllegalArgumentException if the node is not part of the GVT Tree
  -     *                                     this walker is dedicated to
  +     * @exception IllegalArgumentException if the node is not part of
  +     * the GVT Tree this walker is dedicated to
        */
       public void setCurrentGraphicsNode(GraphicsNode node) {
           if (node.getRoot() != gvtRoot) {
  @@ -73,8 +84,9 @@
       }
   
       /**
  -     * Returns the previous <tt>GraphicsNode</tt>. If the current graphics node
  -     * does not have a previous node, returns null and retains the current node.
  +     * Returns the previous <tt>GraphicsNode</tt>. If the current
  +     * graphics node does not have a previous node, returns null and
  +     * retains the current node.
        */
       public GraphicsNode previousGraphicsNode() {
           GraphicsNode result = getPreviousGraphicsNode(currentNode);
  @@ -85,8 +97,9 @@
       }
   
       /**
  -     * Returns the next <tt>GraphicsNode</tt>. If the current graphics node does
  -     * not have a next node, returns null and retains the current node.
  +     * Returns the next <tt>GraphicsNode</tt>. If the current graphics
  +     * node does not have a next node, returns null and retains the
  +     * current node.
        */
       public GraphicsNode nextGraphicsNode() {
           GraphicsNode result = getNextGraphicsNode(currentNode);
  @@ -97,10 +110,14 @@
       }
   
       /**
  -     * Returns the parent of the current <tt>GraphicsNode</tt>. If the current
  -     * graphics node has no parent, returns null and retains the current node.
  +     * Returns the parent of the current <tt>GraphicsNode</tt>. If the
  +     * current graphics node has no parent, returns null and retains
  +     * the current node.
        */
       public GraphicsNode parentGraphicsNode() {
  +        // Don't ascend above treeRoot.
  +        if (currentNode == treeRoot) return null;
  +
           GraphicsNode result = currentNode.getParent();
           if (result != null) {
               currentNode = result;
  @@ -109,9 +126,9 @@
       }
   
       /**
  -     * Returns the next sibling of the current <tt>GraphicsNode</tt>. If the
  -     * current graphics node does not have a next sibling, returns null and
  -     * retains the current node.
  +     * Returns the next sibling of the current
  +     * <tt>GraphicsNode</tt>. If the current graphics node does not
  +     * have a next sibling, returns null and retains the current node.
        */
       public GraphicsNode getNextSibling() {
           GraphicsNode result = getNextSibling(currentNode);
  @@ -122,9 +139,10 @@
       }
   
       /**
  -     * Returns the next previous of the current <tt>GraphicsNode</tt>. If the
  -     * current graphics node does not have a previous sibling, returns null and
  -     * retains the current node.
  +     * Returns the next previous of the current
  +     * <tt>GraphicsNode</tt>. If the current graphics node does not
  +     * have a previous sibling, returns null and retains the current
  +     * node.
        */
       public GraphicsNode getPreviousSibling() {
           GraphicsNode result = getPreviousSibling(currentNode);
  @@ -135,9 +153,9 @@
       }
   
       /**
  -     * Returns the first child of the current <tt>GraphicsNode</tt>. If the
  -     * current graphics node does not have a first child, returns null and
  -     * retains the current node.
  +     * Returns the first child of the current
  +     * <tt>GraphicsNode</tt>. If the current graphics node does not
  +     * have a first child, returns null and retains the current node.
        */
       public GraphicsNode firstChild() {
           GraphicsNode result = getFirstChild(currentNode);
  @@ -148,9 +166,9 @@
       }
   
       /**
  -     * Returns the last child of the current <tt>GraphicsNode</tt>. If the
  -     * current graphics node does not have a last child, returns null and
  -     * retains the current node.
  +     * Returns the last child of the current <tt>GraphicsNode</tt>. If
  +     * the current graphics node does not have a last child, returns
  +     * null and retains the current node.
        */
       public GraphicsNode lastChild() {
           GraphicsNode result = getLastChild(currentNode);
  @@ -160,10 +178,10 @@
           return result;
       }
   
  -    ////////////////////////////////////////////////////////////////////////////
  -    ////////////////////////////////////////////////////////////////////////////
  +    //////////////////////////////////////////////////////////////////////////
  +    //////////////////////////////////////////////////////////////////////////
   
  -    private GraphicsNode getNextGraphicsNode(GraphicsNode node) {
  +    protected GraphicsNode getNextGraphicsNode(GraphicsNode node) {
           if (node == null) {
               return null;
           }
  @@ -181,7 +199,7 @@
   
           // Go to the first sibling of one of the ancestors
           n = node;
  -        while ((n = n.getParent()) != null && n != gvtRoot) {
  +        while ((n = n.getParent()) != null && n != treeRoot) {
               GraphicsNode t = getNextSibling(n);
               if (t != null) {
                   return t;
  @@ -190,13 +208,13 @@
           return null;
       }
   
  -    private GraphicsNode getPreviousGraphicsNode(GraphicsNode node) {
  +    protected GraphicsNode getPreviousGraphicsNode(GraphicsNode node) {
           if (node == null) {
               return null;
           }
   
           // The previous of root is null
  -        if (node == gvtRoot) {
  +        if (node == treeRoot) {
               return null;
           }
   
  @@ -215,7 +233,7 @@
           return n;
       }
   
  -    private static GraphicsNode getLastChild(GraphicsNode node) {
  +    protected static GraphicsNode getLastChild(GraphicsNode node) {
           if (!(node instanceof CompositeGraphicsNode)) {
               return null;
           }
  @@ -231,7 +249,7 @@
           }
       }
   
  -    private static GraphicsNode getPreviousSibling(GraphicsNode node) {
  +    protected static GraphicsNode getPreviousSibling(GraphicsNode node) {
           CompositeGraphicsNode parent = node.getParent();
           if (parent == null) {
               return null;
  @@ -248,7 +266,7 @@
           }
       }
   
  -    private static GraphicsNode getFirstChild(GraphicsNode node) {
  +    protected static GraphicsNode getFirstChild(GraphicsNode node) {
           if (!(node instanceof CompositeGraphicsNode)) {
               return null;
           }
  @@ -264,7 +282,7 @@
           }
       }
   
  -    private static GraphicsNode getNextSibling(GraphicsNode node) {
  +    protected static GraphicsNode getNextSibling(GraphicsNode node) {
           CompositeGraphicsNode parent = node.getParent();
           if (parent == null) {
               return null;
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-dev-help@xml.apache.org