dw_fluffos_v1/
dw_fluffos_v1/fluffos-1.22c11/
dw_fluffos_v1/fluffos-1.22c11/ChangeLog.old/
dw_fluffos_v1/fluffos-1.22c11/Win32/
dw_fluffos_v1/fluffos-1.22c11/compat/
dw_fluffos_v1/fluffos-1.22c11/compat/simuls/
dw_fluffos_v1/fluffos-1.22c11/include/
dw_fluffos_v1/fluffos-1.22c11/mudlib/
dw_fluffos_v1/fluffos-1.22c11/testsuite/
dw_fluffos_v1/fluffos-1.22c11/testsuite/clone/
dw_fluffos_v1/fluffos-1.22c11/testsuite/command/
dw_fluffos_v1/fluffos-1.22c11/testsuite/data/
dw_fluffos_v1/fluffos-1.22c11/testsuite/etc/
dw_fluffos_v1/fluffos-1.22c11/testsuite/include/
dw_fluffos_v1/fluffos-1.22c11/testsuite/inherit/
dw_fluffos_v1/fluffos-1.22c11/testsuite/inherit/master/
dw_fluffos_v1/fluffos-1.22c11/testsuite/log/
dw_fluffos_v1/fluffos-1.22c11/testsuite/single/
dw_fluffos_v1/fluffos-1.22c11/testsuite/single/tests/compiler/
dw_fluffos_v1/fluffos-1.22c11/testsuite/single/tests/efuns/
dw_fluffos_v1/fluffos-1.22c11/testsuite/single/tests/operators/
dw_fluffos_v1/fluffos-1.22c11/testsuite/u/
dw_fluffos_v1/fluffos-1.22c11/tmp/
dw_fluffos_v1/lib/
dw_fluffos_v1/lib/binaries/cmds/
dw_fluffos_v1/lib/binaries/cmds/creator/
dw_fluffos_v1/lib/binaries/cmds/living/
dw_fluffos_v1/lib/binaries/cmds/player/
dw_fluffos_v1/lib/binaries/d/admin/obj/
dw_fluffos_v1/lib/binaries/d/liaison/
dw_fluffos_v1/lib/binaries/global/virtual/
dw_fluffos_v1/lib/binaries/global/virtual/setup_compiler/
dw_fluffos_v1/lib/binaries/obj/handlers/autodoc/
dw_fluffos_v1/lib/binaries/obj/handlers/terrain_things/
dw_fluffos_v1/lib/binaries/obj/misc/
dw_fluffos_v1/lib/binaries/obj/misc/buckets/
dw_fluffos_v1/lib/binaries/obj/monster/
dw_fluffos_v1/lib/binaries/obj/reactions/
dw_fluffos_v1/lib/binaries/obj/reagents/
dw_fluffos_v1/lib/binaries/secure/cmds/creator/
dw_fluffos_v1/lib/binaries/secure/master/
dw_fluffos_v1/lib/binaries/std/
dw_fluffos_v1/lib/binaries/std/dom/
dw_fluffos_v1/lib/binaries/std/effects/object/
dw_fluffos_v1/lib/binaries/std/guilds/
dw_fluffos_v1/lib/binaries/std/languages/
dw_fluffos_v1/lib/binaries/std/races/
dw_fluffos_v1/lib/binaries/std/room/
dw_fluffos_v1/lib/binaries/std/room/basic/
dw_fluffos_v1/lib/binaries/std/shops/
dw_fluffos_v1/lib/binaries/std/shops/inherit/
dw_fluffos_v1/lib/binaries/www/
dw_fluffos_v1/lib/cmds/guild-race/
dw_fluffos_v1/lib/cmds/guild-race/crafts/
dw_fluffos_v1/lib/cmds/guild-race/other/
dw_fluffos_v1/lib/cmds/playtester/
dw_fluffos_v1/lib/cmds/playtester/senior/
dw_fluffos_v1/lib/d/admin/
dw_fluffos_v1/lib/d/admin/log/
dw_fluffos_v1/lib/d/admin/mapper/31-10-01/mapmaker/event/
dw_fluffos_v1/lib/d/admin/meetings/
dw_fluffos_v1/lib/d/admin/obj/
dw_fluffos_v1/lib/d/admin/room/we_care/
dw_fluffos_v1/lib/d/admin/save/
dw_fluffos_v1/lib/d/dist/
dw_fluffos_v1/lib/d/dist/mtf/
dw_fluffos_v1/lib/d/dist/pumpkin/
dw_fluffos_v1/lib/d/dist/pumpkin/chars/
dw_fluffos_v1/lib/d/dist/pumpkin/desert/
dw_fluffos_v1/lib/d/dist/pumpkin/gumboot/
dw_fluffos_v1/lib/d/dist/pumpkin/hospital/
dw_fluffos_v1/lib/d/dist/pumpkin/inherit/
dw_fluffos_v1/lib/d/dist/pumpkin/map/
dw_fluffos_v1/lib/d/dist/pumpkin/plain/
dw_fluffos_v1/lib/d/dist/pumpkin/pumpkin/
dw_fluffos_v1/lib/d/dist/pumpkin/save/
dw_fluffos_v1/lib/d/dist/pumpkin/squash/
dw_fluffos_v1/lib/d/dist/pumpkin/terrain/
dw_fluffos_v1/lib/d/dist/pumpkin/woods/
dw_fluffos_v1/lib/d/dist/start/
dw_fluffos_v1/lib/d/learning/TinyTown/buildings/
dw_fluffos_v1/lib/d/learning/TinyTown/map/
dw_fluffos_v1/lib/d/learning/TinyTown/roads/
dw_fluffos_v1/lib/d/learning/add_command/
dw_fluffos_v1/lib/d/learning/arms_and_weps/
dw_fluffos_v1/lib/d/learning/chars/
dw_fluffos_v1/lib/d/learning/cutnpaste/
dw_fluffos_v1/lib/d/learning/examples/npcs/
dw_fluffos_v1/lib/d/learning/examples/player_houses/npcs/
dw_fluffos_v1/lib/d/learning/examples/terrain_map/basic/
dw_fluffos_v1/lib/d/learning/functions/
dw_fluffos_v1/lib/d/learning/handlers/
dw_fluffos_v1/lib/d/learning/help_topics/npcs/
dw_fluffos_v1/lib/d/learning/help_topics/objects/
dw_fluffos_v1/lib/d/learning/help_topics/rcs_demo/
dw_fluffos_v1/lib/d/learning/help_topics/rooms/
dw_fluffos_v1/lib/d/learning/help_topics/rooms/crowd/
dw_fluffos_v1/lib/d/learning/help_topics/rooms/situations/
dw_fluffos_v1/lib/d/learning/items/
dw_fluffos_v1/lib/d/learning/save/
dw_fluffos_v1/lib/d/liaison/
dw_fluffos_v1/lib/d/liaison/NEWBIE/doc/
dw_fluffos_v1/lib/d/liaison/NEWBIE/save/oldlog/
dw_fluffos_v1/lib/db/
dw_fluffos_v1/lib/doc/
dw_fluffos_v1/lib/doc/creator/
dw_fluffos_v1/lib/doc/creator/autodoc/include/reaction/
dw_fluffos_v1/lib/doc/creator/autodoc/include/ritual_system/
dw_fluffos_v1/lib/doc/creator/autodoc/include/talker/
dw_fluffos_v1/lib/doc/creator/autodoc/include/terrain_map/
dw_fluffos_v1/lib/doc/creator/autodoc/obj/baggage/
dw_fluffos_v1/lib/doc/creator/autodoc/obj/clock/
dw_fluffos_v1/lib/doc/creator/autodoc/obj/clothing/
dw_fluffos_v1/lib/doc/creator/autodoc/obj/cont_save/
dw_fluffos_v1/lib/doc/creator/autodoc/obj/corpse/
dw_fluffos_v1/lib/doc/creator/autodoc/obj/money/
dw_fluffos_v1/lib/doc/creator/autodoc/obj/monster/
dw_fluffos_v1/lib/doc/creator/autodoc/obj/scabbard/
dw_fluffos_v1/lib/doc/creator/autodoc/obj/service_provider/
dw_fluffos_v1/lib/doc/creator/autodoc/obj/state_changer/
dw_fluffos_v1/lib/doc/creator/autodoc/obj/wand/
dw_fluffos_v1/lib/doc/creator/autodoc/std/book_dir/
dw_fluffos_v1/lib/doc/creator/autodoc/std/key/
dw_fluffos_v1/lib/doc/creator/autodoc/std/learning/
dw_fluffos_v1/lib/doc/creator/autodoc/std/map/
dw_fluffos_v1/lib/doc/creator/autodoc/std/race/
dw_fluffos_v1/lib/doc/creator/autodoc/std/weapon_logic/
dw_fluffos_v1/lib/doc/creator/files/
dw_fluffos_v1/lib/doc/creator/policy/
dw_fluffos_v1/lib/doc/creator/room/
dw_fluffos_v1/lib/doc/effects/
dw_fluffos_v1/lib/doc/ideas/
dw_fluffos_v1/lib/doc/known_command/
dw_fluffos_v1/lib/doc/lpc/basic_manual/
dw_fluffos_v1/lib/doc/lpc/intermediate/
dw_fluffos_v1/lib/doc/new/add_command/
dw_fluffos_v1/lib/doc/new/handlers/
dw_fluffos_v1/lib/doc/new/living/
dw_fluffos_v1/lib/doc/new/living/race/
dw_fluffos_v1/lib/doc/new/living/spells/
dw_fluffos_v1/lib/doc/new/player/
dw_fluffos_v1/lib/doc/new/room/guild/
dw_fluffos_v1/lib/doc/new/room/outside/
dw_fluffos_v1/lib/doc/new/room/storeroom/
dw_fluffos_v1/lib/doc/object/
dw_fluffos_v1/lib/doc/playtesters/
dw_fluffos_v1/lib/doc/policy/
dw_fluffos_v1/lib/doc/weapons/
dw_fluffos_v1/lib/global/handlers/
dw_fluffos_v1/lib/global/virtual/setup_compiler/
dw_fluffos_v1/lib/include/
dw_fluffos_v1/lib/include/cmds/
dw_fluffos_v1/lib/include/effects/
dw_fluffos_v1/lib/include/npc/
dw_fluffos_v1/lib/include/shops/
dw_fluffos_v1/lib/net/daemon/chars/
dw_fluffos_v1/lib/net/inherit/
dw_fluffos_v1/lib/net/intermud3/
dw_fluffos_v1/lib/net/intermud3/services/
dw_fluffos_v1/lib/net/obj/
dw_fluffos_v1/lib/net/save/
dw_fluffos_v1/lib/net/smnmp/
dw_fluffos_v1/lib/net/snmp/
dw_fluffos_v1/lib/obj/amulets/
dw_fluffos_v1/lib/obj/b_day/
dw_fluffos_v1/lib/obj/examples/
dw_fluffos_v1/lib/obj/food/alcohol/
dw_fluffos_v1/lib/obj/food/chocolates/
dw_fluffos_v1/lib/obj/food/fruits/
dw_fluffos_v1/lib/obj/food/meat/
dw_fluffos_v1/lib/obj/food/nuts/
dw_fluffos_v1/lib/obj/food/seafood/
dw_fluffos_v1/lib/obj/food/vegetables/
dw_fluffos_v1/lib/obj/fungi/
dw_fluffos_v1/lib/obj/furnitures/artwork/
dw_fluffos_v1/lib/obj/furnitures/bathroom/
dw_fluffos_v1/lib/obj/furnitures/beds/
dw_fluffos_v1/lib/obj/furnitures/cabinets/
dw_fluffos_v1/lib/obj/furnitures/chairs/
dw_fluffos_v1/lib/obj/furnitures/chests/
dw_fluffos_v1/lib/obj/furnitures/clocks/
dw_fluffos_v1/lib/obj/furnitures/crockery/
dw_fluffos_v1/lib/obj/furnitures/cupboards/
dw_fluffos_v1/lib/obj/furnitures/cushions/
dw_fluffos_v1/lib/obj/furnitures/fake_plants/
dw_fluffos_v1/lib/obj/furnitures/lamps/
dw_fluffos_v1/lib/obj/furnitures/mirrors/
dw_fluffos_v1/lib/obj/furnitures/outdoor/
dw_fluffos_v1/lib/obj/furnitures/safes/
dw_fluffos_v1/lib/obj/furnitures/shelves/
dw_fluffos_v1/lib/obj/furnitures/sideboards/
dw_fluffos_v1/lib/obj/furnitures/sofas/
dw_fluffos_v1/lib/obj/furnitures/stoves/
dw_fluffos_v1/lib/obj/furnitures/tables/
dw_fluffos_v1/lib/obj/furnitures/wardrobes/
dw_fluffos_v1/lib/obj/handlers/
dw_fluffos_v1/lib/obj/handlers/autodoc/
dw_fluffos_v1/lib/obj/jewellery/anklets/
dw_fluffos_v1/lib/obj/jewellery/bracelets/
dw_fluffos_v1/lib/obj/jewellery/earrings/
dw_fluffos_v1/lib/obj/jewellery/misc/
dw_fluffos_v1/lib/obj/jewellery/necklaces/
dw_fluffos_v1/lib/obj/jewellery/rings/
dw_fluffos_v1/lib/obj/media/
dw_fluffos_v1/lib/obj/misc/buckets/
dw_fluffos_v1/lib/obj/misc/jars/
dw_fluffos_v1/lib/obj/misc/papers/
dw_fluffos_v1/lib/obj/misc/player_shop/
dw_fluffos_v1/lib/obj/misc/shops/
dw_fluffos_v1/lib/obj/misc/traps/
dw_fluffos_v1/lib/obj/monster/
dw_fluffos_v1/lib/obj/monster/godmother/
dw_fluffos_v1/lib/obj/monster/transport/
dw_fluffos_v1/lib/obj/plants/inherit/
dw_fluffos_v1/lib/obj/potions/
dw_fluffos_v1/lib/open/boards/
dw_fluffos_v1/lib/save/autodoc/
dw_fluffos_v1/lib/save/bank_accounts/
dw_fluffos_v1/lib/save/boards/frog/
dw_fluffos_v1/lib/save/books/bed_catalog/
dw_fluffos_v1/lib/save/creators/
dw_fluffos_v1/lib/save/mail/
dw_fluffos_v1/lib/save/mail/p/
dw_fluffos_v1/lib/save/newsrc/b/
dw_fluffos_v1/lib/save/newsrc/c/
dw_fluffos_v1/lib/save/newsrc/d/
dw_fluffos_v1/lib/save/newsrc/f/
dw_fluffos_v1/lib/save/newsrc/p/
dw_fluffos_v1/lib/save/newsrc/s/
dw_fluffos_v1/lib/save/newsrc/w/
dw_fluffos_v1/lib/save/players/c/
dw_fluffos_v1/lib/save/players/d/
dw_fluffos_v1/lib/save/players/g/
dw_fluffos_v1/lib/save/players/p/
dw_fluffos_v1/lib/save/players/s/
dw_fluffos_v1/lib/save/soul/data/
dw_fluffos_v1/lib/save/tasks/
dw_fluffos_v1/lib/save/vaults/
dw_fluffos_v1/lib/secure/cmds/lord/
dw_fluffos_v1/lib/secure/config/
dw_fluffos_v1/lib/secure/items/
dw_fluffos_v1/lib/secure/player/
dw_fluffos_v1/lib/soul/
dw_fluffos_v1/lib/soul/i/
dw_fluffos_v1/lib/soul/j/
dw_fluffos_v1/lib/soul/k/
dw_fluffos_v1/lib/soul/o/
dw_fluffos_v1/lib/soul/q/
dw_fluffos_v1/lib/soul/to_approve/
dw_fluffos_v1/lib/soul/u/
dw_fluffos_v1/lib/soul/v/
dw_fluffos_v1/lib/soul/wish_list/
dw_fluffos_v1/lib/soul/y/
dw_fluffos_v1/lib/soul/z/
dw_fluffos_v1/lib/std/creator/
dw_fluffos_v1/lib/std/effects/
dw_fluffos_v1/lib/std/effects/attached/
dw_fluffos_v1/lib/std/effects/external/
dw_fluffos_v1/lib/std/effects/fighting/
dw_fluffos_v1/lib/std/effects/other/
dw_fluffos_v1/lib/std/environ/
dw_fluffos_v1/lib/std/guilds/
dw_fluffos_v1/lib/std/hospital/
dw_fluffos_v1/lib/std/house/
dw_fluffos_v1/lib/std/house/onebedhouse/
dw_fluffos_v1/lib/std/house/onebedhut/
dw_fluffos_v1/lib/std/house/tworoomflat/
dw_fluffos_v1/lib/std/languages/
dw_fluffos_v1/lib/std/liquids/
dw_fluffos_v1/lib/std/nationality/
dw_fluffos_v1/lib/std/nationality/accents/
dw_fluffos_v1/lib/std/nationality/accents/national/
dw_fluffos_v1/lib/std/nationality/accents/regional/
dw_fluffos_v1/lib/std/npc/goals/
dw_fluffos_v1/lib/std/npc/goals/basic/
dw_fluffos_v1/lib/std/npc/goals/misc/
dw_fluffos_v1/lib/std/npc/inherit/
dw_fluffos_v1/lib/std/npc/plans/
dw_fluffos_v1/lib/std/npc/plans/basic/
dw_fluffos_v1/lib/std/outsides/
dw_fluffos_v1/lib/std/races/shadows/
dw_fluffos_v1/lib/std/room/basic/topography/
dw_fluffos_v1/lib/std/room/controller/
dw_fluffos_v1/lib/std/room/controller/topography/
dw_fluffos_v1/lib/std/room/furniture/games/
dw_fluffos_v1/lib/std/room/furniture/inherit/
dw_fluffos_v1/lib/std/room/inherit/carriage/
dw_fluffos_v1/lib/std/room/inherit/topography/
dw_fluffos_v1/lib/std/room/punishments/
dw_fluffos_v1/lib/std/room/topography/area/
dw_fluffos_v1/lib/std/room/topography/iroom/
dw_fluffos_v1/lib/std/room/topography/milestone/
dw_fluffos_v1/lib/std/shadows/
dw_fluffos_v1/lib/std/shadows/attached/
dw_fluffos_v1/lib/std/shadows/curses/
dw_fluffos_v1/lib/std/shadows/disease/
dw_fluffos_v1/lib/std/shadows/fighting/
dw_fluffos_v1/lib/std/shadows/room/
dw_fluffos_v1/lib/std/shops/controllers/
dw_fluffos_v1/lib/std/shops/objs/
dw_fluffos_v1/lib/std/shops/player_shop/
dw_fluffos_v1/lib/std/shops/player_shop/office_code/
dw_fluffos_v1/lib/std/socket/
dw_fluffos_v1/lib/www/
dw_fluffos_v1/lib/www/external/autodoc/
dw_fluffos_v1/lib/www/external/java/telnet/Documentation/
dw_fluffos_v1/lib/www/external/java/telnet/Documentation/images/
dw_fluffos_v1/lib/www/external/java/telnet/examples/
dw_fluffos_v1/lib/www/external/java/telnet/tools/
dw_fluffos_v1/lib/www/pics/
dw_fluffos_v1/lib/www/secure/creator/
dw_fluffos_v1/lib/www/secure/editors/
dw_fluffos_v1/lib/www/secure/survey_results/
package mapmaker;

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;

