Ejemplo n.º 1
0
            public void loadNewEmitter(string emitter)
            {
                ParticleEditor      ParticleEditor      = "ParticleEditor";
                GuiPopUpMenuCtrl    PEE_EmitterSelector = "PEE_EmitterSelector";
                ParticleEmitterData PE_EmitterEditor_NotDirtyEmitter = "PE_EmitterEditor_NotDirtyEmitter";

                ParticleParticleEditor.PE_ParticleEditor PE_ParticleEditor = "PE_ParticleEditor";

                GuiCheckBoxCtrl PEE_infiniteLoop = this.FOT("PEE_infiniteLoop");

                SimObject current;

                if (emitter.isObject())
                {
                    current = emitter.getID();
                }
                else
                {
                    current = PEE_EmitterSelector.getSelected();
                }

                this.currEmitter = current;
                PE_EmitterEditor_NotDirtyEmitter.assignFieldsFrom(current);
                PE_EmitterEditor_NotDirtyEmitter["originalName"] = current["name"];

                this.guiSync();
                this.setEmitterNotDirty();

                PE_ParticleEditor.loadNewParticle(Util.getWord(current["particles"], 0));

                ParticleEditor.updateEmitterNode();

                PEE_infiniteLoop.setStateOn(current["lifetimeMS"].AsInt() == 0);
            }
Ejemplo n.º 2
0
        public virtual void initGroupList()
        {
            GuiPopUpMenuCtrl groupList = findObjectByInternalName("groupList", true);

            int selected = 0;

            if (groupList.size() > 0)
            {
                selected = groupList.getSelected();
            }

            groupList.clear();

            SimGroup root = getRootGroup();

            if (!root.isObject())
            {
                return;
            }
            // Add all non-empty groups.
            scanGroup(root, groupList, 0);

            // Select initial group.
            if (selected != 0 && selected.AsString().isObject())
            {
                groupList.setSelected(selected);
            }
            else
            {
                groupList.setSelected(root.getId());
            }
        }
Ejemplo n.º 3
0
            public void onNewEmitter()
            {
                GuiPopUpMenuCtrl PEE_EmitterSelector = "PEE_EmitterSelector";

                ParticleParticleEditor.PE_ParticleEditor PE_ParticleEditor = "PE_ParticleEditor";

                if (this.currEmitter.isObject() && this.currEmitter == PEE_EmitterSelector.getSelected())
                {
                    return;
                }

                //FIXME: disregards particle tab dirty state

                if (this.dirty)
                {
                    if (PE_ParticleEditor.dirty)
                    {
                        messageBox.MessageBoxYesNo("Save Existing Particle?", "Do you want to save changes to <br><br>" + PE_ParticleEditor.currParticle.getName(), "PE_ParticleEditor.saveParticle(" + PE_ParticleEditor.currParticle + ");");
                    }

                    SimObject savedEmitter = this.currEmitter;
                    messageBox.MessageBoxYesNoCancel("Save Existing Emitter?", "Do you want to save changes to <br><br>" + savedEmitter.getName(), "PE_EmitterEditor.saveEmitter(" + savedEmitter + "); PE_EmitterEditor.loadNewEmitter();", "PE_EmitterEditor.saveEmitterDialogDontSave(" + savedEmitter + "); PE_EmitterEditor.loadNewEmitter();");
                }
                else
                {
                    this.loadNewEmitter("");
                }
            }
            public void onNewParticle()
            {
                GuiPopUpMenuCtrl PEP_ParticleSelector = "PEP_ParticleSelector";

                // Bail if the user selected the same particle.

                SimObject id = PEP_ParticleSelector.getSelected();

                if (id == this.currParticle)
                {
                    return;
                }

                // Load new particle if we're not in a dirty state
                if (this.dirty)
                {
                    messageBox.MessageBoxYesNoCancel("Save Existing Particle?",
                                                     "Do you want to save changes to <br><br>" + this.currParticle.getName(),
                                                     "PE_ParticleEditor.saveParticle(" + this.currParticle + ");",
                                                     "PE_ParticleEditor.saveParticleDialogDontSave(" + this.currParticle +
                                                     "); PE_ParticleEditor.loadNewParticle();"
                                                     );
                }
                else
                {
                    this.loadNewParticle("");
                }
            }
Ejemplo n.º 5
0
        public static void IOCallback(GuiControl dlg, string callback)
        {
            GuiPopUpMenuCtrl IODropdownMenu = "IODropdownMenu";
            int    id   = IODropdownMenu.getSelected();
            string text = IODropdownMenu.getTextById(id);

            callback = callback.Replace("#", text);
            omni.console.Eval(callback);
            ((GuiCanvas)"Canvas").popDialog(dlg);
        }
 public virtual void updateFromChild(GuiControl ctrl)
 {
     if (ctrl.internalName == "PopupMenu")
     {
         ((GuiControl)this.FOF("TextEdit")).call("setText", ctrl.call("getText"));
     }
     else if (ctrl.internalName == "textEdit")
     {
         GuiPopUpMenuCtrl popup = this.FOF("PopupMenu");
         popup.changeTextById(popup.getSelected(), ctrl.call("getText"));
         onRenameItem();
     }
 }
