Ejemplo n.º 1
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());
            }
        }
        public void readSettings()
        {
            Settings         EditorSettings      = "EditorSettings";
            GuiPopUpMenuCtrl PEE_EmitterSelector = "PEE_EmitterSelector";

            ParticleEditor.PE_TabBook PE_TabBook           = "PE_TabBook";
            GuiPopUpMenuCtrl          PEP_ParticleSelector = "PEP_ParticleSelector";

            EditorSettings.beginGroup("ParticleEditor", true);

            string selectedEmitter = EditorSettings.value("selectedEmitter");

            if (selectedEmitter.isObject())
            {
                PEE_EmitterSelector.setSelected(selectedEmitter.getID());
            }

            string selectedParticle = EditorSettings.value("selectedParticle");

            if (selectedParticle.isObject())
            {
                PEP_ParticleSelector.setSelected(selectedParticle.getID());
            }

            PE_TabBook.selectPage(EditorSettings.value("selectedPage").AsInt());

            EditorSettings.endGroup();
        }
Ejemplo n.º 3
0
        public void initFilterList(string selectFilter)
        {
            GuiPopUpMenuCtrl SFXParameterFilter = this.FOT("SFXParameterFilter");
            SimSet           SFXParameterGroup  = "SFXParameterGroup";

            GuiPopUpMenuCtrl filterList = SFXParameterFilter;

            filterList.clear();
            filterList.add("", 0);

            for (uint i = 0; i < SFXParameterGroup.getCount(); i++)
            {
                SimObject obj = SFXParameterGroup.getObject(i);
                if (!Util.isMemberOfClass(obj.getClassName(), "SFXParameter"))
                {
                    continue;
                }

                for (int idx = 0; obj["categories[" + idx + "]"] != ""; idx++)
                {
                    string category = obj["categories[" + idx + "]"];
                    if (filterList.findText(category) == -1)
                    {
                        filterList.add(category, filterList.size());
                    }
                }
            }

            // Sort the filters.

            filterList.sort();
            filterList.setSelected(filterList.findText(selectFilter), false);
        }
        public override void onSelect(string id, string text)
        {
            // Attempt to keep the same resolution settings:
            GuiPopUpMenuCtrl resMenu =
                ((OptionsDlg)"OptionsDlg").findObjectByInternalName("OptGraphicsResolutionMenu", true);
            string currRes = resMenu.getText();

            // If its empty the use the current.
            if (currRes == "")
            {
                currRes = OptionsDlg._makePrettyResString(((GuiCanvas)"Canvas").getVideoMode());
            }

            // Fill the resolution list.
            ((OptionsDlg)"optionsDlg").initResMenu();
            // Try to select the previous settings:

            int selId = resMenu.findText(currRes);

            if (selId == -1)
            {
                selId = 0;
            }
            resMenu.setSelected(selId);

            ((OptionsDlg)"optionsDlg")._updateApplyState();

            sGlobal["$pref::Video::displayDevice"] = this.getText();
        }
Ejemplo n.º 5
0
        public override void onWake()
        {
            /*
             * %this-->theName.setText( "" );
             *
             * %matList = %this-->theMaterialList;
             * %matList.clear();
             * %count = TerrainMaterialSet.getCount();
             * for ( %i=0; %i < %count; %i++ )
             * %matList.add( TerrainMaterialSet.getObject( %i ).internalName, %i );
             * %matList.setSelected( 0 );
             *
             * %rezList = %this-->theRezList;
             * %rezList.clear();
             * %rezList.add( "256", 256 );
             * %rezList.add( "512", 512 );
             * %rezList.add( "1024", 1024 );
             * %rezList.add( "2048", 2048 );
             * //%rezList.add( "4096", 4096 );
             * %rezList.setSelected( 256 );
             *
             * %this-->flatRadio.setStateOn( true );
             */
            ((GuiTextEditCtrl)this.findObjectByInternalName("theName", true)).setText("");
            GuiPopUpMenuCtrl matList = this.findObjectByInternalName("theMaterialList", true);

            matList.clear();
            SimSet TerrainMaterialSet = "TerrainMaterialSet";
            int    count = TerrainMaterialSet.getCount();

            for (uint i = 0; i < count; i++)
            {
                matList.add(
                    ((SimObject)TerrainMaterialSet.getObject(i)).internalName,
                    (int)i);
            }
            matList.setSelected(0);

            GuiPopUpMenuCtrl rezList = this.findObjectByInternalName("theRezList", true);

            rezList.clear();
            rezList.add("256", 256);
            rezList.add("512", 512);
            rezList.add("1024", 1024);
            rezList.add("2048", 2048);

            rezList.setSelected(256);

            ((GuiRadioCtrl)this.findObjectByInternalName("flatRadio", true)).setStateOn(true);
        }
Ejemplo n.º 6
0
        public void setEase(string ease)
        {
            GuiPopUpMenuCtrl      directionList = this.FOT("directionList");
            GuiPopUpMenuCtrl      typeList      = this.FOT("typeList");
            GuiEaseViewCtrl       easeView      = this.FOT("easeView");
            GuiTextEditSliderCtrl param1Value   = this.FOT("param1Value");
            GuiTextEditSliderCtrl param2Value   = this.FOT("param2Value");

            easeView.ease = ease.AsEaseF();
            directionList.setSelected(omni.Util.getWord(ease, 0).AsInt(), false);
            typeList.setSelected(omni.Util.getWord(ease, 1).AsInt(), false);
            param1Value.setValue(omni.Util.getWord(ease, 2));
            param2Value.setValue(omni.Util.getWord(ease, 3));

            this.onEaseTypeSet();
        }
Ejemplo n.º 7
0
        public override void onSelect(string id, string text)
        {
            // Skip empty provider selections.
            if (text == "")
            {
                return;
            }

            sGlobal["$pref::SFX::provider"] = text;

            GuiPopUpMenuCtrl OptAudioDeviceList = "OptAudioDeviceList";

            OptAudioDeviceList.clear();

            string buffer = Util.sfxGetAvailableDevices();
            int    count  = Util.getRecordCount(buffer);

            for (int i = 0; i < count; i++)
            {
                string record   = Util.getRecord(buffer, i);
                string provider = Util.getField(record, 0);
                string device   = Util.getField(record, 1);

                if (provider != text)
                {
                    continue;
                }

                if (OptAudioDeviceList.findText(device) == -1)
                {
                    OptAudioDeviceList.add(device, i);
                }
            }
            // Find the previous selected device.
            int selId = OptAudioDeviceList.findText(sGlobal["$pref::SFX::device"]);

            if (selId == -1)
            {
                OptAudioDeviceList.setFirstSelected();
            }
            else
            {
                OptAudioDeviceList.setSelected(selId);
            }
        }
