public override void onURL(string url)
            {
                // Remove 'gamelink:' from front
                string gui = Util.getSubStr(url, 9, 1024);

                GuiEditorGui.GuiEditContent(gui);
            }
Beispiel #2
0
        public override void onRemove()
        {
            GuiEditorGui GuiEditorGui = "GuiEditorGui";

            if (GuiEditorGui.menuGroup.isObject())
            {
                GuiEditorGui.delete();
            }

            // cleanup
            this.onDestroyMenu();
        }
Beispiel #3
0
 public static void initializeGuiEditor()
 {
     GuiEditorGui.initialize();
     GuiEditorNewGuiDialog.initialize();
     GuiEditorPrefsDlg.initialize();
     GuiEditorSelectDlg.initialize();
     EditorChooseGUI.initialize();
     GuiEditorProfiles.initialize();
     GuiEditorContentList.initialize();
     GuiEditorFileDialog.GuiBuilder.initialize();
     ProfilePane.initialize();
 }
Beispiel #4
0
        public static void GE_OpenGUIFile()
        {
            GuiCanvas Canvas = "Canvas";

            string openFileName = omni.console.Call_Classname("GuiBuilder", "getOpenName");

            if (openFileName == "")
            {
                return;
            }

            // Make sure the file is valid.
            if ((!omni.Util.isFile(openFileName)) && (!omni.Util.isFile(openFileName + ".dso")))
            {
                return;
            }

            // Allow stomping objects while exec'ing the GUI file as we want to
            // pull the file's objects even if we have another version of the GUI
            // already loaded.

            string oldRedefineBehavior = omni.sGlobal["$Con::redefineBehavior"];

            omni.sGlobal["$Con::redefineBehavior"] = "replaceExisting";

            // Load up the level.
            SimObject guiContent = omni.Util.eval(openFileName);

            omni.sGlobal["$Con::redefineBehavior"] = oldRedefineBehavior;

            // The level file should have contained a scenegraph, which should now be in the instant
            // group. And, it should be the only thing in the group.
            //TODO
            if (!guiContent.isObject())
            {
                omni.Util.messageBox(omni.console.Call("getEngineName"),
                                     "You have loaded a Gui file that was created before this version.  It has been loaded but you must open it manually from the content list dropdown",
                                     "Ok", "Information");
                GuiEditorGui.GuiEditContent(Canvas.getContent().AsString());
                return;
            }

            GuiEditorGui.GuiEditContent(guiContent);
        }
Beispiel #5
0
        public void onOK()
        {
            GuiTextEditCtrl  nameField     = this.FOT("nameField");
            GuiPopUpMenuCtrl classDropdown = this.FOT("classDropdown");
            editor           Editor        = "Editor";

            string name      = nameField.getValue();
            string className = classDropdown.getText();

            // Make sure we don't clash with an existing object.
            // If there's an existing GUIControl with the name, ask to replace.
            // If there's an existing non-GUIControl with the name, or the name is invalid, refuse to create.

            if (name.isObject() && ((SimObject)name).isMemberOfClass("GuiControl"))
            {
                if (
                    Util.messageBox("Warning", "Replace the existing control '" + name + "'?", "OkCancel", "Question") ==
                    iGlobal["$MROk"])
                {
                    name.delete();
                }
                else
                {
                    return;
                }
            }

            if (Editor.validateObjectName(name, false))
            {
                ((GuiCanvas)this.getRoot()).popDialog(this);
                SimObject obj = Util.eval("return new " + className + "(" + name + ");");

                // Make sure we have no association with a filename.
                obj.setFilename("");

                GuiEditorGui.GuiEditContent(obj);
            }
        }
Beispiel #6
0
        public void quit()
        {
            GuiEditorGui GuiEditorGui = "GuiEditorGui";

            GuiEditorGui.GuiEditor GuiEditor = "GuiEditor";
            SimSet     GuiGroup = "GuiGroup";
            GuiCanvas  Canvas   = "Canvas";
            PostEffect MLAAFx   = "MLAAFx";

            this.close();
            GuiGroup.add(GuiEditorGui);
            // we must not delete a window while in its event handler, or we foul the event dispatch mechanism
            this.schedule("10", "delete");

            Canvas.setContent(GuiEditor["lastContent"]);
            bGlobal["$InGuiEditor"] = false;

            //Temp fix to disable MLAA when in GUI editor
            if (MLAAFx.isObject() && bGlobal["$MLAAFxGuiEditorTemp"])
            {
                MLAAFx.isEnabled = true;
                bGlobal["$MLAAFxGuiEditorTemp"] = false;
            }
        }
Beispiel #7
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();
        }
Beispiel #8
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();
            }
        }
Beispiel #9
0
        public static void toggleEditor(bool make)
        {
            if (((GuiCanvas)"Canvas").isFullscreen())
            {
                messageBox.MessageBoxOK("Windowed Mode Required", "Please switch to windowed mode to access the Mission Editor.");
                return;
            }
            editor editor = "editor";

            if (make)
            {
                string timerID = omni.console.Call("startPrecisionTimer");
                if (omni.bGlobal["$InGuiEditor"])
                {
                    //omni.console.Call("GuiEdit");
                    GuiEditorGui.GuiEdit("");
                }

                if (!omni.bGlobal["$missionRunning"])
                {
                    // Flag saying, when level is chosen, launch it with the editor open.
                    ((GuiControl)"ChooseLevelDlg")["launchInEditor"] = true.AsString();
                    //((GuiCanvas) "canvas").pushDialog("ChooseLevelDlg");
                    MenuHandlers.EditorNewLevel("");
                }
                else
                {
                    omni.Util.pushInstantGroup();
                    if (!"Editor".isObject())
                    {
                        create();

                        ((SimGroup)"MissionCleanup").add(editor);
                        ((SimGroup)"MissionCleanup").add(editor.getUndoManager());
                    }

                    if (Extendable.GuiCanvas.EditorIsActive())
                    {
                        if (((LevelInfo)"theLevelInfo")["Type"] == "DemoScene")
                        {
                            omni.console.commandToServer("dropPlayerAtCamera");
                            editor.close("SceneGui");
                        }
                        else
                        {
                            editor.close("PlayGui");
                        }
                    }
                    else
                    {
                        if (!omni.bGlobal["$GuiEditorBtnPressed"])
                        {
                            ((GuiCanvas)"Canvas").pushDialog("EditorLoadingGui");
                            ((GuiCanvas)"Canvas").repaint(0);
                        }
                        else
                        {
                            omni.bGlobal["$GuiEditorBtnPressed"] = false;
                        }

                        editor.open();

                        // Cancel the scheduled event to prevent
                        // the level from cycling after it's duration
                        // has elapsed.

                        omni.Util.cancel(omni.iGlobal["$Game::Schedule"]);

                        if (((LevelInfo)"theLevelInfo")["type"] == "DemoScene")
                        {
                            omni.console.commandToServer("dropCameraAtPlayer", new string[] { "true" });
                        }

                        ((GuiCanvas)"Canvas").popDialog("EditorLoadingGui");
                    }

                    omni.Util.popInstantGroup();
                }

                string elapsed = omni.console.Call("stopPrecisionTimer", new string[] { timerID });

                omni.Util._warn("Time spent in toggleEditor() : " + (elapsed.AsFloat() / 1000.0) + " s");
            }
        }