public class RoomDialog extends StandardDialog
{
    ItemsPanel mItemsPanel;
    InheritPanel mInheritPanel = new InheritPanel();
    ChatsPanel mChatsPanel = new ChatsPanel();
    DescriptionPanel mDescriptionPanel = new DescriptionPanel();
    ExitTypeBean mExitPanel = new ExitTypeBean();
    JTabbedPane mMainTabbedPane = new JTabbedPane();

    JFrame mFrame;

    MapLocation mMapLocation;

    public RoomDialog(JFrame aFrame)
    {
        super(aFrame, "Room Properties");

        mItemsPanel = new ItemsPanel(mFrame);

        mFrame = aFrame;

        mMainTabbedPane.addTab("Inherit", Utils.getIcon("Inherit16.gif"),
            mInheritPanel);
        mMainTabbedPane.addTab("Description", Utils.getIcon("Description16.gif"),
            mDescriptionPanel);
        mMainTabbedPane.addTab("Items", Utils.getIcon("Items16.gif"),
            mItemsPanel);
        mMainTabbedPane.addTab("Chats", Utils.getIcon("Chat16.gif"),
            mChatsPanel);
        mMainTabbedPane.addTab("Exits", Utils.getIcon("Exits16.gif"),
            mExitPanel);

        setMainPanel(mMainTabbedPane);

        pack();
        setLocationRelativeTo(aFrame);
    }