Ejemplo n.º 8
0
        // Add a new SFXParameter to the list.
        public void addParameter(SFXParameter parameter)
        {
            GuiStackControl SFXParametersStack = this.FOT("SFXParametersStack");

            #region GuiRolloutCtrl ()        oc_Newobject23

            ObjectCreator oc_Newobject23 = new ObjectCreator("GuiRolloutCtrl", "");
            oc_Newobject23["Margin"]               = "0 0 0 0";
            oc_Newobject23["DefaultHeight"]        = "40";
            oc_Newobject23["Expanded"]             = "1";
            oc_Newobject23["ClickCollapse"]        = "1";
            oc_Newobject23["HideHeader"]           = "0";
            oc_Newobject23["isContainer"]          = "1";
            oc_Newobject23["Profile"]              = "GuiRolloutProfile";
            oc_Newobject23["HorizSizing"]          = "right";
            oc_Newobject23["VertSizing"]           = "bottom";
            oc_Newobject23["position"]             = "0 0";
            oc_Newobject23["Extent"]               = "421 114";
            oc_Newobject23["MinExtent"]            = "8 2";
            oc_Newobject23["canSave"]              = "1";
            oc_Newobject23["Visible"]              = "1";
            oc_Newobject23["tooltipprofile"]       = "ToolsGuiToolTipProfile";
            oc_Newobject23["hovertime"]            = "1000";
            oc_Newobject23["canSaveDynamicFields"] = "0";
            oc_Newobject23["caption"]              = parameter.getInternalName();

            #region GuiControl ()        oc_Newobject22

            ObjectCreator oc_Newobject22 = new ObjectCreator("GuiControl", "");
            oc_Newobject22["isContainer"]          = "1";
            oc_Newobject22["Profile"]              = "ToolsGuiDefaultProfile";
            oc_Newobject22["HorizSizing"]          = "right";
            oc_Newobject22["VertSizing"]           = "bottom";
            oc_Newobject22["position"]             = "0 17";
            oc_Newobject22["Extent"]               = "421 94";
            oc_Newobject22["MinExtent"]            = "421 94";
            oc_Newobject22["canSave"]              = "1";
            oc_Newobject22["Visible"]              = "1";
            oc_Newobject22["tooltipprofile"]       = "ToolsGuiToolTipProfile";
            oc_Newobject22["hovertime"]            = "1000";
            oc_Newobject22["canSaveDynamicFields"] = "0";

            #region GuiTextCtrl ()        oc_Newobject3

            ObjectCreator oc_Newobject3 = new ObjectCreator("GuiTextCtrl", "");
            oc_Newobject3["text"]                 = "Value";
            oc_Newobject3["maxLength"]            = "1024";
            oc_Newobject3["Margin"]               = "0 0 0 0";
            oc_Newobject3["Padding"]              = "0 0 0 0";
            oc_Newobject3["AnchorTop"]            = "1";
            oc_Newobject3["AnchorBottom"]         = "0";
            oc_Newobject3["AnchorLeft"]           = "1";
            oc_Newobject3["AnchorRight"]          = "0";
            oc_Newobject3["isContainer"]          = "0";
            oc_Newobject3["Profile"]              = "ToolsGuiAutoSizeTextProfile";
            oc_Newobject3["HorizSizing"]          = "right";
            oc_Newobject3["VertSizing"]           = "bottom";
            oc_Newobject3["position"]             = "7 4";
            oc_Newobject3["Extent"]               = "27 17";
            oc_Newobject3["MinExtent"]            = "8 2";
            oc_Newobject3["canSave"]              = "1";
            oc_Newobject3["Visible"]              = "1";
            oc_Newobject3["tooltipprofile"]       = "ToolsGuiToolTipProfile";
            oc_Newobject3["hovertime"]            = "1000";
            oc_Newobject3["canSaveDynamicFields"] = "0";

            #endregion

            oc_Newobject22["#Newobject3"] = oc_Newobject3;

            #region GuiTextCtrl ()        oc_Newobject4

            ObjectCreator oc_Newobject4 = new ObjectCreator("GuiTextCtrl", "");
            oc_Newobject4["text"]                 = "Channel";
            oc_Newobject4["maxLength"]            = "1024";
            oc_Newobject4["Margin"]               = "0 0 0 0";
            oc_Newobject4["Padding"]              = "0 0 0 0";
            oc_Newobject4["AnchorTop"]            = "1";
            oc_Newobject4["AnchorBottom"]         = "0";
            oc_Newobject4["AnchorLeft"]           = "1";
            oc_Newobject4["AnchorRight"]          = "0";
            oc_Newobject4["isContainer"]          = "0";
            oc_Newobject4["Profile"]              = "ToolsGuiAutoSizeTextProfile";
            oc_Newobject4["HorizSizing"]          = "right";
            oc_Newobject4["VertSizing"]           = "bottom";
            oc_Newobject4["position"]             = "7 27";
            oc_Newobject4["Extent"]               = "45 17";
            oc_Newobject4["MinExtent"]            = "8 2";
            oc_Newobject4["canSave"]              = "1";
            oc_Newobject4["Visible"]              = "1";
            oc_Newobject4["tooltipprofile"]       = "ToolsGuiToolTipProfile";
            oc_Newobject4["hovertime"]            = "1000";
            oc_Newobject4["canSaveDynamicFields"] = "0";

            #endregion

            oc_Newobject22["#Newobject4"] = oc_Newobject4;

            #region GuiTextCtrl ()        oc_Newobject5

            ObjectCreator oc_Newobject5 = new ObjectCreator("GuiTextCtrl", "");
            oc_Newobject5["text"]                 = "Comment";
            oc_Newobject5["maxLength"]            = "1024";
            oc_Newobject5["Margin"]               = "0 0 0 0";
            oc_Newobject5["Padding"]              = "0 0 0 0";
            oc_Newobject5["AnchorTop"]            = "1";
            oc_Newobject5["AnchorBottom"]         = "0";
            oc_Newobject5["AnchorLeft"]           = "1";
            oc_Newobject5["AnchorRight"]          = "0";
            oc_Newobject5["isContainer"]          = "0";
            oc_Newobject5["Profile"]              = "ToolsGuiAutoSizeTextProfile";
            oc_Newobject5["HorizSizing"]          = "right";
            oc_Newobject5["VertSizing"]           = "bottom";
            oc_Newobject5["position"]             = "7 50";
            oc_Newobject5["Extent"]               = "47 17";
            oc_Newobject5["MinExtent"]            = "8 2";
            oc_Newobject5["canSave"]              = "1";
            oc_Newobject5["Visible"]              = "1";
            oc_Newobject5["tooltipprofile"]       = "ToolsGuiToolTipProfile";
            oc_Newobject5["hovertime"]            = "1000";
            oc_Newobject5["canSaveDynamicFields"] = "0";

            #endregion

            oc_Newobject22["#Newobject5"] = oc_Newobject5;

            #region GuiTextCtrl ()        oc_Newobject6

            ObjectCreator oc_Newobject6 = new ObjectCreator("GuiTextCtrl", "");
            oc_Newobject6["text"]                 = "Tags";
            oc_Newobject6["maxLength"]            = "1024";
            oc_Newobject6["Margin"]               = "0 0 0 0";
            oc_Newobject6["Padding"]              = "0 0 0 0";
            oc_Newobject6["AnchorTop"]            = "1";
            oc_Newobject6["AnchorBottom"]         = "0";
            oc_Newobject6["AnchorLeft"]           = "1";
            oc_Newobject6["AnchorRight"]          = "0";
            oc_Newobject6["isContainer"]          = "0";
            oc_Newobject6["Profile"]              = "ToolsGuiAutoSizeTextProfile";
            oc_Newobject6["HorizSizing"]          = "right";
            oc_Newobject6["VertSizing"]           = "bottom";
            oc_Newobject6["position"]             = "7 73";
            oc_Newobject6["Extent"]               = "25 17";
            oc_Newobject6["MinExtent"]            = "8 2";
            oc_Newobject6["canSave"]              = "1";
            oc_Newobject6["Visible"]              = "1";
            oc_Newobject6["tooltipprofile"]       = "ToolsGuiToolTipProfile";
            oc_Newobject6["hovertime"]            = "1000";
            oc_Newobject6["canSaveDynamicFields"] = "0";

            #endregion

            oc_Newobject22["#Newobject6"] = oc_Newobject6;

            #region GuiTextCtrl ()        oc_Newobject7

            ObjectCreator oc_Newobject7 = new ObjectCreator("GuiTextCtrl", "");
            oc_Newobject7["text"]                 = "Min";
            oc_Newobject7["maxLength"]            = "1024";
            oc_Newobject7["Margin"]               = "0 0 0 0";
            oc_Newobject7["Padding"]              = "0 0 0 0";
            oc_Newobject7["AnchorTop"]            = "1";
            oc_Newobject7["AnchorBottom"]         = "0";
            oc_Newobject7["AnchorLeft"]           = "1";
            oc_Newobject7["AnchorRight"]          = "0";
            oc_Newobject7["isContainer"]          = "0";
            oc_Newobject7["Profile"]              = "ToolsGuiAutoSizeTextProfile";
            oc_Newobject7["HorizSizing"]          = "left";
            oc_Newobject7["VertSizing"]           = "bottom";
            oc_Newobject7["position"]             = "205 27";
            oc_Newobject7["Extent"]               = "17 17";
            oc_Newobject7["MinExtent"]            = "8 2";
            oc_Newobject7["canSave"]              = "1";
            oc_Newobject7["Visible"]              = "1";
            oc_Newobject7["tooltipprofile"]       = "ToolsGuiToolTipProfile";
            oc_Newobject7["hovertime"]            = "1000";
            oc_Newobject7["canSaveDynamicFields"] = "0";

            #endregion

            oc_Newobject22["#Newobject7"] = oc_Newobject7;

            #region GuiTextCtrl ()        oc_Newobject8

            ObjectCreator oc_Newobject8 = new ObjectCreator("GuiTextCtrl", "");
            oc_Newobject8["text"]                 = "Max";
            oc_Newobject8["maxLength"]            = "1024";
            oc_Newobject8["Margin"]               = "0 0 0 0";
            oc_Newobject8["Padding"]              = "0 0 0 0";
            oc_Newobject8["AnchorTop"]            = "1";
            oc_Newobject8["AnchorBottom"]         = "0";
            oc_Newobject8["AnchorLeft"]           = "1";
            oc_Newobject8["AnchorRight"]          = "0";
            oc_Newobject8["isContainer"]          = "0";
            oc_Newobject8["Profile"]              = "ToolsGuiAutoSizeTextProfile";
            oc_Newobject8["HorizSizing"]          = "left";
            oc_Newobject8["VertSizing"]           = "bottom";
            oc_Newobject8["position"]             = "271 27";
            oc_Newobject8["Extent"]               = "21 17";
            oc_Newobject8["MinExtent"]            = "8 2";
            oc_Newobject8["canSave"]              = "1";
            oc_Newobject8["Visible"]              = "1";
            oc_Newobject8["tooltipprofile"]       = "ToolsGuiToolTipProfile";
            oc_Newobject8["hovertime"]            = "1000";
            oc_Newobject8["canSaveDynamicFields"] = "0";

            #endregion

            oc_Newobject22["#Newobject8"] = oc_Newobject8;

            #region GuiTextCtrl ()        oc_Newobject9

            ObjectCreator oc_Newobject9 = new ObjectCreator("GuiTextCtrl", "");
            oc_Newobject9["text"]                 = "Initial";
            oc_Newobject9["maxLength"]            = "1024";
            oc_Newobject9["Margin"]               = "0 0 0 0";
            oc_Newobject9["Padding"]              = "0 0 0 0";
            oc_Newobject9["AnchorTop"]            = "1";
            oc_Newobject9["AnchorBottom"]         = "0";
            oc_Newobject9["AnchorLeft"]           = "1";
            oc_Newobject9["AnchorRight"]          = "0";
            oc_Newobject9["isContainer"]          = "0";
            oc_Newobject9["Profile"]              = "ToolsGuiAutoSizeTextProfile";
            oc_Newobject9["HorizSizing"]          = "left";
            oc_Newobject9["VertSizing"]           = "bottom";
            oc_Newobject9["position"]             = "340 27";
            oc_Newobject9["Extent"]               = "24 17";
            oc_Newobject9["MinExtent"]            = "8 2";
            oc_Newobject9["canSave"]              = "1";
            oc_Newobject9["Visible"]              = "1";
            oc_Newobject9["tooltipprofile"]       = "ToolsGuiToolTipProfile";
            oc_Newobject9["hovertime"]            = "1000";
            oc_Newobject9["canSaveDynamicFields"] = "0";

            #endregion

            oc_Newobject22["#Newobject9"] = oc_Newobject9;

            #region GuiSliderCtrl ()        oc_Newobject10

            ObjectCreator oc_Newobject10 = new ObjectCreator("GuiSliderCtrl", "");
            oc_Newobject10["range"]                = "0 1";
            oc_Newobject10["ticks"]                = "0";
            oc_Newobject10["snap"]                 = "0";
            oc_Newobject10["value"]                = "0.5";
            oc_Newobject10["isContainer"]          = "0";
            oc_Newobject10["Profile"]              = "ToolsGuiSliderProfile";
            oc_Newobject10["HorizSizing"]          = "width";
            oc_Newobject10["VertSizing"]           = "bottom";
            oc_Newobject10["position"]             = "65 5";
            oc_Newobject10["Extent"]               = "263 15";
            oc_Newobject10["MinExtent"]            = "8 2";
            oc_Newobject10["canSave"]              = "1";
            oc_Newobject10["Visible"]              = "1";
            oc_Newobject10["tooltipprofile"]       = "ToolsGuiToolTipProfile";
            oc_Newobject10["hovertime"]            = "1000";
            oc_Newobject10["internalName"]         = "valueSlider";
            oc_Newobject10["canSaveDynamicFields"] = "0";
            oc_Newobject10["command"]              = parameter + ".value = $thisControl.getValue();";

            #endregion

            oc_Newobject22["#Newobject10"] = oc_Newobject10;

            #region GuiTextEditCtrl ()        oc_Newobject11

            ObjectCreator oc_Newobject11 = new ObjectCreator("GuiTextEditCtrl", "");
            oc_Newobject11["historySize"]          = "0";
            oc_Newobject11["password"]             = "******";
            oc_Newobject11["tabComplete"]          = "0";
            oc_Newobject11["sinkAllKeyEvents"]     = "0";
            oc_Newobject11["passwordMask"]         = "•";
            oc_Newobject11["maxLength"]            = "1024";
            oc_Newobject11["Margin"]               = "0 0 0 0";
            oc_Newobject11["Padding"]              = "0 0 0 0";
            oc_Newobject11["AnchorTop"]            = "1";
            oc_Newobject11["AnchorBottom"]         = "0";
            oc_Newobject11["AnchorLeft"]           = "1";
            oc_Newobject11["AnchorRight"]          = "0";
            oc_Newobject11["isContainer"]          = "0";
            oc_Newobject11["Profile"]              = "ToolsGuiTextEditProfile";
            oc_Newobject11["HorizSizing"]          = "left";
            oc_Newobject11["VertSizing"]           = "bottom";
            oc_Newobject11["position"]             = "336 4";
            oc_Newobject11["Extent"]               = "39 17";
            oc_Newobject11["MinExtent"]            = "8 2";
            oc_Newobject11["canSave"]              = "1";
            oc_Newobject11["Visible"]              = "1";
            oc_Newobject11["tooltipprofile"]       = "ToolsGuiToolTipProfile";
            oc_Newobject11["hovertime"]            = "1000";
            oc_Newobject11["internalName"]         = "valueField";
            oc_Newobject11["canSaveDynamicFields"] = "0";
            oc_Newobject11["altCommand"]           = parameter + ".value = $thisControl.getValue();";

            #endregion

            oc_Newobject22["#Newobject11"] = oc_Newobject11;

            #region GuiBitmapButtonCtrl ()        oc_Newobject12

            ObjectCreator oc_Newobject12 = new ObjectCreator("GuiBitmapButtonCtrl", "");
            oc_Newobject12["bitmap"]               = "tools/gui/images/reset-icon";
            oc_Newobject12["autoFit"]              = "0";
            oc_Newobject12["groupNum"]             = "-1";
            oc_Newobject12["buttonType"]           = "PushButton";
            oc_Newobject12["useMouseEvents"]       = "0";
            oc_Newobject12["isContainer"]          = "0";
            oc_Newobject12["Profile"]              = "ToolsGuiDefaultProfile";
            oc_Newobject12["HorizSizing"]          = "left";
            oc_Newobject12["VertSizing"]           = "bottom";
            oc_Newobject12["position"]             = "381 4";
            oc_Newobject12["Extent"]               = "17 17";
            oc_Newobject12["MinExtent"]            = "8 2";
            oc_Newobject12["canSave"]              = "1";
            oc_Newobject12["Visible"]              = "1";
            oc_Newobject12["tooltipprofile"]       = "ToolsGuiToolTipProfile";
            oc_Newobject12["hovertime"]            = "1000";
            oc_Newobject12["internalName"]         = "resetButton";
            oc_Newobject12["canSaveDynamicFields"] = "0";
            oc_Newobject12["command"]              = parameter + ".reset();";

            #endregion

            oc_Newobject22["#Newobject12"] = oc_Newobject12;

            #region GuiBitmapButtonCtrl ()        oc_Newobject13

            ObjectCreator oc_Newobject13 = new ObjectCreator("GuiBitmapButtonCtrl", "");
            oc_Newobject13["bitmap"]               = "tools/gui/images/delete";
            oc_Newobject13["autoFit"]              = "0";
            oc_Newobject13["groupNum"]             = "-1";
            oc_Newobject13["buttonType"]           = "PushButton";
            oc_Newobject13["useMouseEvents"]       = "0";
            oc_Newobject13["isContainer"]          = "0";
            oc_Newobject13["Profile"]              = "ToolsGuiDefaultProfile";
            oc_Newobject13["HorizSizing"]          = "left";
            oc_Newobject13["VertSizing"]           = "bottom";
            oc_Newobject13["position"]             = "398 4";
            oc_Newobject13["Extent"]               = "17 17";
            oc_Newobject13["MinExtent"]            = "8 2";
            oc_Newobject13["canSave"]              = "1";
            oc_Newobject13["Visible"]              = "1";
            oc_Newobject13["tooltipprofile"]       = "ToolsGuiToolTipProfile";
            oc_Newobject13["hovertime"]            = "1000";
            oc_Newobject13["internalName"]         = "deleteButton";
            oc_Newobject13["canSaveDynamicFields"] = "0";
            oc_Newobject13["command"]              = "EManageSFXParameters.showDeleteParameterDlg( " + parameter + ");";

            #endregion

            oc_Newobject22["#Newobject13"] = oc_Newobject13;

            #region GuiPopUpMenuCtrl ()        oc_Newobject14

            ObjectCreator oc_Newobject14 = new ObjectCreator("GuiPopUpMenuCtrl", "");
            oc_Newobject14["maxPopupHeight"]       = "200";
            oc_Newobject14["sbUsesNAColor"]        = "0";
            oc_Newobject14["reverseTextList"]      = "0";
            oc_Newobject14["bitmapBounds"]         = "16 16";
            oc_Newobject14["maxLength"]            = "1024";
            oc_Newobject14["Margin"]               = "0 0 0 0";
            oc_Newobject14["Padding"]              = "0 0 0 0";
            oc_Newobject14["AnchorTop"]            = "1";
            oc_Newobject14["AnchorBottom"]         = "0";
            oc_Newobject14["AnchorLeft"]           = "1";
            oc_Newobject14["AnchorRight"]          = "0";
            oc_Newobject14["isContainer"]          = "0";
            oc_Newobject14["Profile"]              = "ToolsGuiPopUpMenuProfile";
            oc_Newobject14["HorizSizing"]          = "width";
            oc_Newobject14["VertSizing"]           = "bottom";
            oc_Newobject14["position"]             = "65 26";
            oc_Newobject14["Extent"]               = "135 18";
            oc_Newobject14["MinExtent"]            = "8 2";
            oc_Newobject14["canSave"]              = "1";
            oc_Newobject14["Visible"]              = "1";
            oc_Newobject14["tooltipprofile"]       = "ToolsGuiToolTipProfile";
            oc_Newobject14["hovertime"]            = "1000";
            oc_Newobject14["internalName"]         = "channelDropdown";
            oc_Newobject14["canSaveDynamicFields"] = "0";
            oc_Newobject14["command"]              = parameter + ".channel = $ThisControl.getText(); EManageSFXParameters.saveParameter( " + parameter + ");";

            #endregion

            oc_Newobject22["#Newobject14"] = oc_Newobject14;

            #region GuiTextEditCtrl ()        oc_Newobject15

            ObjectCreator oc_Newobject15 = new ObjectCreator("GuiTextEditCtrl", "");
            oc_Newobject15["historySize"]          = "0";
            oc_Newobject15["password"]             = "******";
            oc_Newobject15["tabComplete"]          = "0";
            oc_Newobject15["sinkAllKeyEvents"]     = "0";
            oc_Newobject15["passwordMask"]         = "•";
            oc_Newobject15["maxLength"]            = "1024";
            oc_Newobject15["Margin"]               = "0 0 0 0";
            oc_Newobject15["Padding"]              = "0 0 0 0";
            oc_Newobject15["AnchorTop"]            = "1";
            oc_Newobject15["AnchorBottom"]         = "0";
            oc_Newobject15["AnchorLeft"]           = "1";
            oc_Newobject15["AnchorRight"]          = "0";
            oc_Newobject15["isContainer"]          = "0";
            oc_Newobject15["Profile"]              = "ToolsGuiTextEditProfile";
            oc_Newobject15["HorizSizing"]          = "width";
            oc_Newobject15["VertSizing"]           = "bottom";
            oc_Newobject15["position"]             = "65 50";
            oc_Newobject15["Extent"]               = "350 17";
            oc_Newobject15["MinExtent"]            = "8 2";
            oc_Newobject15["canSave"]              = "1";
            oc_Newobject15["Visible"]              = "1";
            oc_Newobject15["tooltipprofile"]       = "ToolsGuiToolTipProfile";
            oc_Newobject15["hovertime"]            = "1000";
            oc_Newobject15["internalName"]         = "descriptionField";
            oc_Newobject15["canSaveDynamicFields"] = "0";
            oc_Newobject15["altCommand"]           = parameter + ".description = $ThisControl.getText(); EManageSFXParameters.saveParameter( " + parameter + ");";

            #endregion

            oc_Newobject22["#Newobject15"] = oc_Newobject15;

            #region GuiTextEditCtrl ()        oc_Newobject16

            ObjectCreator oc_Newobject16 = new ObjectCreator("GuiTextEditCtrl", "");
            oc_Newobject16["historySize"]          = "0";
            oc_Newobject16["password"]             = "******";
            oc_Newobject16["tabComplete"]          = "0";
            oc_Newobject16["sinkAllKeyEvents"]     = "0";
            oc_Newobject16["passwordMask"]         = "•";
            oc_Newobject16["maxLength"]            = "1024";
            oc_Newobject16["Margin"]               = "0 0 0 0";
            oc_Newobject16["Padding"]              = "0 0 0 0";
            oc_Newobject16["AnchorTop"]            = "1";
            oc_Newobject16["AnchorBottom"]         = "0";
            oc_Newobject16["AnchorLeft"]           = "1";
            oc_Newobject16["AnchorRight"]          = "0";
            oc_Newobject16["isContainer"]          = "0";
            oc_Newobject16["Profile"]              = "ToolsGuiTextEditProfile";
            oc_Newobject16["HorizSizing"]          = "width";
            oc_Newobject16["VertSizing"]           = "bottom";
            oc_Newobject16["position"]             = "65 73";
            oc_Newobject16["Extent"]               = "230 17";
            oc_Newobject16["MinExtent"]            = "8 2";
            oc_Newobject16["canSave"]              = "1";
            oc_Newobject16["Visible"]              = "1";
            oc_Newobject16["tooltipprofile"]       = "ToolsGuiToolTipProfile";
            oc_Newobject16["hovertime"]            = "1000";
            oc_Newobject16["internalName"]         = "tagsField";
            oc_Newobject16["canSaveDynamicFields"] = "0";
            oc_Newobject16["altCommand"]           = "EManageSFXParameters.updateParameterCategories( " + parameter +
                                                     ", $ThisControl.getText() );";

            #endregion

            oc_Newobject22["#Newobject16"] = oc_Newobject16;

            #region GuiTextEditCtrl ()        oc_Newobject17

            ObjectCreator oc_Newobject17 = new ObjectCreator("GuiTextEditCtrl", "");
            oc_Newobject17["historySize"]          = "0";
            oc_Newobject17["password"]             = "******";
            oc_Newobject17["tabComplete"]          = "0";
            oc_Newobject17["sinkAllKeyEvents"]     = "0";
            oc_Newobject17["passwordMask"]         = "•";
            oc_Newobject17["maxLength"]            = "1024";
            oc_Newobject17["Margin"]               = "0 0 0 0";
            oc_Newobject17["Padding"]              = "0 0 0 0";
            oc_Newobject17["AnchorTop"]            = "1";
            oc_Newobject17["AnchorBottom"]         = "0";
            oc_Newobject17["AnchorLeft"]           = "1";
            oc_Newobject17["AnchorRight"]          = "0";
            oc_Newobject17["isContainer"]          = "0";
            oc_Newobject17["Profile"]              = "ToolsGuiTextEditProfile";
            oc_Newobject17["HorizSizing"]          = "left";
            oc_Newobject17["VertSizing"]           = "bottom";
            oc_Newobject17["position"]             = "372 27";
            oc_Newobject17["Extent"]               = "43 17";
            oc_Newobject17["MinExtent"]            = "8 2";
            oc_Newobject17["canSave"]              = "1";
            oc_Newobject17["Visible"]              = "1";
            oc_Newobject17["tooltipprofile"]       = "ToolsGuiToolTipProfile";
            oc_Newobject17["hovertime"]            = "1000";
            oc_Newobject17["internalName"]         = "defaultField";
            oc_Newobject17["canSaveDynamicFields"] = "0";
            oc_Newobject17["command"]              = parameter + ".defaultValue = $ThisControl.getValue(); EManageSFXParameters.saveParameter( " + parameter + ");";

            #endregion

            oc_Newobject22["#Newobject17"] = oc_Newobject17;

            #region GuiTextEditCtrl ()        oc_Newobject18

            ObjectCreator oc_Newobject18 = new ObjectCreator("GuiTextEditCtrl", "");
            oc_Newobject18["historySize"]          = "0";
            oc_Newobject18["password"]             = "******";
            oc_Newobject18["tabComplete"]          = "0";
            oc_Newobject18["sinkAllKeyEvents"]     = "0";
            oc_Newobject18["passwordMask"]         = "•";
            oc_Newobject18["maxLength"]            = "1024";
            oc_Newobject18["Margin"]               = "0 0 0 0";
            oc_Newobject18["Padding"]              = "0 0 0 0";
            oc_Newobject18["AnchorTop"]            = "1";
            oc_Newobject18["AnchorBottom"]         = "0";
            oc_Newobject18["AnchorLeft"]           = "1";
            oc_Newobject18["AnchorRight"]          = "0";
            oc_Newobject18["isContainer"]          = "0";
            oc_Newobject18["Profile"]              = "ToolsGuiTextEditProfile";
            oc_Newobject18["HorizSizing"]          = "left";
            oc_Newobject18["VertSizing"]           = "bottom";
            oc_Newobject18["position"]             = "297 27";
            oc_Newobject18["Extent"]               = "39 17";
            oc_Newobject18["MinExtent"]            = "8 2";
            oc_Newobject18["canSave"]              = "1";
            oc_Newobject18["Visible"]              = "1";
            oc_Newobject18["tooltipprofile"]       = "ToolsGuiToolTipProfile";
            oc_Newobject18["hovertime"]            = "1000";
            oc_Newobject18["internalName"]         = "rangeMaxField";
            oc_Newobject18["canSaveDynamicFields"] = "0";
            oc_Newobject18["altCommand"]           = parameter + ".range = " + parameter + ".range.x SPC $ThisControl.getValue(); $ThisControl.parentGroup-->valueSlider.range = " + parameter + ".range; EManageSFXParameters.saveParameter( " + parameter + ");";

            #endregion

            oc_Newobject22["#Newobject18"] = oc_Newobject18;

            #region GuiTextEditCtrl ()        oc_Newobject19

            ObjectCreator oc_Newobject19 = new ObjectCreator("GuiTextEditCtrl", "");
            oc_Newobject19["historySize"]          = "0";
            oc_Newobject19["password"]             = "******";
            oc_Newobject19["tabComplete"]          = "0";
            oc_Newobject19["sinkAllKeyEvents"]     = "0";
            oc_Newobject19["passwordMask"]         = "•";
            oc_Newobject19["maxLength"]            = "1024";
            oc_Newobject19["Margin"]               = "0 0 0 0";
            oc_Newobject19["Padding"]              = "0 0 0 0";
            oc_Newobject19["AnchorTop"]            = "1";
            oc_Newobject19["AnchorBottom"]         = "0";
            oc_Newobject19["AnchorLeft"]           = "1";
            oc_Newobject19["AnchorRight"]          = "0";
            oc_Newobject19["isContainer"]          = "0";
            oc_Newobject19["Profile"]              = "ToolsGuiTextEditProfile";
            oc_Newobject19["HorizSizing"]          = "left";
            oc_Newobject19["VertSizing"]           = "bottom";
            oc_Newobject19["position"]             = "229 27";
            oc_Newobject19["Extent"]               = "39 17";
            oc_Newobject19["MinExtent"]            = "8 2";
            oc_Newobject19["canSave"]              = "1";
            oc_Newobject19["Visible"]              = "1";
            oc_Newobject19["tooltipprofile"]       = "ToolsGuiToolTipProfile";
            oc_Newobject19["hovertime"]            = "1000";
            oc_Newobject19["internalName"]         = "rangeMinField";
            oc_Newobject19["canSaveDynamicFields"] = "0";
            oc_Newobject19["altCommand"]           = parameter + ".range = $ThisControl.getValue() SPC " + parameter + ".range.y; $ThisControl.parentGroup-->valueSlider.range = " + parameter + ".range; EManageSFXParameters.saveParameter( " + parameter + ");";

            #endregion

            oc_Newobject22["#Newobject19"] = oc_Newobject19;

            #region GuiCheckBoxCtrl ()        oc_Newobject20

            ObjectCreator oc_Newobject20 = new ObjectCreator("GuiCheckBoxCtrl", "");
            oc_Newobject20["useInactiveState"]     = "0";
            oc_Newobject20["text"]                 = "Local";
            oc_Newobject20["groupNum"]             = "-1";
            oc_Newobject20["buttonType"]           = "ToggleButton";
            oc_Newobject20["useMouseEvents"]       = "0";
            oc_Newobject20["isContainer"]          = "0";
            oc_Newobject20["Profile"]              = "ToolsGuiCheckBoxProfile";
            oc_Newobject20["HorizSizing"]          = "left";
            oc_Newobject20["VertSizing"]           = "bottom";
            oc_Newobject20["position"]             = "302 73";
            oc_Newobject20["Extent"]               = "45 17";
            oc_Newobject20["MinExtent"]            = "8 2";
            oc_Newobject20["canSave"]              = "1";
            oc_Newobject20["Visible"]              = "1";
            oc_Newobject20["tooltipprofile"]       = "ToolsGuiToolTipProfile";
            oc_Newobject20["hovertime"]            = "1000";
            oc_Newobject20["internalName"]         = "localCheckbox";
            oc_Newobject20["canSaveDynamicFields"] = "0";

            #endregion

            oc_Newobject22["#Newobject20"] = oc_Newobject20;

            #region GuiPopUpMenuCtrl ()        oc_Newobject21

            ObjectCreator oc_Newobject21 = new ObjectCreator("GuiPopUpMenuCtrl", "");
            oc_Newobject21["maxPopupHeight"]       = "200";
            oc_Newobject21["sbUsesNAColor"]        = "0";
            oc_Newobject21["reverseTextList"]      = "0";
            oc_Newobject21["bitmapBounds"]         = "16 16";
            oc_Newobject21["maxLength"]            = "1024";
            oc_Newobject21["Margin"]               = "0 0 0 0";
            oc_Newobject21["Padding"]              = "0 0 0 0";
            oc_Newobject21["AnchorTop"]            = "1";
            oc_Newobject21["AnchorBottom"]         = "0";
            oc_Newobject21["AnchorLeft"]           = "1";
            oc_Newobject21["AnchorRight"]          = "0";
            oc_Newobject21["isContainer"]          = "0";
            oc_Newobject21["Profile"]              = "ToolsGuiPopUpMenuProfile";
            oc_Newobject21["HorizSizing"]          = "left";
            oc_Newobject21["VertSizing"]           = "bottom";
            oc_Newobject21["position"]             = "349 73";
            oc_Newobject21["Extent"]               = "64 17";
            oc_Newobject21["MinExtent"]            = "8 2";
            oc_Newobject21["canSave"]              = "1";
            oc_Newobject21["Visible"]              = "1";
            oc_Newobject21["tooltipprofile"]       = "ToolsGuiToolTipProfile";
            oc_Newobject21["hovertime"]            = "1000";
            oc_Newobject21["internalName"]         = "sourceDropdown";
            oc_Newobject21["canSaveDynamicFields"] = "0";

            #endregion

            oc_Newobject22["#Newobject21"] = oc_Newobject21;

            #endregion

            oc_Newobject23["#Newobject22"] = oc_Newobject22;

            #endregion

            GuiRolloutCtrl ctrl = oc_Newobject23.Create();

            ctrl["sfxParameter"] = parameter;

            // Deactivate the per-source controls for now as these are not
            // yet implemented in SFX.

            GuiCheckBoxCtrl  localCheckbox    = ctrl.FOT("localCheckbox");
            GuiPopUpMenuCtrl sourceDropdown   = ctrl.FOT("sourceDropdown");
            GuiTextEditCtrl  valueField       = ctrl.FOT("valueField");
            GuiTextEditCtrl  rangeMinField    = ctrl.FOT("rangeMinField");
            GuiTextEditCtrl  rangeMaxField    = ctrl.FOT("rangeMaxField");
            GuiTextEditCtrl  defaultField     = ctrl.FOT("defaultField");
            GuiTextEditCtrl  descriptionField = ctrl.FOT("descriptionField");
            GuiSliderCtrl    valueSlider      = ctrl.FOT("valueSlider");
            GuiPopUpMenuCtrl channelDropdown  = ctrl.FOT("channelDropdown");
            GuiTextEditCtrl  tagsField        = ctrl.FOT("tagsField");

            localCheckbox.setActive(false);
            sourceDropdown.setActive(false);

            // Set the fields to reflect the parameter's current settings.

            valueField.setValue(parameter.value.AsString());
            rangeMinField.setText(parameter.range.x.AsString());
            rangeMaxField.setText(parameter.range.y.AsString());
            defaultField.setValue(parameter.defaultValue.AsString());
            descriptionField.setText(parameter.description);

            valueSlider.range = parameter.range;
            valueSlider.setValue(parameter.value.AsString());

            // Set up the channels dropdown.

            GuiPopUpMenuCtrl list = channelDropdown;
            for (int i = 0; i < iGlobal["$SFX_PARAMETER_CHANNELS_COUNT"]; i++)
            {
                list.add(sGlobal["$SFX_PARAMETER_CHANNELS[" + i + "]"], i);
            }
            list.sort();
            list.setSelected(list.findText(parameter["channel"]));

            SFXParametersStack.addGuiControl(ctrl);

            // Fill tagging field.

            string tags    = "";
            bool   isFirst = true;
            for (int i = 0; parameter["categories[" + i + "]"] != ""; i++)
            {
                if (!isFirst)
                {
                    tags = tags + ", ";
                }

                tags = tags + parameter["categories[" + i + "]"];

                isFirst = false;
            }

            tagsField.setText(tags);
        }
