public override void onDeactivated()
        {
            ShapeEdPropWindow     ShapeEdPropWindow     = "ShapeEdPropWindow";
            ShapeEdSelectWindow   ShapeEdSelectWindow   = "ShapeEdSelectWindow";
            ShapeEdAdvancedWindow ShapeEdAdvancedWindow = "ShapeEdAdvancedWindow";
            ShapeEdAnimWindow     ShapeEdAnimWindow     = "ShapeEdAnimWindow";
            ShapeEditorToolbar    ShapeEditorToolbar    = "ShapeEditorToolbar";

            ShapeEditor.ShapeEdPreviewGui ShapeEdPreviewGui = "ShapeEdPreviewGui";
            editor Editor = "Editor";

            ShapeEditor.ShapeEdMaterials ShapeEdMaterials = "ShapeEdMaterials";
            ShapeEditor ShapeEditor = "ShapeEditor";
            MaterialEditorPropertiesWindow MaterialEditorPropertiesWindow = "MaterialEditorPropertiesWindow";

            //Copyright Winterleaf Entertainment L.L.C. 2013
            if (!this["isActive"].AsBool())
            {
                return;
            }
            this["isActive"] = false.AsString();
            //Copyright Winterleaf Entertainment L.L.C. 2013
            this.writeSettings();

            // Notify game objects if shape has been modified
            if (ShapeEditor.isDirty())
            {
                ShapeEditor.shape.notifyShapeChanged();
            }

            bGlobal["$gfx::wireframe"] = bGlobal["$wasInWireFrameMode"];

            ShapeEdMaterials.updateSelectedMaterial(false);
            ShapeEditorToolbar.setVisible(false);

            ShapeEdPreviewGui.setVisible(false);
            ShapeEdSelectWindow.setVisible(false);
            ShapeEdPropWindow.setVisible(false);
            ShapeEdAnimWindow.setVisible(false);
            ShapeEdAdvancedWindow.setVisible(false);
            //Copyright Winterleaf Entertainment L.L.C. 2013
            if (MaterialEditorPropertiesWindow.visible)
            {
                ShapeEdMaterials.editSelectedMaterialEnd(true);
            }
            //Copyright Winterleaf Entertainment L.L.C. 2013
            this.map.pop();

            // Restore the original undo manager
            Editor.setUndoManager(this["oldUndoMgr"]);

            // Restore menu bar
            this.replaceMenuCmd("Camera", "8", this["oldCamFitCmd"]);
            this.replaceMenuCmd("Camera", "9", this["oldCamFitOrbitCmd"]);

            base.onDeactivated();
        }
예제 #2
0
        public static void initializeShapeEditor()
        {
            Omni.self.Print(" % - Initializing Shape Editor");

            ShapeEditorProfiles.initialize();
            ShapeEdPreviewWindow.initialize();
            ShapeEdAnimWindow.initialize();
            ShapeEdAdvancedWindow.initialize();
            ShapeEditorToolbar.initialize();
            ShapeEdSelectWindow.initialize();
            ShapeEdPropWindow.initialize();
            gui.CodeBehind.ShapeEditor.initialize();
            ShapeEditorHints.initialize();
            ShapeEditorActions.initialize();

            // Add windows to editor gui
            WinterLeaf.Demo.Full.Models.User.GameCode.Tools.ShapeEditor.gui.CodeBehind.ShapeEditor.ShapeEdPreviewGui
                ShapeEdPreviewGui = "ShapeEdPreviewGui";
            ShapeEdPreviewGui.setVisible(false);

            ShapeEdAnimWindow shapeEdAnimWindow = "ShapeEdAnimWindow";

            shapeEdAnimWindow.setVisible(false);

            ShapeEditorToolbar shapeEditorToolbar = "ShapeEditorToolbar";

            shapeEditorToolbar.setVisible(false);

            ShapeEdSelectWindow shapeEdSelectWindow = "ShapeEdSelectWindow";

            shapeEdSelectWindow.setVisible(false);
            ShapeEdPropWindow shapeEdPropWindow = "ShapeEdPropWindow";

            shapeEdPropWindow.setVisible(false);

            EditorGui EditorGui = "EditorGui";

            EditorGui.add("ShapeEdPreviewGui");
            EditorGui.add("ShapeEdAnimWindow");
            EditorGui.add("ShapeEdAdvancedWindow");

            EditorGui.add("ShapeEditorToolbar");
            EditorGui.add("ShapeEdSelectWindow");
            EditorGui.add("ShapeEdPropWindow");


            ObjectCreator oShapeEditorPlugin = new ObjectCreator("ScriptObject", "ShapeEditorPlugin",
                                                                 typeof(WinterLeaf.Demo.Full.Models.User.GameCode.Tools.ShapeEditor.gui.CodeBehind.ShapeEditorPlugin));

            oShapeEditorPlugin["editorGui"] = "ShapeEdShapeView";
            oShapeEditorPlugin.Create();

            ShapeEditorPlugin ShapeEditorPlugin = "ShapeEditorPlugin";

            ShapeEditorPlugin.initialize();
        }