    public void setMapLocation(MapLocation aMapLocation)
    {
        mMapLocation = aMapLocation;
    }

    public void updateMapLocation()
    {
        try
        {
            // Update descriptions...
            Descriptions descs = mDescriptionPanel.getDescriptions();
            mMapLocation.setProperty("size", descs.getSize());
            mMapLocation.setInherited("size", descs.isSizeInherited());
            mMapLocation.setProperty("light", descs.getLight());
            mMapLocation.setInherited("light", descs.isLightInherited());
            mMapLocation.setProperty("short", descs.getShort());
            mMapLocation.setInherited("short", descs.isShortInherited());
            mMapLocation.setProperty("determinate", descs.getDeterminate());
            mMapLocation.setInherited("determinate", descs.isDeterminateInherited());
            mMapLocation.setProperty("long", descs.getLong());
            mMapLocation.setInherited("long", descs.isLongInherited());
            mMapLocation.setProperty("dayLong", descs.getDayLong());
            mMapLocation.setInherited("dayLong", descs.isDayLongInherited());
            mMapLocation.setProperty("nightLong", descs.getNightLong());
            mMapLocation.setInherited("nightLong", descs.isNightLongInherited());

            // Update chat...
            mMapLocation.setProperty("chat", mChatsPanel.getChats());
            mMapLocation.setProperty("dayChat", mChatsPanel.getDayChats());
            mMapLocation.setProperty("nightChat", mChatsPanel.getNightChats());
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
        }

        // Update items.
        mMapLocation.setItems(mItemsPanel.getItems());
        mMapLocation.setDayItems(mItemsPanel.getDayItems());
        mMapLocation.setNightItems(mItemsPanel.getNightItems());

        // Update exits.
        Vector exits = mExitPanel.getExits();
        mMapLocation.setExits(exits);
    }