Ejemplo n.º 9
0
            public void guiSync()
            {
                GuiCheckBoxCtrl  PEE_infiniteLoop                = this.FOT("PEE_infiniteLoop");
                GuiCheckBoxCtrl  PEE_orientParticles             = this.FOT("PEE_orientParticles");
                GuiCheckBoxCtrl  PEE_alignParticles              = this.FOT("PEE_alignParticles");
                GuiCheckBoxCtrl  PEE_softParticles               = this.FOT("PEE_softParticles");
                GuiCheckBoxCtrl  PEE_reverseOrder                = this.FOT("PEE_reverseOrder");
                GuiCheckBoxCtrl  PEE_useEmitterSizes             = this.FOT("PEE_useEmitterSizes");
                GuiCheckBoxCtrl  PEE_useEmitterColors            = this.FOT("PEE_useEmitterColors");
                GuiSliderCtrl    PEE_lifetimeMS_slider           = this.FOT("PEE_lifetimeMS_slider");
                GuiSliderCtrl    PEE_lifetimeVarianceMS_slider   = this.FOT("PEE_lifetimeVarianceMS_slider");
                GuiSliderCtrl    PEE_ejectionVelocity_slider     = this.FOT("PEE_ejectionVelocity_slider");
                GuiSliderCtrl    PEE_ejectionPeriodMS_slider     = this.FOT("PEE_ejectionPeriodMS_slider");
                GuiSliderCtrl    PEE_periodVarianceMS_slider     = this.FOT("PEE_periodVarianceMS_slider");
                GuiSliderCtrl    PEE_velocityVariance_slider     = this.FOT("PEE_velocityVariance_slider");
                GuiSliderCtrl    PEE_thetaMin_slider             = this.FOT("PEE_thetaMin_slider");
                GuiSliderCtrl    PEE_thetaMax_slider             = this.FOT("PEE_thetaMax_slider");
                GuiSliderCtrl    PEE_phiVariance_slider          = this.FOT("PEE_phiVariance_slider");
                GuiSliderCtrl    PEE_ejectionOffset_slider       = this.FOT("PEE_ejectionOffset_slider");
                GuiSliderCtrl    PEE_softnessDistance_slider     = this.FOT("PEE_softnessDistance_slider");
                GuiSliderCtrl    PEE_ambientFactor_slider        = this.FOT("PEE_ambientFactor_slider");
                GuiTextEditCtrl  PEE_lifetimeMS_textEdit         = this.FOT("PEE_lifetimeMS_textEdit");
                GuiTextEditCtrl  PEE_lifetimeVarianceMS_textEdit = this.FOT("PEE_lifetimeVarianceMS_textEdit");
                GuiTextEditCtrl  PEE_ejectionPeriodMS_textEdit   = this.FOT("PEE_ejectionPeriodMS_textEdit");
                GuiTextEditCtrl  PEE_periodVarianceMS_textEdit   = this.FOT("PEE_periodVarianceMS_textEdit");
                GuiTextEditCtrl  PEE_ejectionVelocity_textEdit   = this.FOT("PEE_ejectionVelocity_textEdit");
                GuiTextEditCtrl  PEE_velocityVariance_textEdit   = this.FOT("PEE_velocityVariance_textEdit");
                GuiTextEditCtrl  PEE_alignDirection              = this.FOT("PEE_alignDirection");
                GuiTextEditCtrl  PEE_thetaMin_textEdit           = this.FOT("PEE_thetaMin_textEdit");
                GuiTextEditCtrl  PEE_thetaMax_textEdit           = this.FOT("PEE_thetaMax_textEdit");
                GuiTextEditCtrl  PEE_phiVariance_textEdit        = this.FOT("PEE_phiVariance_textEdit");
                GuiTextEditCtrl  PEE_ejectionOffset_textEdit     = this.FOT("PEE_ejectionOffset_textEdit");
                GuiTextEditCtrl  PEE_softnessDistance_textEdit   = this.FOT("PEE_softnessDistance_textEdit");
                GuiTextEditCtrl  PEE_ambientFactor_textEdit      = this.FOT("PEE_ambientFactor_textEdit");
                GuiPopUpMenuCtrl PEE_blendType = this.FOT("PEE_blendType");

                SimObject data = this.currEmitter;

                // Sync up sliders and number boxes.

                if (PEE_infiniteLoop.isStateOn())
                {
                    PEE_lifetimeMS_slider.setActive(false);
                    PEE_lifetimeMS_textEdit.setActive(false);
                    PEE_lifetimeVarianceMS_slider.setActive(false);
                    PEE_lifetimeVarianceMS_textEdit.setActive(false);
                }
                else
                {
                    PEE_lifetimeMS_slider.setActive(true);
                    PEE_lifetimeMS_textEdit.setActive(true);
                    PEE_lifetimeVarianceMS_slider.setActive(true);
                    PEE_lifetimeVarianceMS_textEdit.setActive(true);

                    PEE_lifetimeMS_slider.setValue(data["lifetimeMS"]);
                    PEE_lifetimeMS_textEdit.setText(data["lifetimeMS"]);
                    PEE_lifetimeVarianceMS_slider.setValue(data["lifetimeVarianceMS"]);
                    PEE_lifetimeVarianceMS_textEdit.setText(data["lifetimeVarianceMS"]);
                }

                PEE_ejectionPeriodMS_slider.setValue(data["ejectionPeriodMS"]);
                PEE_ejectionPeriodMS_textEdit.setText(data["ejectionPeriodMS"]);

                PEE_periodVarianceMS_slider.setValue(data["periodVarianceMS"]);
                PEE_periodVarianceMS_textEdit.setText(data["periodVarianceMS"]);

                PEE_ejectionVelocity_slider.setValue(data["ejectionVelocity"]);
                PEE_ejectionVelocity_textEdit.setText(data["ejectionVelocity"]);

                PEE_velocityVariance_slider.setValue(data["velocityVariance"]);
                PEE_velocityVariance_textEdit.setText(data["velocityVariance"]);

                PEE_orientParticles.setValue(data["orientParticles"]);
                PEE_alignParticles.setValue(data["alignParticles"]);
                PEE_alignDirection.setText(data["alignDirection"]);

                PEE_thetaMin_slider.setValue(data["thetaMin"]);
                PEE_thetaMin_textEdit.setText(data["thetaMin"]);

                PEE_thetaMax_slider.setValue(data["thetaMax"]);
                PEE_thetaMax_textEdit.setText(data["thetaMax"]);

                PEE_phiVariance_slider.setValue(data["phiVariance"]);
                PEE_phiVariance_textEdit.setText(data["phiVariance"]);

                PEE_ejectionOffset_slider.setValue(data["ejectionOffset"]);
                PEE_ejectionOffset_textEdit.setText(data["ejectionOffset"]);

                int blendTypeId = PEE_blendType.findText(data["blendStyle"]);

                PEE_blendType.setSelected(blendTypeId, false);

                PEE_softnessDistance_slider.setValue(data["softnessDistance"]);
                PEE_softnessDistance_textEdit.setText(data["softnessDistance"]);

                PEE_ambientFactor_slider.setValue(data["ambientFactor"]);
                PEE_ambientFactor_textEdit.setText(data["ambientFactor"]);

                PEE_softParticles.setValue(data["softParticles"]);
                PEE_reverseOrder.setValue(data["reverseOrder"]);
                PEE_useEmitterSizes.setValue(data["useEmitterSizes"]);
                PEE_useEmitterColors.setValue(data["useEmitterColors"]);

                // Sync up particle selectors.

                for (int index = 0; index < 4; index++)
                {
                    GuiControl       ctrl  = "PEE_EmitterParticle" + (index + 1);
                    GuiPopUpMenuCtrl popup = ctrl.FOT("PopUpMenu");

                    string particle = Util.getWord(data["particles"], index);
                    if (particle.Trim() == "")
                    {
                        popup.setSelected(0, false); // Select "None".
                    }
                    else if (particle.isObject())
                    {
                        popup.setSelected(particle.getID(), false);
                    }
                    else
                    {
                        popup.setSelected(0, false); // Select "None".
                    }
                }
            }
            public void guiSync()
            {
                GuiPopUpMenuCtrl PEP_ParticleSelector = "PEP_ParticleSelector";

                ParticleEmitterEditor.PE_EmitterEditor PE_EmitterEditor = "PE_EmitterEditor";
                MaterialEditor.gui.CodeBehind.MaterialEditor.MaterialEditorGui MaterialEditorGui = "MaterialEditorGui";
                GuiSwatchButtonCtrl PE_ColorTintSwatch0 = "PE_ColorTintSwatch0";
                GuiSwatchButtonCtrl PE_ColorTintSwatch1 = "PE_ColorTintSwatch1";
                GuiSwatchButtonCtrl PE_ColorTintSwatch2 = "PE_ColorTintSwatch2";
                GuiSwatchButtonCtrl PE_ColorTintSwatch3 = "PE_ColorTintSwatch3";

                GuiBitmapButtonCtrl PEP_previewImage                  = this.FOT("PEP_previewImage");
                GuiTextEditCtrl     PEP_previewImageName              = this.FOT("PEP_previewImageName");
                GuiTextEditCtrl     PEP_lifetimeMS_textEdit           = this.FOT("PEP_lifetimeMS_textEdit");
                GuiTextEditCtrl     PEP_lifetimeVarianceMS_textEdit   = this.FOT("PEP_lifetimeVarianceMS_textEdit");
                GuiTextEditCtrl     PEP_inheritedVelFactor_textEdit   = this.FOT("PEP_inheritedVelFactor_textEdit");
                GuiTextEditCtrl     PEP_constantAcceleration_textEdit = this.FOT("PEP_constantAcceleration_textEdit");
                GuiTextEditCtrl     PEP_gravityCoefficient_textEdit   = this.FOT("PEP_gravityCoefficient_textEdit");
                GuiTextEditCtrl     PEP_dragCoefficient_textEdit      = this.FOT("PEP_dragCoefficient_textEdit");
                GuiTextEditCtrl     PEP_spinRandomMin_textEdit        = this.FOT("PEP_spinRandomMin_textEdit");
                GuiTextEditCtrl     PEP_spinRandomMax_textEdit        = this.FOT("PEP_spinRandomMax_textEdit");
                GuiTextEditCtrl     PEP_spinSpeed_textEdit            = this.FOT("PEP_spinSpeed_textEdit");
                GuiTextEditCtrl     PEP_pointSize_textEdit0           = this.FOT("PEP_pointSize_textEdit0");
                GuiTextEditCtrl     PEP_pointSize_textEdit1           = this.FOT("PEP_pointSize_textEdit1");
                GuiTextEditCtrl     PEP_pointSize_textEdit2           = this.FOT("PEP_pointSize_textEdit2");
                GuiTextEditCtrl     PEP_pointSize_textEdit3           = this.FOT("PEP_pointSize_textEdit3");
                GuiTextEditCtrl     PEP_pointTime_textEdit0           = this.FOT("PEP_pointTime_textEdit0");
                GuiTextEditCtrl     PEP_pointTime_textEdit1           = this.FOT("PEP_pointTime_textEdit1");
                GuiTextEditCtrl     PEP_pointTime_textEdit2           = this.FOT("PEP_pointTime_textEdit2");
                GuiTextEditCtrl     PEP_pointTime_textEdit3           = this.FOT("PEP_pointTime_textEdit3");
                GuiCheckBoxCtrl     PEP_inverseAlpha                  = this.FOT("PEP_inverseAlpha");
                GuiSliderCtrl       PEP_lifetimeMS_slider             = this.FOT("PEP_lifetimeMS_slider");
                GuiSliderCtrl       PEP_lifetimeVarianceMS_slider     = this.FOT("PEP_lifetimeVarianceMS_slider");
                GuiSliderCtrl       PEP_inheritedVelFactor_slider     = this.FOT("PEP_inheritedVelFactor_slider");
                GuiSliderCtrl       PEP_constantAcceleration_slider   = this.FOT("PEP_constantAcceleration_slider");
                GuiSliderCtrl       PEP_gravityCoefficient_slider     = this.FOT("PEP_gravityCoefficient_slider");
                GuiSliderCtrl       PEP_dragCoefficient_slider        = this.FOT("PEP_dragCoefficient_slider");
                GuiSliderCtrl       PEP_spinRandomMin_slider          = this.FOT("PEP_spinRandomMin_slider");
                GuiSliderCtrl       PEP_spinRandomMax_slider          = this.FOT("PEP_spinRandomMax_slider");
                GuiSliderCtrl       PEP_spinSpeed_slider              = this.FOT("PEP_spinSpeed_slider");
                GuiSliderCtrl       PEP_pointSize_slider0             = this.FOT("PEP_pointSize_slider0");
                GuiSliderCtrl       PEP_pointSize_slider1             = this.FOT("PEP_pointSize_slider1");
                GuiSliderCtrl       PEP_pointSize_slider2             = this.FOT("PEP_pointSize_slider2");
                GuiSliderCtrl       PEP_pointSize_slider3             = this.FOT("PEP_pointSize_slider3");
                GuiSliderCtrl       PEP_pointTime_slider0             = this.FOT("PEP_pointTime_slider0");
                GuiSliderCtrl       PEP_pointTime_slider1             = this.FOT("PEP_pointTime_slider1");
                GuiSliderCtrl       PEP_pointTime_slider2             = this.FOT("PEP_pointTime_slider2");
                GuiSliderCtrl       PEP_pointTime_slider3             = this.FOT("PEP_pointTime_slider3");

                // Populate the selector with the particles assigned
                // to the current emitter.

                bool             containsCurrParticle = false;
                GuiPopUpMenuCtrl popup = PEP_ParticleSelector;

                popup.clear();

                foreach (SimObject particle in PE_EmitterEditor.currEmitter["particles"].Split(' '))
                {
                    if (particle.getId() == this.currParticle)
                    {
                        containsCurrParticle = true;
                    }

                    popup.add(particle.getName(), particle.getId());
                }

                // Just in case the particle doesn't exist, fallback gracefully

                if (!containsCurrParticle)
                {
                    this.currParticle = Util.getWord(PE_EmitterEditor.currEmitter["particles"], 0).getID();
                }

                SimObject data = this.currParticle;

                popup.sort();
                popup.setSelected(data);

                string bitmap = MaterialEditorGui.searchForTexture(data.getName(), data["textureName"]);


                if (bitmap != "")
                {
                    PEP_previewImage.setBitmap(bitmap);
                    PEP_previewImageName.setText(bitmap);
                    PEP_previewImageName.tooltip = bitmap;
                }
                else
                {
                    PEP_previewImage.setBitmap("");
                    PEP_previewImageName.setText("None");
                    PEP_previewImageName.tooltip = "None";
                }

                PEP_inverseAlpha.setValue(data["useInvAlpha"]);

                PEP_lifetimeMS_slider.setValue(data["lifetimeMS"]);
                PEP_lifetimeMS_textEdit.setText(data["lifetimeMS"]);

                PEP_lifetimeVarianceMS_slider.setValue(data["lifetimeVarianceMS"]);
                PEP_lifetimeVarianceMS_textEdit.setText(data["lifetimeVarianceMS"]);

                PEP_inheritedVelFactor_slider.setValue(data["inheritedVelFactor"]);
                PEP_inheritedVelFactor_textEdit.setText(data["inheritedVelFactor"]);

                PEP_constantAcceleration_slider.setValue(data["constantAcceleration"]);
                PEP_constantAcceleration_textEdit.setText(data["constantAcceleration"]);

                PEP_gravityCoefficient_slider.setValue(data["gravityCoefficient"]);
                PEP_gravityCoefficient_textEdit.setText(data["gravityCoefficient"]);

                PEP_dragCoefficient_slider.setValue(data["dragCoefficient"]);
                PEP_dragCoefficient_textEdit.setText(data["dragCoefficient"]);

                PEP_spinRandomMin_slider.setValue(data["spinRandomMin"]);
                PEP_spinRandomMin_textEdit.setText(data["spinRandomMin"]);

                PEP_spinRandomMax_slider.setValue(data["spinRandomMax"]);
                PEP_spinRandomMax_textEdit.setText(data["spinRandomMax"]);

                PEP_spinRandomMax_slider.setValue(data["spinRandomMax"]);
                PEP_spinRandomMax_textEdit.setText(data["spinRandomMax"]);

                PEP_spinSpeed_slider.setValue(data["spinSpeed"]);
                PEP_spinSpeed_textEdit.setText(data["spinSpeed"]);

                PE_ColorTintSwatch0["color"] = data["colors[0]"];
                PE_ColorTintSwatch1["color"] = data["colors[1]"];
                PE_ColorTintSwatch2["color"] = data["colors[2]"];
                PE_ColorTintSwatch3["color"] = data["colors[3]"];

                PEP_pointSize_slider0.setValue(data["sizes[0]"]);
                PEP_pointSize_textEdit0.setText(data["sizes[0]"]);

                PEP_pointSize_slider1.setValue(data["sizes[1]"]);
                PEP_pointSize_textEdit1.setText(data["sizes[1]"]);

                PEP_pointSize_slider2.setValue(data["sizes[2]"]);
                PEP_pointSize_textEdit2.setText(data["sizes[2]"]);

                PEP_pointSize_slider3.setValue(data["sizes[3]"]);
                PEP_pointSize_textEdit3.setText(data["sizes[3]"]);

                PEP_pointTime_slider0.setValue(data["times[0]"]);
                PEP_pointTime_textEdit0.setText(data["times[0]"]);

                PEP_pointTime_slider1.setValue(data["times[1]"]);
                PEP_pointTime_textEdit1.setText(data["times[1]"]);

                PEP_pointTime_slider2.setValue(data["times[2]"]);
                PEP_pointTime_textEdit2.setText(data["times[2]"]);

                PEP_pointTime_slider3.setValue(data["times[3]"]);
                PEP_pointTime_textEdit3.setText(data["times[3]"]);
            }