/* * Copyright (c) 1995, 1996 Sun Microsystems, Inc. All Rights Reserved. * * Permission to use, copy, modify, and distribute this software * and its documentation for NON-COMMERCIAL purposes and without * fee is hereby granted provided that this copyright notice * appears in all copies. Please refer to the file "copyright.html" * for further important copyright and licensing information. * * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. */ import java.awt.*; import MudButton; import MudRadio; //import java.awt.CheckboxGroup; import Mud; public class RoomMenu extends Frame { private boolean inAnApplet = true; Panel cards; final static String BUTTONPANEL = "Panel with Buttons"; final static String TEXTPANEL = "Panel with TextField"; public RoomMenu(Mud mud) { setLayout(new BorderLayout()); setFont(new Font("Helvetica", Font.PLAIN, 10)); //Put the Choice in a Panel to get a nicer look. Panel cp = new Panel(); Choice c = new Choice(); c.addItem("Room Editor"); c.addItem("Mobile Editor"); c.addItem("Object Editor"); cp.add(c); add("North", cp); cards = new Panel(); cards.setLayout(new CardLayout()); //-------------------Room Card------------------------------ Panel pa = new Panel(); GridBagLayout gridbag = new GridBagLayout(); GridBagConstraints co = new GridBagConstraints(); pa.setLayout(gridbag); Label parn = new Label("Room Name:"); parn.setFont( new Font("Helvetica", Font.BOLD, 12)); co.fill = GridBagConstraints.HORIZONTAL; co.gridwidth = GridBagConstraints.RELATIVE; //co.gridheight = GridBagConstraints.RELATIVE; co.weighty = 1.0; co.weightx = 1.0; gridbag.setConstraints(parn, co); pa.add(parn); TextField name = new TextField(""); co.fill = GridBagConstraints.HORIZONTAL; co.gridwidth = GridBagConstraints.REMAINDER; //co.gridheight = GridBagConstraints.RELATIVE; co.weighty = 1.0; co.weightx = 1.0; gridbag.setConstraints(name, co); pa.add( name); Label pago = new Label("Go To:"); pago.setFont( new Font("Helvetica", Font.BOLD, 12)); co.fill = GridBagConstraints.HORIZONTAL; co.gridwidth = GridBagConstraints.RELATIVE; //co.gridheight = GridBagConstraints.RELATIVE; co.weighty = 1.0; co.weightx = 1.0; gridbag.setConstraints(pago, co); pa.add(pago); TextField gotof = new TextField(""); co.fill = GridBagConstraints.HORIZONTAL; co.gridwidth = GridBagConstraints.REMAINDER; //co.gridheight = GridBagConstraints.RELATIVE; co.weighty = 1.0; co.weightx = 1.0; gridbag.setConstraints(gotof, co); pa.add( gotof); Label pade = new Label("Description:"); pade.setFont( new Font("Helvetica", Font.BOLD, 12)); co.fill = GridBagConstraints.HORIZONTAL; co.gridwidth = GridBagConstraints.RELATIVE; //co.gridheight = GridBagConstraints.RELATIVE; co.weighty = 1.0; co.weightx = 1.0; gridbag.setConstraints(pade, co); pa.add(pade); TextArea description = new TextArea(""); co.fill = GridBagConstraints.HORIZONTAL; co.gridwidth = GridBagConstraints.REMAINDER; co.gridheight = GridBagConstraints.RELATIVE; co.weighty = 1.0; co.weightx = 1.0; gridbag.setConstraints(description, co); pa.add( description); Panel p1 = new Panel(); p1.setLayout( new GridLayout(10,5) ); //p1.add(new MudField("name","redit name %s", mud)); //p1.add(new MudField("description","redit desc %s",mud)); Label p1rf = new Label("Room Flags"); p1rf.setFont( new Font("Helvetica", Font.BOLD, 12)); p1.add(p1rf); p1.add(new MudRadio("Dark", "redit flags dark", mud)); p1.add(new MudRadio("Death", "redit flags death", mud)); p1.add(new MudRadio("NoMobs", "redit flags nomobs", mud)); p1.add(new MudRadio("Indoors", "redit flags indoors", mud)); p1.add(new MudRadio("Lawful", "redit flags lawful", mud)); p1.add(new MudRadio("NoMagic", "redit flags nomagic", mud)); p1.add(new MudRadio("PetShop", "redit flags petshop", mud)); p1.add(new MudRadio("Neutral", "redit flags neutral", mud)); p1.add(new MudRadio("NoDrop", "redit flags nodrop", mud)); p1.add(new MudRadio("Safe", "redit flags safe", mud)); p1.add(new MudRadio("Chaotic", "redit flags chaotic", mud)); p1.add(new MudRadio("Teleport","redit flags teleport",mud)); p1.add(new MudRadio("Donation","redit flags donation",mud)); p1.add(new MudRadio("NoRecall","redit flags norecall",mud)); p1.add(new MudRadio("Private","redit flags private",mud)); p1.add(new MudRadio("Solitary","redit flags solitary",mud)); p1.add(new MudRadio("NoAstral","redit flags noastral",mud)); p1.add(new MudRadio("Tunnel","redit flags tunnel",mud)); p1.add(new MudRadio("Silence","redit flags silence",mud)); p1.add(new MudRadio("NoSummon","redit flags nosummon",mud)); p1.add(new MudRadio("ClanStorage","redit flags clanstorage",mud)); p1.add(new MudRadio("LogSpeech","redit flags logspeech",mud)); p1.add(new MudRadio("NoFloor","redit flags nofloor",mud)); Label p1st = new Label("Sector Types"); p1st.setFont( new Font("Helvetica", Font.BOLD, 12)); p1.add(p1st); //p1.add(new Label("Sector Types")); p1.add(new MudRadio("Inside","redit sector 0",mud)); p1.add(new MudRadio("Forest","redit sector 3",mud)); p1.add(new MudRadio("City","redit sector 1",mud)); p1.add(new MudRadio("Hills","redit sector 4",mud)); p1.add(new MudRadio("Mountain","redit sector 5",mud)); p1.add(new MudRadio("Water (Swim)","redit sector 6",mud)); p1.add(new MudRadio("Air","redit sector 9",mud)); p1.add(new MudRadio("Desert","redit sector 10",mud)); p1.add(new MudRadio("Dunno","redit sector 11",mud)); p1.add(new MudRadio("Water (No Swim)","redit sector 7",mud)); p1.add(new MudRadio("Field","redit sector 2",mud)); co.fill = GridBagConstraints.BOTH; co.gridwidth = GridBagConstraints.REMAINDER; co.gridheight = GridBagConstraints.REMAINDER; co.weighty = 1.0; co.weightx = 1.0; gridbag.setConstraints(p1, co); pa.add(p1); //-------------------End Room Card-------------------------- //-------------------Object Card---------------------------- Panel p2 = new Panel(); p2.add(new MudButton("west","west",mud)); p2.add(new MudButton("up","up",mud)); p2.add(new MudButton("down","down",mud)); p2.add(new MudButton("look","look",mud)); p2.add(new TextField("TextField", 20)); Panel p3 = new Panel(); p3.add(new MudButton("west","west",mud)); p3.add(new MudButton("up","up",mud)); p3.add(new MudButton("down","down",mud)); p3.add(new MudButton("look","look",mud)); p3.add(new TextField("TextField", 20)); cards.add("Room Editor", pa); cards.add("Mobile Editor", p2); cards.add("Object Editor", p3); add("Center", cards); } public boolean action(Event evt, Object arg) { if (evt.target instanceof Choice) { ((CardLayout)cards.getLayout()).show(cards,(String)arg); return true; } return false; } public synchronized boolean handleEvent(Event e) { if (e.id == Event.WINDOW_DESTROY) { if (inAnApplet) { dispose(); return true; } else { System.exit(0); } } return super.handleEvent(e); } /* public static void main(String args[]) { RoomMenu window = new RoomMenu(); window.inAnApplet = false; window.setTitle("RoomMenu Application"); window.pack(); window.show(); } */ }