예제 #3
0
        public void close(GuiControl gui)
        {
            EditorGui                      EditorGui                      = "EditorGui";
            GuiCanvas                      Canvas                         = "Canvas";
            GuiEditorGui                   GuiEditorGui                   = "GuiEditorGui";
            EWTreeWindow                   EWTreeWindow                   = "EWTreeWindow";
            TerrainPainter                 TerrainPainter                 = "TerrainPainter";
            GuiWindowCollapseCtrl          TerrainPainterPreview          = "TerrainPainterPreview";
            EWInspectorWindow              EWInspectorWindow              = "EWInspectorWindow";
            MaterialEditorPreviewWindow    MaterialEditorPreviewWindow    = "MaterialEditorPreviewWindow";
            MaterialEditorPropertiesWindow MaterialEditorPropertiesWindow = "MaterialEditorPropertiesWindow";
            DatablockEditorTreeWindow      DatablockEditorTreeWindow      = "DatablockEditorTreeWindow";
            DatablockEditorInspectorWindow DatablockEditorInspectorWindow = "DatablockEditorInspectorWindow";

            DecalEditorGui.DecalEditorWindow              DecalEditorWindow            = "DecalEditorWindow";
            DecalEditorGui.DecalPreviewWindow             DecalPreviewWindow           = "DecalPreviewWindow";
            ForestEditorGui.ForestEditorPalleteWindow     ForestEditorPalleteWindow    = "ForestEditorPalleteWindow";
            ForestEditorGui.ForestEditorPropertiesWindow  ForestEditorPropertiesWindow = "ForestEditorPropertiesWindow";
            MeshRoadEditorGui.MeshRoadEditorTreeWindow    MeshRoadEditorTreeWindow     = "MeshRoadEditorTreeWindow";
            MeshRoadEditorGui.MeshRoadEditorOptionsWindow MeshRoadEditorOptionsWindow  = "MeshRoadEditorOptionsWindow";
            GuiWindowCollapseCtrl MissionAreaEditorTerrainWindow    = "MissionAreaEditorTerrainWindow";
            GuiWindowCollapseCtrl MissionAreaEditorPropertiesWindow = "MissionAreaEditorPropertiesWindow";

            ParticleEditor.gui.ParticleEditor.PE_Window PE_Window                = "PE_Window";
            RiverEditorGui.RiverEditorTreeWindow        RiverEditorTreeWindow    = "RiverEditorTreeWindow";
            RiverEditorGui.RiverEditorOptionsWindow     RiverEditorOptionsWindow = "RiverEditorOptionsWindow";
            RoadEditorGui.RoadEditorTreeWindow          RoadEditorTreeWindow     = "RoadEditorTreeWindow";
            RoadEditorGui.RoadEditorOptionsWindow       RoadEditorOptionsWindow  = "RoadEditorOptionsWindow";
            ShapeEdAdvancedWindow ShapeEdAdvancedWindow = "ShapeEdAdvancedWindow";
            ShapeEdSelectWindow   ShapeEdSelectWindow   = "ShapeEdSelectWindow";
            ShapeEdPropWindow     ShapeEdPropWindow     = "ShapeEdPropWindow";
            MessageHud            MessageHud            = "MessageHud";

            EWTreeWindow["wasOpen"]                      = EWTreeWindow["isInPopup"];
            EWInspectorWindow["wasOpen"]                 = EWInspectorWindow["isInPopup"];
            TerrainPainter["wasOpen"]                    = TerrainPainter["isInPopup"];
            TerrainPainterPreview["wasOpen"]             = TerrainPainterPreview["isInPopup"];
            MaterialEditorPreviewWindow["wasOpen"]       = MaterialEditorPreviewWindow["isInPopup"];
            MaterialEditorPropertiesWindow["wasOpen"]    = MaterialEditorPropertiesWindow["isInPopup"];
            DatablockEditorTreeWindow["wasOpen"]         = DatablockEditorTreeWindow["isInPopup"];
            DatablockEditorInspectorWindow["wasOpen"]    = DatablockEditorInspectorWindow["isInPopup"];
            DecalEditorWindow["wasOpen"]                 = DecalEditorWindow["isInPopup"];
            DecalPreviewWindow["wasOpen"]                = DecalPreviewWindow["isInPopup"];
            ForestEditorPalleteWindow["wasOpen"]         = ForestEditorPalleteWindow["isInPopup"];
            ForestEditorPropertiesWindow["wasOpen"]      = ForestEditorPropertiesWindow["isInPopup"];
            MeshRoadEditorTreeWindow["wasOpen"]          = MeshRoadEditorTreeWindow["isInPopup"];
            MeshRoadEditorOptionsWindow["wasOpen"]       = MeshRoadEditorOptionsWindow["isInPopup"];
            MissionAreaEditorTerrainWindow["wasOpen"]    = MissionAreaEditorTerrainWindow["isInPopup"];
            MissionAreaEditorPropertiesWindow["wasOpen"] = MissionAreaEditorPropertiesWindow["isInPopup"];
            PE_Window["wasOpen"]                = PE_Window["isInPopup"];
            RiverEditorTreeWindow["wasOpen"]    = RiverEditorTreeWindow["isInPopup"];
            RiverEditorOptionsWindow["wasOpen"] = RiverEditorOptionsWindow["isInPopup"];
            RoadEditorTreeWindow["wasOpen"]     = RoadEditorTreeWindow["isInPopup"];
            RoadEditorOptionsWindow["wasOpen"]  = RoadEditorOptionsWindow["isInPopup"];
            ShapeEdAdvancedWindow["wasOpen"]    = ShapeEdAdvancedWindow["isInPopup"];
            ShapeEdSelectWindow["wasOpen"]      = ShapeEdSelectWindow["isInPopup"];
            ShapeEdPropWindow["wasOpen"]        = ShapeEdPropWindow["isInPopup"];

            EWTreeWindow.ClosePopOut();
            EWInspectorWindow.ClosePopOut();
            TerrainPainter.ClosePopOut();
            TerrainPainterPreview.ClosePopOut();
            MaterialEditorPreviewWindow.ClosePopOut();
            MaterialEditorPropertiesWindow.ClosePopOut();
            DatablockEditorTreeWindow.ClosePopOut();
            DatablockEditorInspectorWindow.ClosePopOut();
            DecalEditorWindow.ClosePopOut();
            DecalPreviewWindow.ClosePopOut();
            ForestEditorPalleteWindow.ClosePopOut();
            ForestEditorPropertiesWindow.ClosePopOut();
            MeshRoadEditorTreeWindow.ClosePopOut();
            MeshRoadEditorOptionsWindow.ClosePopOut();
            MissionAreaEditorTerrainWindow.ClosePopOut();
            MissionAreaEditorPropertiesWindow.ClosePopOut();
            PE_Window.ClosePopOut();
            RiverEditorTreeWindow.ClosePopOut();
            RiverEditorOptionsWindow.ClosePopOut();
            RoadEditorTreeWindow.ClosePopOut();
            RoadEditorOptionsWindow.ClosePopOut();
            ShapeEdAdvancedWindow.ClosePopOut();
            ShapeEdSelectWindow.ClosePopOut();
            ShapeEdPropWindow.ClosePopOut();

            this.editorDisabled();
            Canvas.setContent(gui);
            if (MessageHud.isObject())
            {
                MessageHud.close();
            }
            EditorGui.writeCameraSettings();

            Util._schedule("1000", "0", "checkCursor");
            checkCursor();
        }
