Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: net/jxta/ext/config/ui/PeerTreeSelectionListener.java


1   /*
2    *  Copyright (c) 2001 Sun Microsystems, Inc.  All rights
3    *  reserved.
4    *
5    *  Redistribution and use in source and binary forms, with or without
6    *  modification, are permitted provided that the following conditions
7    *  are met:
8    *
9    *  1. Redistributions of source code must retain the above copyright
10   *  notice, this list of conditions and the following disclaimer.
11   *
12   *  2. Redistributions in binary form must reproduce the above copyright
13   *  notice, this list of conditions and thproe following disclaimer in
14   *  the documentation and/or other materials provided with the
15   *  distribution.
16   *
17   *  3. The end-user documentation included with the redistribution,
18   *  if any, must include the following acknowledgment:
19   *  "This product includes software developed by the
20   *  Sun Microsystems, Inc. for Project JXTA."
21   *  Alternately, this acknowledgment may appear in the software itself,
22   *  if and wherever such third-party acknowledgments normally appear.
23   *
24   *  4. The names "Sun", "Sun Microsystems, Inc.", "JXTA" and "Project JXTA"
25   *  must not be used to endorse or promote products derived from this
26   *  software without prior written permission. For written
27   *  permission, please contact Project JXTA at http://www.jxta.org.
28   *
29   *  5. Products derived from this software may not be called "JXTA",
30   *  nor may "JXTA" appear in their name, without prior written
31   *  permission of Sun.
32   *
33   *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
34   *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
35   *  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
36   *  DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
37   *  ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
38   *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
39   *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
40   *  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
41   *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
42   *  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
43   *  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
44   *  SUCH DAMAGE.
45   *  ====================================================================
46   *
47   *  This software consists of voluntary contributions made by many
48   *  individuals on behalf of Project JXTA.  For more
49   *  information on Project JXTA, please see
50   *  <http://www.jxta.org/>.
51   *
52   *  This license is based on the BSD license adopted by the Apache Foundation.
53   *
54   *  $Id: PeerTreeSelectionListener.java,v 1.1 2004/09/16 12:28:09 volkerj Exp $
55   */
56  package net.jxta.ext.config.ui;
57  
58  import java.awt.Component;
59  
60  import javax.swing.JTree;
61  import javax.swing.event.TreeSelectionEvent;
62  import javax.swing.event.TreeSelectionListener;
63  import javax.swing.tree.DefaultMutableTreeNode;
64  
65  import org.swixml.SwingEngine;
66  
67  /**
68   *  ext:config:ui Tree selection event listener
69   *
70   * @author     volker john [volkerj at jxta dot org]
71   * @version
72   * @created    May 21, 2004
73   */
74  class PeerTreeSelectionListener implements TreeSelectionListener {
75  
76    private static SwingEngine swix;
77    private static JTree tree;
78    private static Component current = null;
79  
80  
81    /**
82     * @param swix
83     */
84    public PeerTreeSelectionListener(SwingEngine swix) {
85      tree = (JTree) swix.find("id_cfgtree");
86      current = (Component) swix.find("id_cfgbasiccard");
87      PeerTreeSelectionListener.swix = swix;
88    }
89  
90    
91    /* (non-Javadoc)
92     * @see javax.swing.event.TreeSelectionListener#valueChanged(javax.swing.event.TreeSelectionEvent)
93     */
94    public void valueChanged(TreeSelectionEvent e) {
95      DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
96      
97  
98      if (node == null) return;
99  
100     if (current != null) {
101       current.setVisible(false);
102     }
103 
104     // TODO problem is that this code heavily relies on the XML code in Configurator.xml 
105     // in terms of component (panel) names etc.
106     // Solution: make tree nodes objects that have the card id as value and use
107     // current = swix.find(node.<VAL>.toString()) to avoid lengthy if statement
108     
109     if (node.toString() == "General") {
110       current = swix.find("id_cfgbasiccard");
111     } else if (node.toString() == "Network") { 
112       current = swix.find("id_cfgnetworkcard");
113     } else if (node.toString() == "Rendezvous") { 
114       current = swix.find("id_cfgrdvcard");
115     } else if (node.toString() == "Relays") { 
116       current = swix.find("id_cfgrlycard");
117     } else if (node.toString() == "tcp") { 
118       current = swix.find("id_cfgtcpcard");
119     } else if (node.toString() == "http") { 
120       current = swix.find("id_cfghttpcard");
121     } else if (node.toString() == "Security") { 
122       current = swix.find("id_cfgsecuritycard");
123     } else if (node.toString() == "Services") { 
124       current = swix.find("id_cfgservicescard");
125     } else if (node.toString() == "Rendezvous Service") { 
126       current = swix.find("id_cfgrdvservicecard");
127     } else if (node.toString() == "Relay Service") { 
128       current = swix.find("id_cfgrlyservicecard");
129     } else if (node.toString() == "Endpoint Service") { 
130       current = swix.find("id_cfgendpservicecard");
131     } else if (node.toString() == "Proxy Service") { 
132       current = swix.find("id_cfgproxyservicecard");
133     }
134     
135     if (current != null) {
136       current.setVisible(true);
137     }
138 
139     
140   }
141 
142 }