    public RoomProperties getInherit()
    {
        RoomProperties roomProperties = new RoomProperties();

        // Retrieve information from the inherit panel.
        String name = mInheritPanel.mNameField.getText();
        String autoName = mInheritPanel.mAutoNameField.getText();
        String filename = mInheritPanel.mFilenameField.getText();
        Color background = mInheritPanel.mBackgroundButton.getColor();
        Color foreground = mInheritPanel.mForegroundButton.getColor();

        roomProperties.setAutoName(autoName);
        roomProperties.setInheritFilename(filename);
        roomProperties.setBackgroundColor(background);
        roomProperties.setForegroundColor(foreground);

        // Retrieve information from the description panel.
        String light = mDescriptionPanel.mLightField.getText();
        String roomSize = mDescriptionPanel.mRoomSizeField.getText();
        String roomShort = mDescriptionPanel.mShortField.getText();
        String determinate = mDescriptionPanel.mDeterminateField.getText();
        String roomLong = mDescriptionPanel.mLongTextArea.getText();
        String dayLong = mDescriptionPanel.mDayLongTextArea.getText();
        String nightLong = mDescriptionPanel.mNightLongTextArea.getText();

        try
        {
            roomProperties.setProperty("name", name);
            roomProperties.setProperty("size", roomSize);
            roomProperties.setProperty("light", light);
            roomProperties.setProperty("short", roomShort);
            roomProperties.setProperty("determinate", determinate);
            roomProperties.setProperty("long", roomLong);
            roomProperties.setProperty("dayLong", dayLong);
            roomProperties.setProperty("nightLong", nightLong);
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
        }

        ItemTableModel model;
        Vector items;

        // Normal Items
        model = (ItemTableModel)mItemsPanel.mItemsTable.getModel();
        items = model.getItemList();
        roomProperties.setItems(items);

        // Day Items
        model = (ItemTableModel)mItemsPanel.mDayItemsTable.getModel();
        items = model.getItemList();
        roomProperties.setDayItems(items);

        // Night Items
        model = (ItemTableModel)mItemsPanel.mNightItemsTable.getModel();
        items = model.getItemList();
        roomProperties.setNightItems(items);

        return roomProperties;
    }