Ejemplo n.º 7
0
        public virtual void onSelectObjects(bool val, bool reuseExistingSet = false)
        {
            SimGroup root;
            // Get the root group to search in.
            GuiPopUpMenuCtrl groupList = findObjectByInternalName("groupList", true);

            if (groupList.isObject())
            {
                root = getRootGroup();
            }
            else
            {
                root = groupList.getSelected();
            }

            if (!root.isObject())
            {
                return;
            }
            // Fetch the object name pattern.
            string namePatternField = findObjectByInternalName("namePattern", true);

            if (namePatternField.isObject())
            {
                this["namePattern"] = ((GuiTextEditCtrl)namePatternField).getText();
            }
            else
            {
                this["namePattern"] = "";
            }

            // Clear current selection first, if need be.
            if (val)
            {
                string retainSelectionBox = findObjectByInternalName("retainSelection", true);
                if (retainSelectionBox.isObject() && !((GuiCheckBoxCtrl)retainSelectionBox).isStateOn())
                {
                    clearSelection();
                }
            }

            // (De)Select all matching objects in it.
            selectObjectsIn(root, val, true);
        }
            public override void onCtrlClick()
            {
                PE_ParticleEditor PE_ParticleEditor    = "PE_ParticleEditor";
                GuiPopUpMenuCtrl  PEP_ParticleSelector = "PEP_ParticleSelector";

                int replaceSlot = 0;

                for (int i = 1; i < 5; i++)
                {
                    GuiPopUpMenuCtrl popup = "PEE_EmitterParticleSelector" + i;
                    if (popup.getSelected() == PEP_ParticleSelector.getSelected())
                    {
                        replaceSlot = i;
                        break;
                    }
                }

                PE_ParticleEditor.showNewDialog(replaceSlot.AsString());
            }
Ejemplo n.º 9
0
        public void onEaseTypeSet()
        {
            GuiPopUpMenuCtrl      typeList    = this.FOT("typeList");
            GuiTextEditSliderCtrl param1Value = this.FOT("param1Value");
            GuiTextEditSliderCtrl param2Value = this.FOT("param2Value");

            int selected = typeList.getSelected();

            if (selected == iGlobal["$Ease::Elastic"])
            {
                param1Value.setActive(true);
                param2Value.setActive(true);
            }
            else if (selected == iGlobal["Ease::Back"])
            {
                param1Value.setActive(true);
                param2Value.setActive(false);
            }
            else
            {
                param1Value.setActive(false);
                param2Value.setActive(false);
            }
        }
            public void loadNewParticle(SimObject particle)
            {
                GuiPopUpMenuCtrl PEP_ParticleSelector = "PEP_ParticleSelector";
                ParticleData     PE_ParticleEditor_NotDirtyParticle = "PE_ParticleEditor_NotDirtyParticle";

                if (particle.isObject())
                {
                    particle = particle.getId().AsString();
                }
                else
                {
                    particle = PEP_ParticleSelector.getSelected().AsString();
                }

                this.currParticle = particle;

                particle.call("reload");

                PE_ParticleEditor_NotDirtyParticle.assignFieldsFrom(particle);
                PE_ParticleEditor_NotDirtyParticle["originalName"] = particle.getName();

                this.guiSync();
                this.setParticleNotDirty();
            }
        public void create()
        {
            /*
             * %terrainName = %this-->theName.getText();
             * %resolution = %this-->theRezList.getSelected();
             * %materialName = %this-->theMaterialList.getText();
             * %genNoise = %this-->noiseRadio.getValue();
             *
             * %obj = TerrainBlock::createNew( %terrainName, %resolution, %materialName, %genNoise );
             *
             * if( %genNoise )
             *    ETerrainEditor.isDirty = true;
             *
             * if( isObject( %obj ) )
             * {
             *    // Submit an undo action.
             *    MECreateUndoAction::submit(%obj);
             *
             *    assert( isObject( EWorldEditor ),
             *       "ObjectBuilderGui::processNewObject - EWorldEditor is missing!" );
             *
             *    // Select it in the editor.
             *    EWorldEditor.clearSelection();
             *    EWorldEditor.selectObject(%obj);
             *
             *    // When we drop the selection don't store undo
             *    // state for it... the creation deals with it.
             *    EWorldEditor.dropSelection( true );
             * }
             *
             * Canvas.popDialog( %this );
             */

            string           terrainName  = ((GuiTextEditCtrl)this.findObjectByInternalName("theName", true)).getText();
            GuiPopUpMenuCtrl rezList      = this.findObjectByInternalName("theRezList", true);
            GuiPopUpMenuCtrl matList      = this.findObjectByInternalName("theMaterialList", true);
            string           resolution   = rezList.getSelected().AsString();
            string           materialName = matList.getText();
            string           genNoise     = ((GuiRadioCtrl)this.findObjectByInternalName("noiseRadio", true)).getValue();

            TerrainBlock obj = console.Eval("TerrainBlock::createNew(\"" + terrainName + "\",\"" + resolution + "\",\"" + materialName + "\",\"" + genNoise + "\");", true);

            if (genNoise.AsBool())
            {
                ((SimObject)"ETerrainEditor")["isDirty"] = "1";
            }

            if (obj.isObject())
            {
                EWorldEditor EWorldEditor = "EWorldEditor";
                // Submit an undo action.
                Extendable.MECreateUndoAction.submit(obj);
                // Select it in the editor.
                EWorldEditor.clearSelection();
                EWorldEditor.selectObject(obj);

                // When we drop the selection don't store undo
                // state for it... the creation deals with it.

                EWorldEditor.dropSelection(true);
            }
            ((GuiCanvas)"Canvas").popDialog(this);
        }