예제 #4
0
        public void open()
        {
            EditorGui                      EditorGui                      = "EditorGui";
            GuiCanvas                      Canvas                         = "Canvas";
            GuiEditorGui                   GuiEditorGui                   = "GuiEditorGui";
            EWTreeWindow                   EWTreeWindow                   = "EWTreeWindow";
            TerrainPainter                 TerrainPainter                 = "TerrainPainter";
            GuiWindowCollapseCtrl          TerrainPainterPreview          = "TerrainPainterPreview";
            EWInspectorWindow              EWInspectorWindow              = "EWInspectorWindow";
            MaterialEditorPreviewWindow    MaterialEditorPreviewWindow    = "MaterialEditorPreviewWindow";
            MaterialEditorPropertiesWindow MaterialEditorPropertiesWindow = "MaterialEditorPropertiesWindow";
            DatablockEditorTreeWindow      DatablockEditorTreeWindow      = "DatablockEditorTreeWindow";
            DatablockEditorInspectorWindow DatablockEditorInspectorWindow = "DatablockEditorInspectorWindow";

            DecalEditorGui.DecalEditorWindow              DecalEditorWindow            = "DecalEditorWindow";
            DecalEditorGui.DecalPreviewWindow             DecalPreviewWindow           = "DecalPreviewWindow";
            ForestEditorGui.ForestEditorPalleteWindow     ForestEditorPalleteWindow    = "ForestEditorPalleteWindow";
            ForestEditorGui.ForestEditorPropertiesWindow  ForestEditorPropertiesWindow = "ForestEditorPropertiesWindow";
            MeshRoadEditorGui.MeshRoadEditorTreeWindow    MeshRoadEditorTreeWindow     = "MeshRoadEditorTreeWindow";
            MeshRoadEditorGui.MeshRoadEditorOptionsWindow MeshRoadEditorOptionsWindow  = "MeshRoadEditorOptionsWindow";
            GuiWindowCollapseCtrl MissionAreaEditorTerrainWindow    = "MissionAreaEditorTerrainWindow";
            GuiWindowCollapseCtrl MissionAreaEditorPropertiesWindow = "MissionAreaEditorPropertiesWindow";

            ParticleEditor.gui.ParticleEditor.PE_Window PE_Window                = "PE_Window";
            RiverEditorGui.RiverEditorTreeWindow        RiverEditorTreeWindow    = "RiverEditorTreeWindow";
            RiverEditorGui.RiverEditorOptionsWindow     RiverEditorOptionsWindow = "RiverEditorOptionsWindow";
            RoadEditorGui.RoadEditorTreeWindow          RoadEditorTreeWindow     = "RoadEditorTreeWindow";
            RoadEditorGui.RoadEditorOptionsWindow       RoadEditorOptionsWindow  = "RoadEditorOptionsWindow";
            ShapeEdAdvancedWindow ShapeEdAdvancedWindow = "ShapeEdAdvancedWindow";
            ShapeEdSelectWindow   ShapeEdSelectWindow   = "ShapeEdSelectWindow";
            ShapeEdPropWindow     ShapeEdPropWindow     = "ShapeEdPropWindow";

            // prevent the mission editor from opening while the GuiEditor is open.
            if (Canvas.getContent() == GuiEditorGui.getId())
            {
                return;
            }

            if (!EditorGui.isInitialized)
            {
                EditorGui.init();
            }

            this.editorEnabled();
            Canvas.setContent(EditorGui);
            EditorGui.syncCameraGui();

            if (EWTreeWindow["wasOpen"].AsBool())
            {
                EWTreeWindow.OpenPopOut();
            }

            if (EWInspectorWindow["wasOpen"].AsBool())
            {
                EWInspectorWindow.OpenPopOut();
            }

            if (TerrainPainter["wasOpen"].AsBool())
            {
                TerrainPainter.OpenPopOut();
            }

            if (TerrainPainterPreview["wasOpen"].AsBool())
            {
                TerrainPainterPreview.OpenPopOut();
            }

            if (MaterialEditorPreviewWindow["wasOpen"].AsBool())
            {
                MaterialEditorPreviewWindow.OpenPopOut();
            }

            if (MaterialEditorPropertiesWindow["wasOpen"].AsBool())
            {
                MaterialEditorPropertiesWindow.OpenPopOut();
            }

            if (DatablockEditorTreeWindow["wasOpen"].AsBool())
            {
                DatablockEditorTreeWindow.OpenPopOut();
            }

            if (DatablockEditorInspectorWindow["wasOpen"].AsBool())
            {
                DatablockEditorInspectorWindow.OpenPopOut();
            }

            if (DecalEditorWindow["wasOpen"].AsBool())
            {
                DecalEditorWindow.OpenPopOut();
            }

            if (DecalPreviewWindow["wasOpen"].AsBool())
            {
                DecalPreviewWindow.OpenPopOut();
            }

            if (ForestEditorPalleteWindow["wasOpen"].AsBool())
            {
                ForestEditorPalleteWindow.OpenPopOut();
            }

            if (ForestEditorPropertiesWindow["wasOpen"].AsBool())
            {
                ForestEditorPropertiesWindow.OpenPopOut();
            }

            if (MeshRoadEditorTreeWindow["wasOpen"].AsBool())
            {
                MeshRoadEditorTreeWindow.OpenPopOut();
            }

            if (MeshRoadEditorOptionsWindow["wasOpen"].AsBool())
            {
                MeshRoadEditorOptionsWindow.OpenPopOut();
            }

            if (MissionAreaEditorTerrainWindow["wasOpen"].AsBool())
            {
                MissionAreaEditorTerrainWindow.OpenPopOut();
            }

            if (MissionAreaEditorPropertiesWindow["wasOpen"].AsBool())
            {
                MissionAreaEditorPropertiesWindow.OpenPopOut();
            }

            if (PE_Window["wasOpen"].AsBool())
            {
                PE_Window.OpenPopOut();
            }

            if (RiverEditorTreeWindow["wasOpen"].AsBool())
            {
                RiverEditorTreeWindow.OpenPopOut();
            }

            if (RiverEditorOptionsWindow["wasOpen"].AsBool())
            {
                RiverEditorOptionsWindow.OpenPopOut();
            }

            if (RoadEditorTreeWindow["wasOpen"].AsBool())
            {
                RoadEditorTreeWindow.OpenPopOut();
            }

            if (RoadEditorOptionsWindow["wasOpen"].AsBool())
            {
                RoadEditorOptionsWindow.OpenPopOut();
            }

            if (ShapeEdAdvancedWindow["wasOpen"].AsBool())
            {
                ShapeEdAdvancedWindow.OpenPopOut();
            }

            if (ShapeEdSelectWindow["wasOpen"].AsBool())
            {
                ShapeEdSelectWindow.OpenPopOut();
            }

            if (ShapeEdPropWindow["wasOpen"].AsBool())
            {
                ShapeEdPropWindow.OpenPopOut();
            }
        }
        public override void onWorldEditorStartup()
        {
            EditorGui EditorGui = "EditorGui";

            // Add ourselves to the window menu.
            string accel = EditorGui.addToEditorsMenu("Shape Editor", "", this);

            // Add ourselves to the ToolsToolbar
            string tooltip = "Shape Editor (" + accel + ")";

            EditorGui.addToToolsToolbar("ShapeEditorPlugin", "ShapeEditorPalette",
                                        Util._expandFilename("tools/worldEditor/images/toolbar/shape-editor"), tooltip);

            // Add ourselves to the Editor Settings window
            //exec( "./gui/ShapeEditorSettingsTab.gui" );
            //console.Call("ShapeEditorSettingsTab_initialize");
            ShapeEditorSettingsTab.initialize();


            ESettingsWindow ESettingsWindow = "ESettingsWindow";

            ESettingsWindow.addTabPage("EShapeEditorSettingsPage");

            ShapeEdPropWindow ShapeEdPropWindow = "ShapeEdPropWindow";

            ShapeEdPropWindow.attachTo("ShapeEdSelectWindow");
            ShapeEdAnimWindow ShapeEdAnimWindow = "ShapeEdAnimWindow";

            ShapeEdAnimWindow.resize(-1, 526, 593, 53);

            // Initialise gui
            ShapeEditor.ShapeEdSeqNodeTabBook ShapeEdSeqNodeTabBook = "ShapeEdSeqNodeTabBook";
            ShapeEdSeqNodeTabBook.selectPage(0);
            ShapeEdAdvancedWindow ShapeEdAdvancedWindow        = "ShapeEdAdvancedWindow";
            GuiTabBookCtrl        ShapeEdAdvancedWindowtabBook = ShapeEdAdvancedWindow.FOT("tabBook");

            ShapeEdAdvancedWindowtabBook.selectPage(0);

            ShapeEdSelectWindow ShapeEdSelectWindow        = "ShapeEdSelectWindow";
            GuiTabBookCtrl      ShapeEdSelectWindowtabBook = ShapeEdSelectWindow.FOT("tabBook");

            ShapeEdSelectWindowtabBook.selectPage(0);
            ShapeEdSelectWindow.navigate("");

            ShapeEditorToolbar  ShapeEditorToolbar = "ShapeEditorToolbar";
            GuiBitmapButtonCtrl orbitNodeBtn       = ShapeEditorToolbar.FOT("orbitNodeBtn");

            SetToggleButtonValue(orbitNodeBtn, "0");
            GuiBitmapButtonCtrl ghostMode = ShapeEditorToolbar.FOT("ghostMode");

            SetToggleButtonValue(ghostMode, "0");

            // Initialise hints menu
            SimGroup ShapeHintGroup = "ShapeHintGroup";

            ShapeEditor.ShapeEdHintMenu ShapeEdHintMenu = "ShapeEdHintMenu";
            ShapeEdHintMenu.clear();
            int count = ShapeHintGroup.getCount();

            for (uint i = 0; i < count; i++)
            {
                SimObject hint = ShapeHintGroup.getObject(i);
                ShapeEdHintMenu.add(hint["objectType"], hint);
            }
        }
        public void open(string filename)
        {
            EditorGui             EditorGui             = "EditorGui";
            ShapeEdPropWindow     ShapeEdPropWindow     = "ShapeEdPropWindow";
            ShapeEdSelectWindow   ShapeEdSelectWindow   = "ShapeEdSelectWindow";
            ShapeEdAdvancedWindow ShapeEdAdvancedWindow = "ShapeEdAdvancedWindow";
            ShapeEdAnimWindow     ShapeEdAnimWindow     = "ShapeEdAnimWindow";
            ShapeEditorToolbar    ShapeEditorToolbar    = "ShapeEditorToolbar";

            ShapeEditor.ShapeEdShapeView ShapeEdShapeView = "ShapeEdShapeView";
            ShapeEditor.ShapeEdNodes     ShapeEdNodes     = "ShapeEdNodes";
            Settings     EditorSettings     = "EditorSettings";
            EWorldEditor EWorldEditor       = "EWorldEditor";
            GizmoProfile GlobalGizmoProfile = "GlobalGizmoProfile";

            ShapeEditor.ShapeEdShapeTreeView      ShapeEdShapeTreeView = "ShapeEdShapeTreeView";
            ShapeEditor.ShapeEdPreviewGui         ShapeEdPreviewGui    = "ShapeEdPreviewGui";
            ShapeEditorActions.ShapeEdUndoManager ShapeEdUndoManager   = "ShapeEdUndoManager";
            SimGroup MissionGroup = "MissionGroup";
            GuiDynamicCtrlArrayControl ToolsPaletteArray = "ToolsPaletteArray";
            editor Editor = "Editor";

            ShapeEditor.ShapeEdMaterials ShapeEdMaterials = "ShapeEdMaterials";
            ShapeEditor ShapeEditor = "ShapeEditor";

            GuiBitmapButtonCtrl wireframeMode     = ShapeEditorToolbar.FOT("wireframeMode");
            GuiBitmapButtonCtrl showAdvanced      = ShapeEditorToolbar.FOT("showAdvanced");
            GuiIconButtonCtrl   worldTransform    = ShapeEdNodes.FOT("worldTransform");
            GuiIconButtonCtrl   objectTransform   = ShapeEdNodes.FOT("objectTransform");
            GuiCheckBoxCtrl     highlightMaterial = ShapeEdMaterials.FOT("highlightMaterial");
            GuiCanvas           Canvas            = "Canvas";

            if (!this["isActivated"].AsBool())
            {
                // Activate the Shape Editor
                EditorGui.setEditor(this, false);

                // Get editor settings (note the sun angle is not configured in the settings
                // dialog, so apply the settings here instead of in readSettings)
                this.readSettings();
                ShapeEdShapeView["sunAngleX"] = EditorSettings.value("ShapeEditor/SunAngleX");
                ShapeEdShapeView["sunAngleZ"] = EditorSettings.value("ShapeEditor/SunAngleZ");
                EWorldEditor["forceLoadDAE"]  = EditorSettings.value("forceLoadDAE");

                bGlobal["$wasInWireFrameMode"] = bGlobal["$gfx::wireframe"];
                wireframeMode.setStateOn(bGlobal["$gfx::wireframe"]);

                if (GlobalGizmoProfile.getFieldValue("alignment", -1) == "Object")
                {
                    objectTransform.setStateOn(true);
                }
                else
                {
                    worldTransform.setStateOn(true);
                }

                // Initialise and show the shape editor
                ShapeEdShapeTreeView.open(MissionGroup);
                ShapeEdShapeTreeView.buildVisibleTree(true);

                ShapeEdPreviewGui.setVisible(true);
                ShapeEdSelectWindow.setVisible(true);
                ShapeEdPropWindow.setVisible(true);
                ShapeEdAnimWindow.setVisible(true);
                ShapeEdAdvancedWindow.setVisible(showAdvanced.getValue().AsBool());
                ShapeEditorToolbar.setVisible(true);
                EditorGui.bringToFront(ShapeEdPreviewGui);

                ((GuiBitmapButtonCtrl)ToolsPaletteArray.FOT("WorldEditorMove")).performClick();
                this.map.push();

                // Switch to the ShapeEditor UndoManager
                this["oldUndoMgr"] = Editor.getUndoManager();
                Editor.setUndoManager(ShapeEdUndoManager);

                ShapeEdShapeView.setDisplayType(EditorGui["currentDisplayType"].AsInt());
                this.initStatusBar();

                // Customise menu bar
                this["oldCamFitCmd"]      = this.replaceMenuCmd("Camera", "8", "ShapeEdShapeView.fitToShape();");
                this["oldCamFitOrbitCmd"] = this.replaceMenuCmd("Camera", "9", "ShapeEdShapeView.fitToShape();");

                base.onActivated();
            }

            // Select the new shape
            if (ShapeEditor.shape.isObject() && (ShapeEditor.shape["baseShape"] == filename))
            {
                // Shape is already selected => re-highlight the selected material if necessary
                ShapeEdMaterials.updateSelectedMaterial(highlightMaterial.getValue().AsBool());
            }
            else if (filename != "")
            {
                ShapeEditor.selectShape(filename, ShapeEditor.isDirty());

                // 'fitToShape' only works after the GUI has been rendered, so force a repaint first
                Canvas.repaint(0);
                ShapeEdShapeView.fitToShape();
            }
        }