    public static RoomProperties showNewDialog(JFrame aFrame)
    {
        MapLocation location = new MapLocation(0, 0);

        RoomDialog roomDialog = new RoomDialog(aFrame);
        roomDialog.setMapLocation(location);

        roomDialog.mMainTabbedPane.setEnabledAt(0, true);
        roomDialog.mMainTabbedPane.setEnabledAt(4, false);
        roomDialog.mMainTabbedPane.setSelectedIndex(0);

        ItemTableModel itemModel = (ItemTableModel)roomDialog.mItemsPanel.mItemsTable.getModel();
        ItemTableModel dayItemModel = (ItemTableModel)roomDialog.mItemsPanel.mDayItemsTable.getModel();
        ItemTableModel nightItemModel = (ItemTableModel)roomDialog.mItemsPanel.mNightItemsTable.getModel();

        itemModel.setMapLocation(location);
        dayItemModel.setMapLocation(location);
        nightItemModel.setMapLocation(location);

        roomDialog.setVisible(true);

        if (roomDialog.isOkay())
        {
            return roomDialog.getInherit();
        }

        return null;
    }

    public static void populateInheritField(InheritComponent aInheritComponent,
        MapLocation aLocation, String aProperty)
        throws NoSuchRoomPropertyException
    {
        boolean inherited = aLocation.isPropertyInherited(aProperty);
        String value = (String)aLocation.getProperty(aProperty,
            RoomProperties.INHERIT_DO_CHECK);
        String inheritedValue = (String)aLocation.getProperty(aProperty,
            RoomProperties.INHERIT_FORCE);

        aInheritComponent.setValues(inheritedValue, value, inherited);
    }

