/* * TouchGraph LLC. Apache-Style Software License * * * Copyright (c) 2001-2002 Alexander Shapiro. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 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 * TouchGraph LLC (http://www.touchgraph.com/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * * 4. The names "TouchGraph" or "TouchGraph LLC" must not be used to endorse * or promote products derived from this software without prior written * permission. For written permission, please contact * alex@touchgraph.com * * 5. Products derived from this software may not be called "TouchGraph", * nor may "TouchGraph" appear in their name, without prior written * permission of alex@touchgraph.com. * * 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 TOUCHGRAPH OR ITS CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, 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. * ==================================================================== * */ package com.touchgraph.graphlayout; import com.touchgraph.graphlayout.interaction.*; import com.touchgraph.graphlayout.graphelements.*; import java.awt.*; import java.awt.event.*; //import javax.swing.*; import java.util.Hashtable; import java.util.StringTokenizer; import java.util.Vector; import java.util.Enumeration; import java.net.URL; import java.io.InputStreamReader; import java.awt.Image; /** GLPanel contains code for adding scrollbars and interfaces to the TGPanel * The "GL" prefix indicates that this class is GraphLayout specific, and * will probably need to be rewritten for other applications. * * @author Alexander Shapiro * @version 1.22-jre1.1 $Id: GLPanel.java,v 1.3 2002/09/23 18:45:56 ldornbusch Exp $ */ public class GLPanel extends Panel { public String zoomLabel = "Zoom"; // label for zoom menu item public String rotateLabel = "Rotate"; // label for rotate menu item public String localityLabel = "Radius"; // label for locality menu item public String hyperLabel = "Hyperbolic"; // label for Hyper menu item public HVScroll hvScroll; public ZoomScroll zoomScroll; public HyperScroll hyperScroll; // unused public RotateScroll rotateScroll; public LocalityScroll localityScroll; public PopupMenu glPopup; public Hashtable scrollBarHash; //= new Hashtable(); protected TGPanel tgPanel; protected TGLensSet tgLensSet; protected TGUIManager tgUIManager; private Scrollbar currentSB =null; //added by Brendan - array to hold images public Image[] imgList; private Color defaultBackColor = new Color(0x01,0x11,0x44); private Color defaultBorderBackColor = new Color(0x02,0x35,0x81); private Color defaultForeColor = new Color((float)0.95,(float)0.85,(float)0.55); // ............ /** Default constructor. */ public GLPanel() { this.setBackground(defaultBorderBackColor); this.setForeground(defaultForeColor); scrollBarHash = new Hashtable(); tgLensSet = new TGLensSet(); tgPanel = new TGPanel(); tgPanel.setBackColor(defaultBackColor); hvScroll = new HVScroll(tgPanel, tgLensSet); zoomScroll = new ZoomScroll(tgPanel); hyperScroll = new HyperScroll(tgPanel); rotateScroll = new RotateScroll(tgPanel); localityScroll = new LocalityScroll(tgPanel); //moved by Brendan to allow Image list setting //initialize(); } public void setImageList(Image[] imgList) { this.imgList=imgList; } /** Initialize panel, lens, and establish a random graph as a demonstration. */ public void initialize() { buildPanel(); buildLens(); tgPanel.setLensSet(tgLensSet); addUIs(); //tgPanel.addNode(); //Add a starting node. try { Node mainNode = new Node("MC",Node.TYPE_ELLIPSE,new Color(255, 32, 20),"You",imgList[5]); Node child0 = new Node("0",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Advance ",imgList[1]); Node child0_1 = new Node("0_1",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Daily Newspapers",imgList[1]); Node child0_25 = new Node("0_25",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Booth Newspapers of Michigan:",imgList[0]); Node child0_34 = new Node("0_34",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Business Journals and Periodicals",imgList[0]); Node child0_36 = new Node("0_36",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Magazines",imgList[0]); Node child0_37 = new Node("0_37",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Conde Nast Publications",imgList[0]); Node child0_58 = new Node("0_58",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Fairchild",imgList[0]); Node child0_73 = new Node("0_73",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child0_78 = new Node("0_78",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Cable Television",imgList[0]); Node child0_81 = new Node("0_81",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Multimedia",imgList[6]); Node child0_83 = new Node("0_83",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child1 = new Node("1",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "A.H. Belo",imgList[1]); Node child1_86 = new Node("1_86",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Publishing and Newspapers",imgList[0]); Node child1_95 = new Node("1_95",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Television",imgList[4]); Node child2 = new Node("2",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Bertelsmann ",imgList[1]); Node child2_122 = new Node("2_122",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Broadcasting",imgList[0]); Node child2_144 = new Node("2_144",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "",imgList[0]); Node child2_145 = new Node("2_145",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Publishing",imgList[0]); Node child2_193 = new Node("2_193",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "",imgList[0]); Node child2_194 = new Node("2_194",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Music",imgList[0]); Node child2_209 = new Node("2_209",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child3 = new Node("3",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Cablevision ",imgList[1]); Node child3_212 = new Node("3_212",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Cable and Telephony",imgList[0]); Node child3_217 = new Node("3_217",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "",imgList[0]); Node child3_218 = new Node("3_218",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Programming",imgList[0]); Node child3_233 = new Node("3_233",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child4 = new Node("4",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "CanWest Global Communications",imgList[1]); Node child5 = new Node("5",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Community Newspaper Holdings, ",imgList[1]); Node child5_315 = new Node("5_315",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Newspapers",imgList[0]); Node child6 = new Node("6",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Clear Channel Communications",imgList[1]); Node child6_501 = new Node("6_501",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Radio",imgList[0]); Node child7 = new Node("7",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Comcast",imgList[1]); Node child7_1241 = new Node("7_1241",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Cable",imgList[0]); Node child7_1243 = new Node("7_1243",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Programming",imgList[0]); Node child7_1253 = new Node("7_1253",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Sport Franchises",imgList[0]); Node child8 = new Node("8",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Cox Enterprises ",imgList[1]); Node child8_1261 = new Node("8_1261",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Cable and Telephony",imgList[0]); Node child8_1263 = new Node("8_1263",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Newspapers",imgList[0]); Node child8_1306 = new Node("8_1306",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "",imgList[0]); Node child8_1307 = new Node("8_1307",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "",imgList[0]); Node child8_1308 = new Node("8_1308",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Television",imgList[4]); Node child8_1318 = new Node("8_1318",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Radio",imgList[0]); Node child8_1393 = new Node("8_1393",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child9 = new Node("9",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Cumulus",imgList[1]); Node child9_1405 = new Node("9_1405",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Radio",imgList[0]); Node child10 = new Node("10",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Disney ",imgList[1]); Node child10_1407 = new Node("10_1407",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Holdings",imgList[0]); Node child11 = new Node("11",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Dow Jones & Company",imgList[1]); Node child11_1598 = new Node("11_1598",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Publishing",imgList[0]); Node child11_1630 = new Node("11_1630",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child12 = new Node("12",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Emmis Communications Corp.",imgList[1]); Node child12_1635 = new Node("12_1635",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Radio",imgList[0]); Node child12_1657 = new Node("12_1657",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Television",imgList[4]); Node child12_1673 = new Node("12_1673",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Publishing",imgList[0]); Node child12_1681 = new Node("12_1681",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child13 = new Node("13",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Entercom Communications",imgList[1]); Node child13_1684 = new Node("13_1684",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Radio",imgList[0]); Node child14 = new Node("14",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "E.W. Scripps",imgList[1]); Node child14_1777 = new Node("14_1777",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Television",imgList[4]); Node child14_1788 = new Node("14_1788",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Cable",imgList[0]); Node child14_1794 = new Node("14_1794",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Newspapers",imgList[0]); Node child14_1816 = new Node("14_1816",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child15 = new Node("15",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Freedom Communications",imgList[1]); Node child15_1818 = new Node("15_1818",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Daily Newpapers",imgList[0]); Node child15_1819 = new Node("15_1819",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Weekly Newspapers",imgList[1]); Node child15_1820 = new Node("15_1820",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Television",imgList[4]); Node child16 = new Node("16",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Gannett ",imgList[1]); Node child16_1821 = new Node("16_1821",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Publishing",imgList[0]); Node child16_1949 = new Node("16_1949",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Gannett - Television",imgList[0]); Node child16_1966 = new Node("16_1966",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Gannett - Other",imgList[0]); Node child17 = new Node("17",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "General Electric",imgList[1]); Node child17_1976 = new Node("17_1976",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Broadcasting",imgList[0]); Node child17_1980 = new Node("17_1980",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Owned and Operated Television Stations",imgList[0]); Node child17_1995 = new Node("17_1995",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Cable",imgList[0]); Node child17_1999 = new Node("17_1999",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child17_2001 = new Node("17_2001",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other General Electric Businesses",imgList[0]); Node child18 = new Node("18",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Hachette Filipacchi ",imgList[1]); Node child18_2012 = new Node("18_2012",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Magazines",imgList[0]); Node child18_2084 = new Node("18_2084",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Newspapers",imgList[0]); Node child18_2093 = new Node("18_2093",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child18_2096 = new Node("18_2096",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other Lagardere Investments include:",imgList[0]); Node child19 = new Node("19",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Hearst Corporation",imgList[1]); Node child19_2102 = new Node("19_2102",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Newspapers",imgList[0]); Node child19_2115 = new Node("19_2115",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Magazines",imgList[0]); Node child19_2133 = new Node("19_2133",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Television",imgList[4]); Node child19_2161 = new Node("19_2161",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Business Media",imgList[0]); Node child19_2190 = new Node("19_2190",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Radio",imgList[0]); Node child19_2193 = new Node("19_2193",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Interactive Media",imgList[0]); Node child19_2217 = new Node("19_2217",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child20 = new Node("20",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Hollinger",imgList[1]); Node child20_2220 = new Node("20_2220",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Newspaper Groups",imgList[0]); Node child20_2461 = new Node("20_2461",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Multimedia",imgList[6]); Node child21 = new Node("21",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Knight Ridder",imgList[1]); Node child21_2464 = new Node("21_2464",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Daily Newspapers",imgList[1]); Node child21_2496 = new Node("21_2496",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Non Daily Newspapers",imgList[0]); Node child21_2521 = new Node("21_2521",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child22 = new Node("22",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Landmark Communications",imgList[1]); Node child22_2525 = new Node("22_2525",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Newspapers",imgList[0]); Node child22_2550 = new Node("22_2550",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Television",imgList[4]); Node child22_2553 = new Node("22_2553",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "",imgList[0]); Node child22_2554 = new Node("22_2554",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Cable",imgList[0]); Node child22_2558 = new Node("22_2558",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child23 = new Node("23",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Lee Enterprises ",imgList[1]); Node child23_2564 = new Node("23_2564",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Daily Newspapers",imgList[1]); Node child23_2608 = new Node("23_2608",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other Publications",imgList[0]); Node child24 = new Node("24",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Liberty Group Publishing",imgList[1]); Node child24_2725 = new Node("24_2725",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Newspapers",imgList[0]); Node child25 = new Node("25",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Liberty Media Corp.",imgList[1]); Node child25_3018 = new Node("25_3018",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Subscription Television",imgList[0]); Node child25_3045 = new Node("25_3045",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Cable and Telephony",imgList[0]); Node child25_3058 = new Node("25_3058",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Satellite Communications Services",imgList[0]); Node child25_3067 = new Node("25_3067",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child26 = new Node("26",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "McGraw-Hill ",imgList[1]); Node child26_3075 = new Node("26_3075",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Broadcasting",imgList[0]); Node child26_3080 = new Node("26_3080",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Publishing",imgList[0]); Node child26_3088 = new Node("26_3088",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Financial Services",imgList[0]); Node child27 = new Node("27",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Media General ",imgList[1]); Node child27_3091 = new Node("27_3091",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Newspapers",imgList[0]); Node child27_3119 = new Node("27_3119",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Television",imgList[4]); Node child27_3146 = new Node("27_3146",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child28 = new Node("28",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "MediaNews Group, Inc. ",imgList[1]); Node child28_3148 = new Node("28_3148",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Newspapers",imgList[0]); Node child28_3207 = new Node("28_3207",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Newspaper operating companies",imgList[0]); Node child28_3212 = new Node("28_3212",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Interactive Media",imgList[0]); Node child29 = new Node("29",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Meredith ",imgList[1]); Node child29_3214 = new Node("29_3214",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Magazines",imgList[0]); Node child29_3232 = new Node("29_3232",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Books",imgList[0]); Node child29_3234 = new Node("29_3234",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Television",imgList[4]); Node child30 = new Node("30",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "McClatchy Company",imgList[1]); Node child30_3246 = new Node("30_3246",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Newspapers",imgList[0]); Node child30_3273 = new Node("30_3273",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child31 = new Node("31",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Morris Communications ",imgList[1]); Node child31_3276 = new Node("31_3276",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Newspapers",imgList[0]); Node child31_3315 = new Node("31_3315",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Shoppers",imgList[0]); Node child31_3334 = new Node("31_3334",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Magazines",imgList[0]); Node child31_3359 = new Node("31_3359",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Book Publishing",imgList[0]); Node child31_3368 = new Node("31_3368",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Visitor Guides",imgList[0]); Node child31_3402 = new Node("31_3402",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Radio",imgList[0]); Node child32 = new Node("32",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "News Corporation ",imgList[1]); Node child32_3430 = new Node("32_3430",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Television",imgList[4]); Node child32_3494 = new Node("32_3494",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Film",imgList[0]); Node child32_3498 = new Node("32_3498",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Newspapers",imgList[0]); Node child32_3525 = new Node("32_3525",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Magazines",imgList[0]); Node child32_3531 = new Node("32_3531",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Books",imgList[0]); Node child32_3561 = new Node("32_3561",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child33 = new Node("33",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "New York Times Co.",imgList[1]); Node child33_3578 = new Node("33_3578",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Newspapers",imgList[0]); Node child33_3598 = new Node("33_3598",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Broadcasting",imgList[0]); Node child33_3609 = new Node("33_3609",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child34 = new Node("34",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Pearson",imgList[1]); Node child34_3613 = new Node("34_3613",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Trade Publishing",imgList[0]); Node child34_3632 = new Node("34_3632",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Educational Publishing",imgList[0]); Node child34_3638 = new Node("34_3638",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Professional/Technical",imgList[0]); Node child34_3644 = new Node("34_3644",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Financial Times Group",imgList[0]); Node child34_3659 = new Node("34_3659",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child35 = new Node("35",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Primedia ",imgList[1]); Node child35_3787 = new Node("35_3787",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child36 = new Node("36",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Pulitzer, Inc.",imgList[1]); Node child36_3795 = new Node("36_3795",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Publishing",imgList[0]); Node child36_3848 = new Node("36_3848",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child37 = new Node("37",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Reed Elsevier ",imgList[1]); Node child37_3852 = new Node("37_3852",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Online",imgList[0]); Node child37_3854 = new Node("37_3854",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Business Publications",imgList[0]); Node child37_3863 = new Node("37_3863",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Books",imgList[0]); Node child38 = new Node("38",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Sinclair",imgList[1]); Node child38_3868 = new Node("38_3868",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Television",imgList[4]); Node child39 = new Node("39",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Time Warner",imgList[1]); Node child39_3910 = new Node("39_3910",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Time Warner - Books",imgList[0]); Node child39_3938 = new Node("39_3938",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Time Warner - Cable",imgList[0]); Node child39_3954 = new Node("39_3954",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Time Warner Inc. - Film & TV Production/Distribution",imgList[0]); Node child39_3970 = new Node("39_3970",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Time Warner Inc. - Magazines",imgList[0]); Node child39_4048 = new Node("39_4048",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Time Warner - Music",imgList[0]); Node child39_4108 = new Node("39_4108",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Online Services",imgList[0]); Node child39_4122 = new Node("39_4122",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Time Warner - Online/Other Publishing",imgList[0]); Node child39_4129 = new Node("39_4129",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Time Warner - Merchandise/Retail",imgList[0]); Node child39_4131 = new Node("39_4131",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Theme Parks",imgList[0]); Node child39_4133 = new Node("39_4133",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Time Warner Inc. - Turner Entertainment",imgList[0]); Node child39_4156 = new Node("39_4156",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child40 = new Node("40",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Tribune Company",imgList[1]); Node child40_4193 = new Node("40_4193",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Cable",imgList[0]); Node child40_4197 = new Node("40_4197",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Radio",imgList[0]); Node child40_4199 = new Node("40_4199",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Newspapers",imgList[0]); Node child40_4215 = new Node("40_4215",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child41 = new Node("41",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Viacom ",imgList[1]); Node child41_4224 = new Node("41_4224",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Television",imgList[4]); Node child41_4264 = new Node("41_4264",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Cable",imgList[0]); Node child41_4284 = new Node("41_4284",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Radio",imgList[0]); Node child41_4287 = new Node("41_4287",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Film",imgList[0]); Node child41_4290 = new Node("41_4290",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Publishing",imgList[0]); Node child41_4299 = new Node("41_4299",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child42 = new Node("42",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Vivendi Universal ",imgList[1]); Node child42_4305 = new Node("42_4305",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Film and Television",imgList[0]); Node child42_4312 = new Node("42_4312",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Television Production and Distribution",imgList[0]); Node child42_4320 = new Node("42_4320",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Publishing",imgList[0]); Node child42_4340 = new Node("42_4340",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Interactive",imgList[0]); Node child42_4360 = new Node("42_4360",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Music",imgList[0]); Node child42_4379 = new Node("42_4379",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Theme Parks/Recreation/Retail",imgList[0]); Node child42_4385 = new Node("42_4385",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Telecommunications",imgList[0]); Node child42_4388 = new Node("42_4388",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Retail",imgList[0]); Node child42_4390 = new Node("42_4390",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]); Node child43 = new Node("43",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Vulcan ",imgList[1]); Node child43_4398 = new Node("43_4398",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Cable",imgList[0]); Node child43_4400 = new Node("43_4400",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Sports Teams",imgList[0]); Node child43_4403 = new Node("43_4403",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Magazines",imgList[0]); Node child43_4405 = new Node("43_4405",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Radio",imgList[0]); Node child44 = new Node("44",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Washington Post Co.",imgList[1]); Node child44_4408 = new Node("44_4408",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Newspapers",imgList[0]); Node child44_4413 = new Node("44_4413",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Magazines",imgList[0]); Node child44_4418 = new Node("44_4418",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Television",imgList[4]); Node child44_4425 = new Node("44_4425",Node.TYPE_ROUNDRECT,new Color(255, 32, 20), "Other",imgList[0]);tgPanel.addNode(mainNode); tgPanel.addNode(child0); tgPanel.addNode(child0_1); tgPanel.addNode(child0_25); tgPanel.addNode(child0_34); tgPanel.addNode(child0_36); tgPanel.addNode(child0_37); tgPanel.addNode(child0_58); tgPanel.addNode(child0_73); tgPanel.addNode(child0_78); tgPanel.addNode(child0_81); tgPanel.addNode(child0_83); tgPanel.addNode(child1); tgPanel.addNode(child1_86); tgPanel.addNode(child1_95); tgPanel.addNode(child2); tgPanel.addNode(child2_122); tgPanel.addNode(child2_144); tgPanel.addNode(child2_145); tgPanel.addNode(child2_193); tgPanel.addNode(child2_194); tgPanel.addNode(child2_209); tgPanel.addNode(child3); tgPanel.addNode(child3_212); tgPanel.addNode(child3_217); tgPanel.addNode(child3_218); tgPanel.addNode(child3_233); tgPanel.addNode(child4); tgPanel.addNode(child5); tgPanel.addNode(child5_315); tgPanel.addNode(child6); tgPanel.addNode(child6_501); tgPanel.addNode(child7); tgPanel.addNode(child7_1241); tgPanel.addNode(child7_1243); tgPanel.addNode(child7_1253); tgPanel.addNode(child8); tgPanel.addNode(child8_1261); tgPanel.addNode(child8_1263); tgPanel.addNode(child8_1306); tgPanel.addNode(child8_1307); tgPanel.addNode(child8_1308); tgPanel.addNode(child8_1318); tgPanel.addNode(child8_1393); tgPanel.addNode(child9); tgPanel.addNode(child9_1405); tgPanel.addNode(child10); tgPanel.addNode(child10_1407); tgPanel.addNode(child11); tgPanel.addNode(child11_1598); tgPanel.addNode(child11_1630); tgPanel.addNode(child12); tgPanel.addNode(child12_1635); tgPanel.addNode(child12_1657); tgPanel.addNode(child12_1673); tgPanel.addNode(child12_1681); tgPanel.addNode(child13); tgPanel.addNode(child13_1684); tgPanel.addNode(child14); tgPanel.addNode(child14_1777); tgPanel.addNode(child14_1788); tgPanel.addNode(child14_1794); tgPanel.addNode(child14_1816); tgPanel.addNode(child15); tgPanel.addNode(child15_1818); tgPanel.addNode(child15_1819); tgPanel.addNode(child15_1820); tgPanel.addNode(child16); tgPanel.addNode(child16_1821); tgPanel.addNode(child16_1949); tgPanel.addNode(child16_1966); tgPanel.addNode(child17); tgPanel.addNode(child17_1976); tgPanel.addNode(child17_1980); tgPanel.addNode(child17_1995); tgPanel.addNode(child17_1999); tgPanel.addNode(child17_2001); tgPanel.addNode(child18); tgPanel.addNode(child18_2012); tgPanel.addNode(child18_2084); tgPanel.addNode(child18_2093); tgPanel.addNode(child18_2096); tgPanel.addNode(child19); tgPanel.addNode(child19_2102); tgPanel.addNode(child19_2115); tgPanel.addNode(child19_2133); tgPanel.addNode(child19_2161); tgPanel.addNode(child19_2190); tgPanel.addNode(child19_2193); tgPanel.addNode(child19_2217); tgPanel.addNode(child20); tgPanel.addNode(child20_2220); tgPanel.addNode(child20_2461); tgPanel.addNode(child21); tgPanel.addNode(child21_2464); tgPanel.addNode(child21_2496); tgPanel.addNode(child21_2521); tgPanel.addNode(child22); tgPanel.addNode(child22_2525); tgPanel.addNode(child22_2550); tgPanel.addNode(child22_2553); tgPanel.addNode(child22_2554); tgPanel.addNode(child22_2558); tgPanel.addNode(child23); tgPanel.addNode(child23_2564); tgPanel.addNode(child23_2608); tgPanel.addNode(child24); tgPanel.addNode(child24_2725); tgPanel.addNode(child25); tgPanel.addNode(child25_3018); tgPanel.addNode(child25_3045); tgPanel.addNode(child25_3058); tgPanel.addNode(child25_3067); tgPanel.addNode(child26); tgPanel.addNode(child26_3075); tgPanel.addNode(child26_3080); tgPanel.addNode(child26_3088); tgPanel.addNode(child27); tgPanel.addNode(child27_3091); tgPanel.addNode(child27_3119); tgPanel.addNode(child27_3146); tgPanel.addNode(child28); tgPanel.addNode(child28_3148); tgPanel.addNode(child28_3207); tgPanel.addNode(child28_3212); tgPanel.addNode(child29); tgPanel.addNode(child29_3214); tgPanel.addNode(child29_3232); tgPanel.addNode(child29_3234); tgPanel.addNode(child30); tgPanel.addNode(child30_3246); tgPanel.addNode(child30_3273); tgPanel.addNode(child31); tgPanel.addNode(child31_3276); tgPanel.addNode(child31_3315); tgPanel.addNode(child31_3334); tgPanel.addNode(child31_3359); tgPanel.addNode(child31_3368); tgPanel.addNode(child31_3402); tgPanel.addNode(child32); tgPanel.addNode(child32_3430); tgPanel.addNode(child32_3494); tgPanel.addNode(child32_3498); tgPanel.addNode(child32_3525); tgPanel.addNode(child32_3531); tgPanel.addNode(child32_3561); tgPanel.addNode(child33); tgPanel.addNode(child33_3578); tgPanel.addNode(child33_3598); tgPanel.addNode(child33_3609); tgPanel.addNode(child34); tgPanel.addNode(child34_3613); tgPanel.addNode(child34_3632); tgPanel.addNode(child34_3638); tgPanel.addNode(child34_3644); tgPanel.addNode(child34_3659); tgPanel.addNode(child35); tgPanel.addNode(child35_3787); tgPanel.addNode(child36); tgPanel.addNode(child36_3795); tgPanel.addNode(child36_3848); tgPanel.addNode(child37); tgPanel.addNode(child37_3852); tgPanel.addNode(child37_3854); tgPanel.addNode(child37_3863); tgPanel.addNode(child38); tgPanel.addNode(child38_3868); tgPanel.addNode(child39); tgPanel.addNode(child39_3910); tgPanel.addNode(child39_3938); tgPanel.addNode(child39_3954); tgPanel.addNode(child39_3970); tgPanel.addNode(child39_4048); tgPanel.addNode(child39_4108); tgPanel.addNode(child39_4122); tgPanel.addNode(child39_4129); tgPanel.addNode(child39_4131); tgPanel.addNode(child39_4133); tgPanel.addNode(child39_4156); tgPanel.addNode(child40); tgPanel.addNode(child40_4193); tgPanel.addNode(child40_4197); tgPanel.addNode(child40_4199); tgPanel.addNode(child40_4215); tgPanel.addNode(child41); tgPanel.addNode(child41_4224); tgPanel.addNode(child41_4264); tgPanel.addNode(child41_4284); tgPanel.addNode(child41_4287); tgPanel.addNode(child41_4290); tgPanel.addNode(child41_4299); tgPanel.addNode(child42); tgPanel.addNode(child42_4305); tgPanel.addNode(child42_4312); tgPanel.addNode(child42_4320); tgPanel.addNode(child42_4340); tgPanel.addNode(child42_4360); tgPanel.addNode(child42_4379); tgPanel.addNode(child42_4385); tgPanel.addNode(child42_4388); tgPanel.addNode(child42_4390); tgPanel.addNode(child43); tgPanel.addNode(child43_4398); tgPanel.addNode(child43_4400); tgPanel.addNode(child43_4403); tgPanel.addNode(child43_4405); tgPanel.addNode(child44); tgPanel.addNode(child44_4408); tgPanel.addNode(child44_4413); tgPanel.addNode(child44_4418); tgPanel.addNode(child44_4425); tgPanel.addEdge(tgPanel.findNode("0"),tgPanel.findNode("MC"),10); tgPanel.addEdge(tgPanel.findNode("0_1"),tgPanel.findNode("0"),20); tgPanel.addEdge(tgPanel.findNode("0_25"),tgPanel.findNode("0_1"),30); tgPanel.addEdge(tgPanel.findNode("0_34"),tgPanel.findNode("0"),40); tgPanel.addEdge(tgPanel.findNode("0_36"),tgPanel.findNode("0"),50); tgPanel.addEdge(tgPanel.findNode("0_37"),tgPanel.findNode("0_36"),60); tgPanel.addEdge(tgPanel.findNode("0_58"),tgPanel.findNode("0_36"),70); tgPanel.addEdge(tgPanel.findNode("0_73"),tgPanel.findNode("0_36"),80); tgPanel.addEdge(tgPanel.findNode("0_78"),tgPanel.findNode("0"),90); tgPanel.addEdge(tgPanel.findNode("0_81"),tgPanel.findNode("0"),100); tgPanel.addEdge(tgPanel.findNode("0_83"),tgPanel.findNode("0"),110); tgPanel.addEdge(tgPanel.findNode("1"),tgPanel.findNode("MC"),120); tgPanel.addEdge(tgPanel.findNode("1_86"),tgPanel.findNode("1"),130); tgPanel.addEdge(tgPanel.findNode("1_95"),tgPanel.findNode("1"),140); tgPanel.addEdge(tgPanel.findNode("2"),tgPanel.findNode("MC"),150); tgPanel.addEdge(tgPanel.findNode("2_122"),tgPanel.findNode("2"),10); tgPanel.addEdge(tgPanel.findNode("2_144"),tgPanel.findNode(""),20); tgPanel.addEdge(tgPanel.findNode("2_145"),tgPanel.findNode("2_144"),30); tgPanel.addEdge(tgPanel.findNode("2_193"),tgPanel.findNode(""),40); tgPanel.addEdge(tgPanel.findNode("2_194"),tgPanel.findNode("2_193"),50); tgPanel.addEdge(tgPanel.findNode("2_209"),tgPanel.findNode("2_193"),60); tgPanel.addEdge(tgPanel.findNode("3"),tgPanel.findNode("MC"),70); tgPanel.addEdge(tgPanel.findNode("3_212"),tgPanel.findNode("3"),80); tgPanel.addEdge(tgPanel.findNode("3_217"),tgPanel.findNode("3"),90); tgPanel.addEdge(tgPanel.findNode("3_218"),tgPanel.findNode("3_217"),100); tgPanel.addEdge(tgPanel.findNode("3_233"),tgPanel.findNode("3_217"),110); tgPanel.addEdge(tgPanel.findNode("4"),tgPanel.findNode("MC"),120); tgPanel.addEdge(tgPanel.findNode("5"),tgPanel.findNode("MC"),130); tgPanel.addEdge(tgPanel.findNode("5_315"),tgPanel.findNode("5"),140); tgPanel.addEdge(tgPanel.findNode("6"),tgPanel.findNode("MC"),150); tgPanel.addEdge(tgPanel.findNode("6_501"),tgPanel.findNode("6"),10); tgPanel.addEdge(tgPanel.findNode("7"),tgPanel.findNode("MC"),20); tgPanel.addEdge(tgPanel.findNode("7_1241"),tgPanel.findNode("7"),30); tgPanel.addEdge(tgPanel.findNode("7_1243"),tgPanel.findNode("7"),40); tgPanel.addEdge(tgPanel.findNode("7_1253"),tgPanel.findNode("7"),50); tgPanel.addEdge(tgPanel.findNode("8"),tgPanel.findNode("MC"),60); tgPanel.addEdge(tgPanel.findNode("8_1261"),tgPanel.findNode("8"),70); tgPanel.addEdge(tgPanel.findNode("8_1263"),tgPanel.findNode("8"),80); tgPanel.addEdge(tgPanel.findNode("8_1306"),tgPanel.findNode(""),90); tgPanel.addEdge(tgPanel.findNode("8_1307"),tgPanel.findNode("8_1306"),100); tgPanel.addEdge(tgPanel.findNode("8_1308"),tgPanel.findNode("8_1307"),110); tgPanel.addEdge(tgPanel.findNode("8_1318"),tgPanel.findNode("8_1307"),120); tgPanel.addEdge(tgPanel.findNode("8_1393"),tgPanel.findNode(""),130); tgPanel.addEdge(tgPanel.findNode("9"),tgPanel.findNode("MC"),140); tgPanel.addEdge(tgPanel.findNode("9_1405"),tgPanel.findNode("9"),150); tgPanel.addEdge(tgPanel.findNode("10"),tgPanel.findNode("MC"),10); tgPanel.addEdge(tgPanel.findNode("10_1407"),tgPanel.findNode(""),20); tgPanel.addEdge(tgPanel.findNode("11"),tgPanel.findNode("MC"),30); tgPanel.addEdge(tgPanel.findNode("11_1598"),tgPanel.findNode("11"),40); tgPanel.addEdge(tgPanel.findNode("11_1630"),tgPanel.findNode(""),50); tgPanel.addEdge(tgPanel.findNode("12"),tgPanel.findNode("MC"),60); tgPanel.addEdge(tgPanel.findNode("12_1635"),tgPanel.findNode("12"),70); tgPanel.addEdge(tgPanel.findNode("12_1657"),tgPanel.findNode(""),80); tgPanel.addEdge(tgPanel.findNode("12_1673"),tgPanel.findNode(""),90); tgPanel.addEdge(tgPanel.findNode("12_1681"),tgPanel.findNode(""),100); tgPanel.addEdge(tgPanel.findNode("13"),tgPanel.findNode("MC"),110); tgPanel.addEdge(tgPanel.findNode("13_1684"),tgPanel.findNode("13"),120); tgPanel.addEdge(tgPanel.findNode("14"),tgPanel.findNode("MC"),130); tgPanel.addEdge(tgPanel.findNode("14_1777"),tgPanel.findNode("14"),140); tgPanel.addEdge(tgPanel.findNode("14_1788"),tgPanel.findNode("14"),150); tgPanel.addEdge(tgPanel.findNode("14_1794"),tgPanel.findNode("14"),10); tgPanel.addEdge(tgPanel.findNode("14_1816"),tgPanel.findNode("14"),20); tgPanel.addEdge(tgPanel.findNode("15"),tgPanel.findNode("MC"),30); tgPanel.addEdge(tgPanel.findNode("15_1818"),tgPanel.findNode("15"),40); tgPanel.addEdge(tgPanel.findNode("15_1819"),tgPanel.findNode("15_1818"),50); tgPanel.addEdge(tgPanel.findNode("15_1820"),tgPanel.findNode("15_1819"),60); tgPanel.addEdge(tgPanel.findNode("16"),tgPanel.findNode("MC"),70); tgPanel.addEdge(tgPanel.findNode("16_1821"),tgPanel.findNode("16"),80); tgPanel.addEdge(tgPanel.findNode("16_1949"),tgPanel.findNode(""),90); tgPanel.addEdge(tgPanel.findNode("16_1966"),tgPanel.findNode(""),100); tgPanel.addEdge(tgPanel.findNode("17"),tgPanel.findNode("MC"),110); tgPanel.addEdge(tgPanel.findNode("17_1976"),tgPanel.findNode("17"),120); tgPanel.addEdge(tgPanel.findNode("17_1980"),tgPanel.findNode("17"),130); tgPanel.addEdge(tgPanel.findNode("17_1995"),tgPanel.findNode("17"),140); tgPanel.addEdge(tgPanel.findNode("17_1999"),tgPanel.findNode("17"),150); tgPanel.addEdge(tgPanel.findNode("17_2001"),tgPanel.findNode("17"),10); tgPanel.addEdge(tgPanel.findNode("18"),tgPanel.findNode("MC"),20); tgPanel.addEdge(tgPanel.findNode("18_2012"),tgPanel.findNode("18"),30); tgPanel.addEdge(tgPanel.findNode("18_2084"),tgPanel.findNode(""),40); tgPanel.addEdge(tgPanel.findNode("18_2093"),tgPanel.findNode(""),50); tgPanel.addEdge(tgPanel.findNode("18_2096"),tgPanel.findNode(""),60); tgPanel.addEdge(tgPanel.findNode("19"),tgPanel.findNode("MC"),70); tgPanel.addEdge(tgPanel.findNode("19_2102"),tgPanel.findNode("19"),80); tgPanel.addEdge(tgPanel.findNode("19_2115"),tgPanel.findNode("19"),90); tgPanel.addEdge(tgPanel.findNode("19_2133"),tgPanel.findNode("19"),100); tgPanel.addEdge(tgPanel.findNode("19_2161"),tgPanel.findNode("19"),110); tgPanel.addEdge(tgPanel.findNode("19_2190"),tgPanel.findNode(""),120); tgPanel.addEdge(tgPanel.findNode("19_2193"),tgPanel.findNode(""),130); tgPanel.addEdge(tgPanel.findNode("19_2217"),tgPanel.findNode(""),140); tgPanel.addEdge(tgPanel.findNode("20"),tgPanel.findNode("MC"),150); tgPanel.addEdge(tgPanel.findNode("20_2220"),tgPanel.findNode("20"),10); tgPanel.addEdge(tgPanel.findNode("20_2461"),tgPanel.findNode(""),20); tgPanel.addEdge(tgPanel.findNode("21"),tgPanel.findNode("MC"),30); tgPanel.addEdge(tgPanel.findNode("21_2464"),tgPanel.findNode("21"),40); tgPanel.addEdge(tgPanel.findNode("21_2496"),tgPanel.findNode("21"),50); tgPanel.addEdge(tgPanel.findNode("21_2521"),tgPanel.findNode("21"),60); tgPanel.addEdge(tgPanel.findNode("22"),tgPanel.findNode("MC"),70); tgPanel.addEdge(tgPanel.findNode("22_2525"),tgPanel.findNode("22"),80); tgPanel.addEdge(tgPanel.findNode("22_2550"),tgPanel.findNode("22"),90); tgPanel.addEdge(tgPanel.findNode("22_2553"),tgPanel.findNode("22"),100); tgPanel.addEdge(tgPanel.findNode("22_2554"),tgPanel.findNode("22_2553"),110); tgPanel.addEdge(tgPanel.findNode("22_2558"),tgPanel.findNode("22_2553"),120); tgPanel.addEdge(tgPanel.findNode("23"),tgPanel.findNode("MC"),130); tgPanel.addEdge(tgPanel.findNode("23_2564"),tgPanel.findNode("23"),140); tgPanel.addEdge(tgPanel.findNode("23_2608"),tgPanel.findNode("23"),150); tgPanel.addEdge(tgPanel.findNode("24"),tgPanel.findNode("MC"),10); tgPanel.addEdge(tgPanel.findNode("24_2725"),tgPanel.findNode("24"),20); tgPanel.addEdge(tgPanel.findNode("25"),tgPanel.findNode("MC"),30); tgPanel.addEdge(tgPanel.findNode("25_3018"),tgPanel.findNode("25"),40); tgPanel.addEdge(tgPanel.findNode("25_3045"),tgPanel.findNode(""),50); tgPanel.addEdge(tgPanel.findNode("25_3058"),tgPanel.findNode(""),60); tgPanel.addEdge(tgPanel.findNode("25_3067"),tgPanel.findNode(""),70); tgPanel.addEdge(tgPanel.findNode("26"),tgPanel.findNode("MC"),80); tgPanel.addEdge(tgPanel.findNode("26_3075"),tgPanel.findNode("26"),90); tgPanel.addEdge(tgPanel.findNode("26_3080"),tgPanel.findNode("26"),100); tgPanel.addEdge(tgPanel.findNode("26_3088"),tgPanel.findNode("26"),110); tgPanel.addEdge(tgPanel.findNode("27"),tgPanel.findNode("MC"),120); tgPanel.addEdge(tgPanel.findNode("27_3091"),tgPanel.findNode("27"),130); tgPanel.addEdge(tgPanel.findNode("27_3119"),tgPanel.findNode(""),140); tgPanel.addEdge(tgPanel.findNode("27_3146"),tgPanel.findNode(""),150); tgPanel.addEdge(tgPanel.findNode("28"),tgPanel.findNode("MC"),10); tgPanel.addEdge(tgPanel.findNode("28_3148"),tgPanel.findNode("28"),20); tgPanel.addEdge(tgPanel.findNode("28_3207"),tgPanel.findNode(""),30); tgPanel.addEdge(tgPanel.findNode("28_3212"),tgPanel.findNode(""),40); tgPanel.addEdge(tgPanel.findNode("29"),tgPanel.findNode("MC"),50); tgPanel.addEdge(tgPanel.findNode("29_3214"),tgPanel.findNode("29"),60); tgPanel.addEdge(tgPanel.findNode("29_3232"),tgPanel.findNode("29"),70); tgPanel.addEdge(tgPanel.findNode("29_3234"),tgPanel.findNode("29"),80); tgPanel.addEdge(tgPanel.findNode("30"),tgPanel.findNode("MC"),90); tgPanel.addEdge(tgPanel.findNode("30_3246"),tgPanel.findNode("30"),100); tgPanel.addEdge(tgPanel.findNode("30_3273"),tgPanel.findNode(""),110); tgPanel.addEdge(tgPanel.findNode("31"),tgPanel.findNode("MC"),120); tgPanel.addEdge(tgPanel.findNode("31_3276"),tgPanel.findNode("31"),130); tgPanel.addEdge(tgPanel.findNode("31_3315"),tgPanel.findNode(""),140); tgPanel.addEdge(tgPanel.findNode("31_3334"),tgPanel.findNode(""),150); tgPanel.addEdge(tgPanel.findNode("31_3359"),tgPanel.findNode(""),10); tgPanel.addEdge(tgPanel.findNode("31_3368"),tgPanel.findNode(""),20); tgPanel.addEdge(tgPanel.findNode("31_3402"),tgPanel.findNode(""),30); tgPanel.addEdge(tgPanel.findNode("32"),tgPanel.findNode("MC"),40); tgPanel.addEdge(tgPanel.findNode("32_3430"),tgPanel.findNode("32"),50); tgPanel.addEdge(tgPanel.findNode("32_3494"),tgPanel.findNode(""),60); tgPanel.addEdge(tgPanel.findNode("32_3498"),tgPanel.findNode(""),70); tgPanel.addEdge(tgPanel.findNode("32_3525"),tgPanel.findNode(""),80); tgPanel.addEdge(tgPanel.findNode("32_3531"),tgPanel.findNode(""),90); tgPanel.addEdge(tgPanel.findNode("32_3561"),tgPanel.findNode(""),100); tgPanel.addEdge(tgPanel.findNode("33"),tgPanel.findNode("MC"),110); tgPanel.addEdge(tgPanel.findNode("33_3578"),tgPanel.findNode("33"),120); tgPanel.addEdge(tgPanel.findNode("33_3598"),tgPanel.findNode("33"),130); tgPanel.addEdge(tgPanel.findNode("33_3609"),tgPanel.findNode(""),140); tgPanel.addEdge(tgPanel.findNode("34"),tgPanel.findNode("MC"),150); tgPanel.addEdge(tgPanel.findNode("34_3613"),tgPanel.findNode("34"),10); tgPanel.addEdge(tgPanel.findNode("34_3632"),tgPanel.findNode("34"),20); tgPanel.addEdge(tgPanel.findNode("34_3638"),tgPanel.findNode("34"),30); tgPanel.addEdge(tgPanel.findNode("34_3644"),tgPanel.findNode("34"),40); tgPanel.addEdge(tgPanel.findNode("34_3659"),tgPanel.findNode("34"),50); tgPanel.addEdge(tgPanel.findNode("35"),tgPanel.findNode("MC"),60); tgPanel.addEdge(tgPanel.findNode("35_3787"),tgPanel.findNode(""),70); tgPanel.addEdge(tgPanel.findNode("36"),tgPanel.findNode("MC"),80); tgPanel.addEdge(tgPanel.findNode("36_3795"),tgPanel.findNode("36"),90); tgPanel.addEdge(tgPanel.findNode("36_3848"),tgPanel.findNode(""),100); tgPanel.addEdge(tgPanel.findNode("37"),tgPanel.findNode("MC"),110); tgPanel.addEdge(tgPanel.findNode("37_3852"),tgPanel.findNode("37"),120); tgPanel.addEdge(tgPanel.findNode("37_3854"),tgPanel.findNode("37"),130); tgPanel.addEdge(tgPanel.findNode("37_3863"),tgPanel.findNode("37"),140); tgPanel.addEdge(tgPanel.findNode("38"),tgPanel.findNode("MC"),150); tgPanel.addEdge(tgPanel.findNode("38_3868"),tgPanel.findNode("38"),10); tgPanel.addEdge(tgPanel.findNode("39"),tgPanel.findNode("MC"),20); tgPanel.addEdge(tgPanel.findNode("39_3910"),tgPanel.findNode(""),30); tgPanel.addEdge(tgPanel.findNode("39_3938"),tgPanel.findNode(""),40); tgPanel.addEdge(tgPanel.findNode("39_3954"),tgPanel.findNode(""),50); tgPanel.addEdge(tgPanel.findNode("39_3970"),tgPanel.findNode(""),60); tgPanel.addEdge(tgPanel.findNode("39_4048"),tgPanel.findNode(""),70); tgPanel.addEdge(tgPanel.findNode("39_4108"),tgPanel.findNode(""),80); tgPanel.addEdge(tgPanel.findNode("39_4122"),tgPanel.findNode(""),90); tgPanel.addEdge(tgPanel.findNode("39_4129"),tgPanel.findNode(""),100); tgPanel.addEdge(tgPanel.findNode("39_4131"),tgPanel.findNode(""),110); tgPanel.addEdge(tgPanel.findNode("39_4133"),tgPanel.findNode(""),120); tgPanel.addEdge(tgPanel.findNode("39_4156"),tgPanel.findNode(""),130); tgPanel.addEdge(tgPanel.findNode("40"),tgPanel.findNode("MC"),140); tgPanel.addEdge(tgPanel.findNode("40_4193"),tgPanel.findNode(""),150); tgPanel.addEdge(tgPanel.findNode("40_4197"),tgPanel.findNode(""),10); tgPanel.addEdge(tgPanel.findNode("40_4199"),tgPanel.findNode(""),20); tgPanel.addEdge(tgPanel.findNode("40_4215"),tgPanel.findNode(""),30); tgPanel.addEdge(tgPanel.findNode("41"),tgPanel.findNode("MC"),40); tgPanel.addEdge(tgPanel.findNode("41_4224"),tgPanel.findNode(""),50); tgPanel.addEdge(tgPanel.findNode("41_4264"),tgPanel.findNode(""),60); tgPanel.addEdge(tgPanel.findNode("41_4284"),tgPanel.findNode(""),70); tgPanel.addEdge(tgPanel.findNode("41_4287"),tgPanel.findNode(""),80); tgPanel.addEdge(tgPanel.findNode("41_4290"),tgPanel.findNode(""),90); tgPanel.addEdge(tgPanel.findNode("41_4299"),tgPanel.findNode(""),100); tgPanel.addEdge(tgPanel.findNode("42"),tgPanel.findNode("MC"),110); tgPanel.addEdge(tgPanel.findNode("42_4305"),tgPanel.findNode("42"),120); tgPanel.addEdge(tgPanel.findNode("42_4312"),tgPanel.findNode("42"),130); tgPanel.addEdge(tgPanel.findNode("42_4320"),tgPanel.findNode("42"),140); tgPanel.addEdge(tgPanel.findNode("42_4340"),tgPanel.findNode(""),150); tgPanel.addEdge(tgPanel.findNode("42_4360"),tgPanel.findNode(""),10); tgPanel.addEdge(tgPanel.findNode("42_4379"),tgPanel.findNode(""),20); tgPanel.addEdge(tgPanel.findNode("42_4385"),tgPanel.findNode(""),30); tgPanel.addEdge(tgPanel.findNode("42_4388"),tgPanel.findNode(""),40); tgPanel.addEdge(tgPanel.findNode("42_4390"),tgPanel.findNode(""),50); tgPanel.addEdge(tgPanel.findNode("43"),tgPanel.findNode("MC"),60); tgPanel.addEdge(tgPanel.findNode("43_4398"),tgPanel.findNode("43"),70); tgPanel.addEdge(tgPanel.findNode("43_4400"),tgPanel.findNode("43"),80); tgPanel.addEdge(tgPanel.findNode("43_4403"),tgPanel.findNode("43"),90); tgPanel.addEdge(tgPanel.findNode("43_4405"),tgPanel.findNode("43"),100); tgPanel.addEdge(tgPanel.findNode("44"),tgPanel.findNode("MC"),110); tgPanel.addEdge(tgPanel.findNode("44_4408"),tgPanel.findNode("44"),120); tgPanel.addEdge(tgPanel.findNode("44_4413"),tgPanel.findNode("44"),130); tgPanel.addEdge(tgPanel.findNode("44_4418"),tgPanel.findNode("44"),140); tgPanel.addEdge(tgPanel.findNode("44_4425"),tgPanel.findNode("44"),150);//done } catch ( TGException tge ) { System.err.println(tge.getMessage()); tge.printStackTrace(System.err); } //try to collapse the node by default tgPanel.collapseNode(tgPanel.findNode("MC")); setVisible(true); } /** Return the TGPanel used with this GLPanel. */ public TGPanel getTGPanel() { return tgPanel; } // navigation ................. /** Return the HVScroll used with this GLPanel. */ public HVScroll getHVScroll() { return hvScroll; } /** Return the HyperScroll used with this GLPanel. */ public HyperScroll getHyperScroll() { return hyperScroll; } /** Sets the horizontal offset to p.x, and the vertical offset to p.y * given a Point p. */ public void setOffset( Point p ) { hvScroll.setOffset(p); }; /** Return the horizontal and vertical offset position as a Point. */ public Point getOffset() { return hvScroll.getOffset(); }; // rotation ................... /** Return the RotateScroll used with this GLPanel. */ public RotateScroll getRotateScroll() { return rotateScroll; } /** Set the rotation angle of this GLPanel (allowable values between 0 to 359). */ public void setRotationAngle( int angle ) { rotateScroll.setRotationAngle(angle); } /** Return the rotation angle of this GLPanel. */ public int getRotationAngle() { return rotateScroll.getRotationAngle(); } // locality ................... /** Return the LocalityScroll used with this GLPanel. */ public LocalityScroll getLocalityScroll() { return localityScroll; } /** Set the locality radius of this TGScrollPane * (allowable values between 0 to 4, or LocalityUtils.INFINITE_LOCALITY_RADIUS). */ public void setLocalityRadius( int radius ) { localityScroll.setLocalityRadius(radius); } /** Return the locality radius of this GLPanel. */ public int getLocalityRadius() { return localityScroll.getLocalityRadius(); } // zoom ....................... /** Return the ZoomScroll used with this GLPanel. */ public ZoomScroll getZoomScroll() { return zoomScroll; } /** Set the zoom value of this GLPanel (allowable values between -100 to 100). */ public void setZoomValue( int zoomValue ) { zoomScroll.setZoomValue(zoomValue); } /** Return the zoom value of this GLPanel. */ public int getZoomValue() { return zoomScroll.getZoomValue(); } // .... public PopupMenu getGLPopup() { return glPopup; } public void buildLens() { tgLensSet.addLens(hvScroll.getLens()); tgLensSet.addLens(zoomScroll.getLens()); tgLensSet.addLens(hyperScroll.getLens()); tgLensSet.addLens(rotateScroll.getLens()); tgLensSet.addLens(tgPanel.getAdjustOriginLens()); } public void buildPanel() { final Scrollbar horizontalSB = hvScroll.getHorizontalSB(); final Scrollbar verticalSB = hvScroll.getVerticalSB(); final Scrollbar zoomSB = zoomScroll.getZoomSB(); final Scrollbar rotateSB = rotateScroll.getRotateSB(); final Scrollbar localitySB = localityScroll.getLocalitySB(); final Scrollbar hyperSB = hyperScroll.getHyperSB(); setLayout(new BorderLayout()); Panel scrollPanel = new Panel(); scrollPanel.setBackground(defaultBackColor); scrollPanel.setForeground(defaultForeColor); scrollPanel.setLayout(new GridBagLayout()); GridBagConstraints c = new GridBagConstraints(); Panel modeSelectPanel = new Panel(); modeSelectPanel.setBackground(defaultBackColor); modeSelectPanel.setForeground(defaultForeColor); modeSelectPanel.setLayout(new FlowLayout(FlowLayout.CENTER, 0,0)); final Panel topPanel = new Panel(); topPanel.setBackground(defaultBorderBackColor); topPanel.setForeground(defaultForeColor); topPanel.setLayout(new GridBagLayout()); c.gridy=0; c.fill=GridBagConstraints.HORIZONTAL; c.gridx=0;c.weightx=0; c.insets=new Insets(0,0,0,0); c.gridy=0;c.weightx=1; scrollBarHash.put(zoomLabel, zoomSB); scrollBarHash.put(rotateLabel, rotateSB); scrollBarHash.put(localityLabel, localitySB); scrollBarHash.put(hyperLabel, hyperSB); Panel scrollselect = scrollSelectPanel(new String[] {zoomLabel, rotateLabel /*, localityLabel*/, hyperLabel}); scrollselect.setBackground(defaultBorderBackColor); scrollselect.setForeground(defaultForeColor); topPanel.add(scrollselect,c); add(topPanel, BorderLayout.SOUTH); c.fill = GridBagConstraints.BOTH; c.gridwidth = 1; c.gridx = 0; c.gridy = 1; c.weightx = 1; c.weighty = 1; scrollPanel.add(tgPanel,c); c.gridx = 1; c.gridy = 1; c.weightx = 0; c.weighty = 0; // scrollPanel.add(verticalSB,c); // For WDR We do not need scrollbars c.gridx = 0; c.gridy = 2; // scrollPanel.add(horizontalSB,c); // For WDR We do not need scrollbars add(scrollPanel,BorderLayout.CENTER); glPopup = new PopupMenu(); add(glPopup); // needed by JDK11 Popupmenu.. MenuItem menuItem = new MenuItem("Toggle Controls"); ActionListener toggleControlsAction = new ActionListener() { boolean controlsVisible = true; public void actionPerformed(ActionEvent e) { controlsVisible = !controlsVisible; horizontalSB.setVisible(controlsVisible); verticalSB.setVisible(controlsVisible); topPanel.setVisible(controlsVisible); GLPanel.this.doLayout(); } }; menuItem.addActionListener(toggleControlsAction); glPopup.add(menuItem); } protected Panel scrollSelectPanel(final String[] scrollBarNames) { final Panel sbp = new Panel(new GridBagLayout()); // UI: Scrollbarselector via Radiobuttons................................. sbp.setBackground(defaultBorderBackColor); sbp.setForeground(defaultForeColor); Panel firstRow=new Panel(new GridBagLayout()); final CheckboxGroup bg = new CheckboxGroup(); int cbNumber = scrollBarNames.length; Checkbox checkboxes[] = new Checkbox[cbNumber]; GridBagConstraints c = new GridBagConstraints(); c.anchor=GridBagConstraints.WEST; c.gridy = 0; c.weightx= 0; c.fill = GridBagConstraints.HORIZONTAL; for (int i=0;i