/***************************************************************************** * $Id: PullDownMenu.java,v 1.1.1.1 2000/03/29 22:58:14 kkeys Exp $ * * File: PullDownMenu.java Class: PullDownMenu * Purpose: To build the PullDownMenu used by Plankton * * Written: Bradley Huffaker (12/16/97) * Special Thanks: Darian Shimy * Modified: Jaeyeon Jung (2/19/98) * To add STEP_BY_STEP function * * For:Cooperative Association for Internet Data Analysis ****************************************************************************** ****************************************************************************** By accessing this software, PULLDOWNMENU, you are duly informed of and agree to be bound by the conditions described below in this notice: This software product, PULLDOWNMENU, is developed by Bradley Huffaker, and Jaeyeon Jung copyrighted(C) 1998 by the University of California, San Diego (UCSD), with all rights reserved. UCSD administers the NLANR Cache grants, NCR-9796082 and NCR-9616602, under which most of this code was developed. There is no charge for PULLDOWNMENU software. You can redistribute it and/or modify it under the terms of the GNU General Public License, v. 2 dated June 1991 which is incorporated by reference herein. PULLDOWNMENU is distributed WITHOUT ANY WARRANTY, IMPLIED OR EXPRESS, OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE or that the use of it will not infringe on any third party's intellectual property rights. You should have received a copy of the GNU GPL along with the PULLDOWNMENU program. Copies can also be obtained from http://www.gnu.org/copyleft/gpl.html or by writing to University of California, San Diego SDSC/CAIDA/NLANR 9500 Gilman Dr., MS-0505 La Jolla, CA 92093 - 0505 USA Or contact INFO@NLANR.NET *****************************************************************************/ package bhuffake.plankton; import java.awt.*; public class PullDownMenu extends MenuBar { // -------------- File Part ---------------------- static public String FILE = "File"; // Header for Menu static public String CLEAR = "Clear Network"; static public String CLEAR_MAP = "Clear World Map"; static public String REDRAW = "Redraw Network"; static public String CENTER = "Center Network"; //static public String ANIMATE = "Load Networks"; static public String ANIMATE = "Animate"; static public String LOAD = "Load Network"; static public String LOAD_MAP = "Load World Map"; static public String EXIT = "Exit"; // --------------- Build Part --------------------- static public String BUILD = "Build Tools"; // Header for Menu static public String ADD_NODE = "Add Node"; static public String ADD_LINK = "Add Line"; static public String REMOVE = "Remove Object"; // --------------- Interaction --------------------- static public String INTERACT = "Interaction"; //Header for Menu static public String ROOT_SELECT = "Select Root"; static public String SELECT = "Select Object"; static public String SELECT_NAME = "Select Root by Name"; static public String SELECT_TREE = "Select Tree"; static public String DESELECT = "Deselect All Objects"; static public String STEP_BY_STEP = "Step by Step"; static public String FORMAT = "Auto Arrange"; static public String MOVE = "Move"; // ---------------- View ------------------------ static public String VIEW = "View"; // Header for Menu static public String VIEW_ROOT = "Topological Arrange"; static public String VIEW_GEO = "Geographical Arrange"; static public String VIEW_BOTH = "Topological / Geographical"; static public String VIEW_WORLD = "View World"; static public String VIEW_USA = "View USA"; static public String VIEW_EUROPE = "View Europe"; static public String VIEW_ASIA = "View Asia"; static public String RES = "Resolution"; // Header for Menu static public String LOW = "Low Resolution"; static public String HIGH = "High Resolution"; static public final String ALL_NAMES = "Show All Names"; static public final String ROOT_NAMES = "Show Root Names"; static public final String NO_NAMES = "Show No Names"; // -------------- Tool ----------------------- static public String TOOL = "Tool"; // -------------- Zoom ----------------------- static public String ZOOM = "Zoom"; static public String ZOOM1 = ZOOM+ " 0.25"; static public String ZOOM2 = ZOOM+ " 0.50"; static public String ZOOM3 = ZOOM+ " 0.75"; static public String ZOOM4 = ZOOM+ " 1.33"; static public String ZOOM5 = ZOOM+ " 2.00"; static public String ZOOM6 = ZOOM+ " 4.00"; // -------------- Rotate ----------------------- static public String ROTATE = "Rotate"; static public String ROTATE1 = " -180 degree"; static public String ROTATE2 = " -90 degree"; static public String ROTATE3 = " 90 degree"; static public String ROTATE4 = " 180 degree"; // -------------- Line Size ----------------------- static public String LINE_SIZE = "Line Size"; static public String LINE = "Line"; static public String LINE1 = LINE+ " -2"; static public String LINE2 = LINE+ " -1"; static public String LINE3 = LINE+ " 1"; static public String LINE4 = LINE+ " 2"; // -------------- Node Size ----------------------- static public String NODE_SIZE = "Node Size"; static public String NODE = "Node"; static public String NODE1 = NODE+ " -2"; static public String NODE2 = NODE+ " -1"; static public String NODE3 = NODE+ " 1"; static public String NODE4 = NODE+ " 2"; // -------------- Color by ----------------------- static public String COLOR_BY = "Color By"; static public String COLOR_HTTP = "HTTP Requests"; static public String COLOR_DEFAULT= "Default Colors"; static public String COLOR_DOMAIN = "Top Level Domain Name"; // --------------- Help ---------------------------- static public String HELP = "Help"; // Header No iternal yet static public String ABOUT = "About"; static public String COMMANDS = "Menu Commands"; static public String OVERVIEW = "Overview of Objects"; public void addItem(String s, Menu m, boolean enabled) { MenuItem item = new MenuItem(s); if (!enabled) item.disable(); m.add(item); } public PullDownMenu (boolean isApplet) { // This is the File Menu Menu fileMenu = new Menu(FILE); addItem(CLEAR,fileMenu,true); addItem(CLEAR_MAP,fileMenu,true); addItem(REDRAW,fileMenu,true); addItem(CENTER,fileMenu,true); fileMenu.addSeparator(); addItem(LOAD,fileMenu,true); addItem(LOAD_MAP,fileMenu,true); //if (!isApplet) addItem(ANIMATE,fileMenu,true); fileMenu.addSeparator(); addItem(EXIT,fileMenu,true); // This is the building Menu Menu buildMenu = new Menu(BUILD); addItem(ADD_NODE,buildMenu,true); addItem(ADD_LINK,buildMenu,true); addItem(REMOVE,buildMenu,true); // This is the Interaction Menu Menu interactMenu = new Menu(INTERACT); addItem(SELECT,interactMenu,true); addItem(SELECT_TREE,interactMenu,true); addItem(DESELECT,interactMenu,true); interactMenu.addSeparator(); addItem(ROOT_SELECT,interactMenu,true); addItem(SELECT_NAME,interactMenu,true); interactMenu.addSeparator(); addItem(MOVE,interactMenu,true); addItem(FORMAT,interactMenu,true); addItem(STEP_BY_STEP, interactMenu,true); // This is the Resalution Menu // This is the View Menu Menu viewMenu = new Menu(VIEW); addItem(VIEW_ROOT,viewMenu,true); Menu viewGeo = new Menu(VIEW_GEO); addItem(VIEW_BOTH,viewMenu,true); addItem(VIEW_WORLD,viewGeo,true); addItem(VIEW_USA,viewGeo,true); addItem(VIEW_EUROPE,viewGeo,true); addItem(VIEW_ASIA,viewGeo,true); viewMenu.add(viewGeo); viewMenu.addSeparator(); addItem(LOW,viewMenu,true); addItem(HIGH,viewMenu,true); viewMenu.addSeparator(); addItem(ALL_NAMES,viewMenu,true); addItem(ROOT_NAMES,viewMenu,true); addItem(NO_NAMES,viewMenu,true); // The Tool Menu Menu toolMenu = new Menu(TOOL); Menu zoomMenu = new Menu(ZOOM); addItem(ZOOM1, zoomMenu, true); addItem(ZOOM2, zoomMenu, true); addItem(ZOOM3, zoomMenu, true); addItem(ZOOM4, zoomMenu, true); addItem(ZOOM5, zoomMenu, true); addItem(ZOOM6, zoomMenu, true); Menu rotateMenu = new Menu(ROTATE); addItem(ROTATE1, rotateMenu, true); addItem(ROTATE2, rotateMenu, true); addItem(ROTATE3, rotateMenu, true); addItem(ROTATE4, rotateMenu, true); Menu lineMenu = new Menu(LINE_SIZE); addItem(LINE1, lineMenu, true); addItem(LINE2, lineMenu, true); addItem(LINE3, lineMenu, true); addItem(LINE4, lineMenu, true); Menu nodeMenu = new Menu(NODE_SIZE); addItem(NODE1, nodeMenu, true); addItem(NODE2, nodeMenu, true); addItem(NODE3, nodeMenu, true); addItem(NODE4, nodeMenu, true); toolMenu.add(zoomMenu); toolMenu.add(rotateMenu); toolMenu.add(lineMenu); toolMenu.add(nodeMenu); // The Color by Menu Menu colorMenu = new Menu(COLOR_BY); addItem(COLOR_DOMAIN, colorMenu,true); addItem(COLOR_HTTP, colorMenu, true); addItem(COLOR_DEFAULT, colorMenu, true); // The Help Menu Menu helpMenu = new Menu(HELP); addItem(ABOUT,helpMenu,true); addItem(COMMANDS,helpMenu,true); addItem(OVERVIEW,helpMenu,true); add(fileMenu); if (!isApplet) add(buildMenu); add(interactMenu); add(viewMenu); add(toolMenu); add(colorMenu); add(helpMenu); } }