    public static void showEditDialog(JFrame aFrame, MapLocation aLocation)
    {
        RoomDialog roomDialog = new RoomDialog(aFrame);
        roomDialog.setMapLocation(aLocation);

        try
        {
            ChatsPanel chatsPanel = roomDialog.mChatsPanel;

            Chat chats = (Chat)aLocation.getProperty("chat",
                RoomProperties.INHERIT_DO_CHECK);
            if (chats != null)
            {
                chatsPanel.mChatMaxField.setText(chats.getMaximum());
                chatsPanel.mChatMinField.setText(chats.getMinimum());
                chatsPanel.mChatsTable.setListItems(chats.getChats());
            }

            Chat dayChats = (Chat)aLocation.getProperty("dayChat",
                RoomProperties.INHERIT_DO_CHECK);
            if (dayChats != null)
            {
                chatsPanel.mDayChatMaxField.setText(dayChats.getMaximum());
                chatsPanel.mDayChatMinField.setText(dayChats.getMinimum());
                chatsPanel.mDayChatsTable.setListItems(dayChats.getChats());
            }

            Chat nightChats = (Chat)aLocation.getProperty("nightChat",
                RoomProperties.INHERIT_DO_CHECK);
            if (nightChats != null)
            {
                chatsPanel.mNightChatMaxField.setText(nightChats.getMaximum());
                chatsPanel.mNightChatMinField.setText(nightChats.getMinimum());
                chatsPanel.mNightChatsTable.setListItems(nightChats.getChats());
            }

            // Populate the items panel.
            Vector items = aLocation.getItems();
            Vector dayItems = aLocation.getDayItems();
            Vector nightItems = aLocation.getNightItems();
            ItemsPanel itemsPanel = roomDialog.mItemsPanel;

            ItemTableModel itemModel = (ItemTableModel)itemsPanel.mItemsTable.getModel();
            ItemTableModel dayItemModel = (ItemTableModel)itemsPanel.mDayItemsTable.getModel();
            ItemTableModel nightItemModel = (ItemTableModel)itemsPanel.mNightItemsTable.getModel();

            itemModel.setMapLocation(aLocation);
            dayItemModel.setMapLocation(aLocation);
            nightItemModel.setMapLocation(aLocation);

            if (items != null)
            {
                itemModel.setItemList(items);
            }
            else
            {
                itemModel.setItemList(new Vector());
            }

            if (dayItems != null)
            {
                dayItemModel.setItemList(dayItems);
            }
            else
            {
                dayItemModel.setItemList(new Vector());
            }

            if (nightItems != null)
            {
                nightItemModel.setItemList(nightItems);
            }
            else
            {
                nightItemModel.setItemList(new Vector());
            }

            // Populate the descriptions panel.
            DescriptionPanel descsPanel = roomDialog.mDescriptionPanel;

            populateInheritField(descsPanel.mLightField,
                aLocation, "light");
            populateInheritField(descsPanel.mRoomSizeField,
                aLocation, "size");
            populateInheritField(descsPanel.mShortField,
                aLocation, "short");
            populateInheritField(descsPanel.mLongTextArea,
                aLocation, "long");
            populateInheritField(descsPanel.mDayLongTextArea,
                aLocation, "dayLong");
            populateInheritField(descsPanel.mNightLongTextArea,
                aLocation, "nightLong");
            populateInheritField(descsPanel.mDeterminateField,
                aLocation, "determinate");
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
        }

        // Populate the exits panel.
        Vector exits = aLocation.getExits();
        ExitTypeBean exitPanel = roomDialog.mExitPanel;
        exitPanel.mModel.setExitList(exits);

        roomDialog.mMainTabbedPane.setEnabledAt(0, false);
        roomDialog.mMainTabbedPane.setEnabledAt(4, true);
        roomDialog.mMainTabbedPane.setSelectedIndex(1);

        roomDialog.setVisible(true);

        if (roomDialog.isOkay())
        {
            roomDialog.updateMapLocation();
        }
    }
}