Ejemplo n.º 1
0
        public void cleanup()
        {
            GuiStackControl classList = findObjectByInternalName("classList", true);

            if (classList.isObject())
            {
                classList.clear();
            }

            // Initialize the filter list.
            GuiStackControl filterList = findObjectByInternalName("filterList", true);

            if (filterList.isObject())
            {
                filterList.clear();
            }

            GuiPopUpMenuCtrl groupList = findObjectByInternalName("groupList", true);

            if (groupList.isObject())
            {
                groupList.clear();
            }

            if (this["classArray"].isObject())
            {
                this["classArray"].delete();
            }
        }
Ejemplo n.º 2
0
        protected void BindControl(GuiStackControl control)
        {
            EntityStack stack = (EntityStack)control.Tag;

            control.Text    = stack.Count.ToString();
            control.Visible = stack.Count > 0;
        }
Ejemplo n.º 3
0
        internal override void OnLoad()
        {
            // Create gui stack in hand and bind it to local variable
            guiStackInHand      = new GuiStackControl();
            guiStackInHand.Size = new SlimDX.Vector2(GuiScaling.ItemSize, GuiScaling.ItemSize);
            guiStackInHand.Tag  = stackInHand;
            guiStackInHand.AttachToCursor();
            BindControl(guiStackInHand);

            // setup inventory
            GuiPanel panel;

            for (int i = 0; i < inventory.Slots.Length; i++)
            {
                int x = i % 9;
                int y = i / 9;
                if (y > 0)
                {
                    y++;
                }
                panel = CreateAndBindGuiSlot(inventory.Slots[i], x, y);
            }

            // keep stack in hand in the foreground
            AddControl(guiStackInHand);
        }
Ejemplo n.º 4
0
        public void update()
        {
            GuiStackControl SFXParametersStack = this.FOT("SFXParametersStack");

            for (uint i = 0; i < SFXParametersStack.getCount(); i++)
            {
                // If either the value field or the slider are currently being
                // edited, don't update the value in order to not interfere with
                // user editing.

                GuiControl ctrl = SFXParametersStack.getObject(i);

                GuiTextEditCtrl valueField  = ctrl.FOT("valueField");
                GuiSliderCtrl   valueSlider = ctrl.FOT("valueSlider");

                if (valueField.isFirstResponder() || valueSlider.isThumbBeingDragged())
                {
                    continue;
                }

                SFXParameter parameter = ctrl["sfxParameter"];

                valueField.setValue(parameter.value.AsString());
                valueSlider.setValue(parameter.value.AsString());
            }

            // If the control is still awake, schedule another
            // update.

            if (this.isVisible())
            {
                this.schedule(iGlobal["$SFX_PARAMETERS_UPDATE_INTERVAL"].AsString(), "update");
            }
        }
Ejemplo n.º 5
0
        public virtual void initClassList()
        {
            ArrayObject classArray = new ObjectCreator("ArrayObject").Create();

            this["classArray"] = classArray;

            // Add all classes to the array.

            string classes = Util._call("enumerateConsoleClasses");

            foreach (string className in classes.Split('\t'))
            {
                if (!includeClass(className))
                {
                    continue;
                }

                classArray.push_back(className, "true");
            }
            // Sort the class list.
            classArray.sortk(true);

            // Add checkboxes for all classes to the list.

            GuiStackControl classList = findObjectByInternalName("classList", true);
            int             count     = classArray.count();

            for (int i = 0; i < count; i++)
            {
                string className  = classArray.getKey(i);
                int    textLength = className.Length;
                string text       = " " + className;

                ObjectCreator oc = new ObjectCreator("GuiCheckBoxCtrl");
                oc["canSaveDynamicFields"] = "0";
                oc["isContainer"]          = "0";
                oc["Profile"]          = "ToolsGuiCheckBoxListFlipedProfile";
                oc["HorizSizing"]      = "right";
                oc["VertSizing"]       = "bottom";
                oc["Position"]         = "0 0";
                oc["Extent"]           = (textLength * 4) + " 18";
                oc["MinExtent"]        = "8 2";
                oc["canSave"]          = "0";
                oc["Visible"]          = "1";
                oc["tooltipprofile"]   = "ToolsGuiToolTipProfile";
                oc["hovertime"]        = "1000";
                oc["tooltip"]          = "Include/exclude all " + className + " objects.";
                oc["text"]             = text;
                oc["groupNum"]         = "-1";
                oc["buttonType"]       = "ToggleButton";
                oc["useMouseEvents"]   = "0";
                oc["useInactiveState"] = "0";
                oc["command"]          = classArray + ".setValue( $ThisControl.getValue(), " + i + " );";

                GuiCheckBoxCtrl checkBox = oc.Create();
                checkBox.setStateOn(true);
                classList.addGuiControl(checkBox);
            }
        }
Ejemplo n.º 6
0
        public virtual void selectAllInClassList(string state)
        {
            GuiStackControl classList = findObjectByInternalName("classList", true);

            for (uint i = 0; i < classList.getCount(); i++)
            {
                SimObject ctrl = classList.getObject(i);
                if (ctrl.call("getValue") == state)
                {
                    ctrl.call("performClick");
                }
            }
        }
Ejemplo n.º 7
0
        public void updateOptions()
        {
            GuiStackControl theVisOptionsList = this.findObjectByInternalName("theVisOptionsList", true);

            theVisOptionsList.clear();

            // Go through all the
            // parameters in our array and
            // create a check box for each.
            for (int i = 0; i < array.count(); i++)
            {
                string text           = "  " + array.getValue(i);
                string val            = array.getKey(i);
                string var            = Util.getWord(val, 0);
                string toggleFunction = Util.getWord(val, 1);

                int textLength = text.Length;

                string cmd = "";

                if (toggleFunction != "")
                {
                    cmd = toggleFunction + "( $thisControl.getValue() );";
                }

                ObjectCreator oc = new ObjectCreator("GuiCheckBoxCtrl");
                oc["canSaveDynamicFields"] = "0";
                oc["isContainer"]          = "0";
                oc["Profile"]          = "ToolsGuiCheckBoxListProfile";
                oc["HorizSizing"]      = "right";
                oc["VertSizing"]       = "bottom";
                oc["Position"]         = "0 0";
                oc["Extent"]           = (textLength * 4) + " 18";
                oc["MinExtent"]        = "8 2";
                oc["canSave"]          = "1";
                oc["Visible"]          = "1";
                oc["Variable"]         = var;
                oc["tooltipprofile"]   = "ToolsGuiToolTipProfile";
                oc["hovertime"]        = "1000";
                oc["text"]             = text;
                oc["groupNum"]         = "-1";
                oc["buttonType"]       = "ToggleButton";
                oc["useMouseEvents"]   = "0";
                oc["useInactiveState"] = "0";
                oc["Command"]          = cmd;

                GuiCheckBoxCtrl ctrl = oc.Create();

                theVisOptionsList.addGuiControl(ctrl);
            }
        }
Ejemplo n.º 8
0
        public void removeParameter(SFXParameter parameter)
        {
            GuiStackControl SFXParametersStack = this.FOT("SFXParametersStack");

            for (uint i = 0; i < SFXParametersStack.getCount(); i++)
            {
                SimObject ctrl = SFXParametersStack.getObject(i);

                if (ctrl["sfxParameter"] == parameter)
                {
                    ctrl.delete();
                    break;
                }
            }
        }
Ejemplo n.º 9
0
        public void initList(string filter)
        {
            GuiStackControl SFXParametersStack = this.FOT("SFXParametersStack");
            SimSet          SFXParameterGroup  = "SFXParameterGroup";

            // Clear the current lists.

            SFXParametersStack.clear();

            // Add each SFXParameter in SFXParameterGroup.

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

                // If we have a filter, search for it in the parameter's
                // categories.

                bool matchesFilter = true;
                if (filter != "")
                {
                    matchesFilter = false;

                    for (int idx = 0; obj["categories[" + idx + "]"] != ""; idx++)
                    {
                        if (obj["categories[" + idx + "]"] == filter)
                        {
                            matchesFilter = true;
                            break;
                        }
                    }
                }

                if (matchesFilter)
                {
                    this.addParameter((SFXParameter)obj);
                }
            }

            // Init the filters.

            this.initFilterList(filter);
        }
Ejemplo n.º 10
0
        void slot_OnClick(object sender, EventArgs e)
        {
            bool pickingUp  = stackInHand.IsEmpty;
            bool leftMouse  = Input.Instance.CurrentInput.MouseState.IsPressed(0);
            bool rightMouse = !leftMouse;

            // setup variables
            GuiPanel        guiSelectedSlot  = (GuiPanel)sender;
            GuiStackControl guiSelectedStack = (GuiStackControl)guiSelectedSlot.Controls[0];
            Slot            selectedSlot     = (Slot)guiSelectedSlot.Tag;

            // return if there is nothing to pick up
            if (pickingUp && selectedSlot.IsEmpty)
            {
                return;
            }

            if (pickingUp)
            {
                if (!OnPickUp(guiSelectedSlot, guiSelectedStack, selectedSlot))
                {
                    int transferCount = leftMouse ? selectedSlot.Content.Count : selectedSlot.Content.Count / 2;
                    selectedSlot.Content.TransferEntities(stackInHand, transferCount);
                    BindControl(guiStackInHand);
                    BindControl(guiSelectedStack);
                    OnAfterPickUp(guiSelectedSlot, guiSelectedStack, selectedSlot);
                }
            }
            else
            {
                if (!OnBeforeTransfer(guiSelectedSlot, guiSelectedStack, selectedSlot))
                {
                    int transferCount = leftMouse ? stackInHand.Count : 1;
                    int beforeCount   = stackInHand.Count;
                    stackInHand.TransferEntities(selectedSlot.Content, transferCount);
                    bool stackInHandUnchanged = beforeCount == stackInHand.Count;
                    if (stackInHandUnchanged && leftMouse)
                    {
                        stackInHand.Swap(selectedSlot.Content);
                    }
                    BindControl(guiStackInHand);
                    BindControl(guiSelectedStack);
                    OnAfterTransfer(guiSelectedSlot, guiSelectedStack, selectedSlot);
                }
            }
        }
Ejemplo n.º 11
0
        public override void onWake()
        {
            GuiStackControl SFXParametersStack = this.FOT("SFXParametersStack");

            // If the parameter list is empty, add all SFXParameters in the
            // SFXParameterGroup to the list.

            if (SFXParametersStack.getCount() == 0)
            {
                this.initList("");
            }

            if (!this.persistenceMgr.isObject())
            {
                this.persistenceMgr = new ObjectCreator("PersistenceManager").Create();
            }
        }
Ejemplo n.º 12
0
        protected GuiPanel CreateAndBindGuiSlot(Slot slot, int x, int y)
        {
            GuiPanel panel = new GuiPanel()
            {
                Location = new SlimDX.Vector2(x * slotSize, y * slotSize),
                Size     = new SlimDX.Vector2(slotSize, slotSize),
                Text     = "",
                Tag      = slot
            };

            panel.OnClick += new EventHandler <EventArgs>(slot_OnClick);
            AddControl(panel);

            // add moveable control...
            GuiStackControl guiStack = new GuiStackControl();

            guiStack.Size = new SlimDX.Vector2(GuiScaling.ItemSize, GuiScaling.ItemSize);
            guiStack.Tag  = slot.Content;
            panel.AddControl(guiStack);
            guiStack.CenterInParent();
            BindControl(guiStack);

            return(panel);
        }
Ejemplo n.º 13
0
 protected virtual bool OnPickUp(GuiPanel guiSlot, GuiStackControl guiStack, Slot slot)
 {
     return(false);
 }
Ejemplo n.º 14
0
 protected virtual void OnAfterPickUp(GuiPanel guiSlot, GuiStackControl guiStack, Slot slot)
 {
 }
Ejemplo n.º 15
0
        public void addClassOptions()
        {
            GuiStackControl visList = this.findObjectByInternalName("theClassVisList", true);
            GuiStackControl selList = this.findObjectByInternalName("theClassSelList", true);

            // First clear the stack control.
            visList.clear();
            selList.clear();

            string classList  = Util._call("enumerateConsoleClasses", "SceneObject");
            int    classCount = Util.getFieldCount(classList);

            for (int i = 0; i < classCount; i++)
            {
                string className = Util.getField(classList, i);
                classArray.push_back(className, "");
            }

            // Remove duplicates and sort by key.
            this.classArray.uniqueKey();
            this.classArray.sortkd();

            // Go through all the
            // parameters in our array and
            // create a check box for each.

            for (int i = 0; i < classArray.count(); i++)
            {
                string Class = classArray.getKey(i);

                string visVar = "$" + Class + "::isRenderable";
                string selVar = "$" + Class + "::isSelectable";

                int textLength = Class.Length;

                string text = "  " + Class;

                // Add visibility toggle.

                ObjectCreator oc = new ObjectCreator("GuiCheckBoxCtrl");
                oc["canSaveDynamicFields"] = "0";
                oc["isContainer"]          = "0";
                oc["Profile"]          = "ToolsGuiCheckBoxListFlipedProfile";
                oc["HorizSizing"]      = "right";
                oc["VertSizing"]       = "bottom";
                oc["Position"]         = "0 0";
                oc["Extent"]           = (textLength * 4) + " 18";
                oc["MinExtent"]        = "8 2";
                oc["canSave"]          = "1";
                oc["Visible"]          = "1";
                oc["Variable"]         = visVar;
                oc["tooltipprofile"]   = "ToolsGuiToolTipProfile";
                oc["hovertime"]        = "1000";
                oc["tooltip"]          = "Show/hide all " + Class + " objects.";
                oc["text"]             = text;
                oc["groupNum"]         = "-1";
                oc["buttonType"]       = "ToggleButton";
                oc["useMouseEvents"]   = "0";
                oc["useInactiveState"] = "0";

                GuiCheckBoxCtrl ctrl = oc.Create();
                visList.addGuiControl(ctrl);
                // Add selectability toggle.
                oc = new ObjectCreator("GuiCheckBoxCtrl");
                oc["canSaveDynamicFields"] = "0";
                oc["isContainer"]          = "0";
                oc["Profile"]          = "ToolsGuiCheckBoxListFlipedProfile";
                oc["HorizSizing"]      = "right";
                oc["VertSizing"]       = "bottom";
                oc["Position"]         = "0 0";
                oc["Extent"]           = (textLength * 4) + " 18";
                oc["MinExtent"]        = "8 2";
                oc["canSave"]          = "1";
                oc["Visible"]          = "1";
                oc["Variable"]         = selVar;
                oc["tooltipprofile"]   = "ToolsGuiToolTipProfile";
                oc["hovertime"]        = "1000";
                oc["tooltip"]          = "Enable/disable selection of all " + Class + " objects.";
                oc["text"]             = text;
                oc["groupNum"]         = "-1";
                oc["buttonType"]       = "ToggleButton";
                oc["useMouseEvents"]   = "0";
                oc["useInactiveState"] = "0";
                ctrl = oc.Create();

                selList.addGuiControl(ctrl);
            }
        }
Ejemplo n.º 16
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.º 17
0
 protected virtual bool OnBeforeTransfer(GuiPanel guiSlot, GuiStackControl guiStack, Slot slot)
 {
     return(false);
 }
Ejemplo n.º 18
0
 protected virtual void OnAfterTransfer(GuiPanel guiSlot, GuiStackControl guiStack, Slot slot)
 {
 }
Ejemplo n.º 19
0
        public void updateLayers(string matIndex)
        {
            TerrainEditor ETerrainEditor     = "ETerrainEditor";
            SimSet        TerrainMaterialSet = "TerrainMaterialSet";

            // Default to whatever was selected before.
            if (matIndex == "")
            {
                matIndex = ETerrainEditor.paintIndex.AsString();
            }
            else
            {
                ETerrainEditor.paintIndex = matIndex.AsInt(); //TerrainPainterAddition
            }
            // The material string is a newline seperated string of
            // TerrainMaterial internal names which we can use to find
            // the actual material data in TerrainMaterialSet.

            string mats = ETerrainEditor.getMaterials();

            GuiStackControl matList = this.findObjectByInternalName("theMaterialList", true);

            matList.deleteAllObjects();

            string listWidth = matList.getExtent().x.AsString();

            for (int i = 0; i < Util.getRecordCount(mats); i++)
            {
                string          matInternalName = Util.getRecord(mats, i);
                TerrainMaterial mat             = TerrainMaterialSet.findObjectByInternalName(matInternalName, true);
                // Is there no material info for this slot?

                if (!mat.isObject())
                {
                    continue;
                }

                //if( this.filter != "" )
                //{
                //    if( Util.strstr( Util.strlwr(matInternalName), Util.strlwr(this.filter) ) == -1 )
                //        continue;
                //}

                ////TerrainPainterAddition
                //string terrainFolder = mat["terrainFolder"];
                //if( terrainFolder == "" )
                //    terrainFolder = "Unused";

                //string rolloutName = terrainFolder + "Rollout";
                //GuiRolloutCtrl rollout = matList.FOT(rolloutName);
                //GuiStackControl stack = "";
                //if( !rollout.isObject() )
                //{
                //    ObjectCreator ocRollout = new ObjectCreator("GuiRolloutCtrl");
                //    ocRollout["caption"] = terrainFolder;
                //    ocRollout["extent"] = listWidth + " " + "0";
                //    ocRollout["internalName"] = rolloutName;

                //    rollout = ocRollout.Create();

                //    ObjectCreator ocStack = new ObjectCreator("GuiStackControl");
                //    ocStack["StackingType"] = "Vertical";
                //    ocStack["HorizStacking"] = "Left to Right";
                //    ocStack["VertStacking"] = "Top to Bottom";
                //    ocStack["Padding"] = "-2";
                //    ocStack["canSaveDynamicFields"] = "0";
                //    ocStack["Enabled"] = "1";
                //    ocStack["isContainer"] = "1";
                //    ocStack["Profile"] = "ToolsGuiDefaultProfile";
                //    ocStack["HorizSizing"] = "width";
                //    ocStack["VertSizing"] = "bottom";
                //    ocStack["Position"] = "1 3";
                //    ocStack["Extent"] = listWidth + "" + "16";
                //    ocStack["MinExtent"] = "16 16";
                //    ocStack["canSave"] = "1";
                //    ocStack["isDecoy"] = "0";
                //    ocStack["Visible"] = "1";
                //    ocStack["internalName"] = "stackControl";
                //    ocStack["tooltipprofile"] = "ToolsGuiToolTipProfile";
                //    ocStack["hovertime"] = "1000";

                //    stack = ocStack.Create();

                //    rollout.add(stack);

                //    matList.add(rollout);
                //}
                //else
                //{
                //    stack = rollout.FOT("stackControl");
                //}

                //int index = matList.getCount();

                string command    = "ETerrainEditor.setPaintMaterial( " + i + ", " + mat + " );TerrainPainter.removeOtherSelections($ThisControl);TerrainPainter.lastActiveButton = $ThisControl;";
                string altCommand = "TerrainMaterialDlg.show( " + i + ", " + mat +
                                    ", EPainter_TerrainMaterialUpdateCallback );";

                ObjectCreator oc = new ObjectCreator("GuiIconButtonCtrl", "", typeof(EPainterIconBtn));
                //oc["class"] = "EPainterIconBtn";
                oc["internalName"]     = "EPainterMaterialButton" + i;
                oc["profile"]          = "GuiCreatorIconButtonProfile";
                oc["iconLocation"]     = "Left";
                oc["textLocation"]     = "Right";
                oc["extent"]           = listWidth + " 46";
                oc["textMargin"]       = 5;
                oc["buttonMargin"]     = "4 4";
                oc["buttonType"]       = "RadioButton";
                oc["sizeIconToButton"] = true;
                oc["makeIconSquare"]   = true;
                oc["tooltipprofile"]   = "ToolsGuiToolTipProfile";
                oc["command"]          = command;
                oc["altCommand"]       = altCommand;
                oc["useMouseEvents"]   = true;

                ObjectCreator oc1 = new ObjectCreator("GuiBitmapButtonCtrl");
                oc1["bitmap"]      = "tools/gui/images/delete";
                oc1["buttonType"]  = "PushButton";
                oc1["HorizSizing"] = "left";
                oc1["VertSizing"]  = "bottom";
                oc1["position"]    = (listWidth.AsInt() - 20) + " 26";
                oc1["Extent"]      = "17 17";
                //Copyright Winterleaf Entertainment L.L.C. 2013
                oc1["command"] = "TerrainPainter.showMaterialDeleteDlg( " + matInternalName + " );";
                //Copyright Winterleaf Entertainment L.L.C. 2013

                oc["#1"] = oc1;

                EPainterIconBtn ctrl = oc.Create();

                ctrl.setText(matInternalName);
                ctrl.setBitmap(mat.diffuseMap);

                string tooltip = matInternalName;

                if (i < 9)
                {
                    tooltip = tooltip + " (" + (i + 1) + ")";
                }
                else if (i == 9)
                {
                    tooltip = tooltip + " (0)";
                }

                ctrl.tooltip = tooltip;

                //stack.add(ctrl);
                matList.add(ctrl);
            }

            //int matCount = ETerrainEditor.getMaterialCount();
            int matCount = matList.getCount();
            // Add one more layer as the 'add new' layer.
            ObjectCreator ocb = new ObjectCreator("GuiIconButtonCtrl");

            ocb["profile"]          = "GuiCreatorIconButtonProfile";
            ocb["iconBitmap"]       = "tools/worldEditor/images/terrainpainter/new_layer_icon";
            ocb["iconLocation"]     = "Left";
            ocb["textLocation"]     = "Right";
            ocb["extent"]           = listWidth + " 46";
            ocb["textMargin"]       = 5;
            ocb["buttonMargin"]     = "4 4";
            ocb["buttonType"]       = "PushButton";
            ocb["sizeIconToButton"] = true;
            ocb["makeIconSquare"]   = true;
            ocb["tooltipprofile"]   = "ToolsGuiToolTipProfile";
            ocb["text"]             = "New Layer";
            ocb["tooltip"]          = "New Layer";
            ocb["command"]          = "TerrainMaterialDlg.show( " + matCount + ", 0, EPainter_TerrainMaterialAddCallback );";
            GuiIconButtonCtrl ictrl = ocb.Create();

            matList.add(ictrl);

            // Make sure our selection is valid and that we're
            // not selecting the 'New Layer' button.

            if (matIndex.AsInt() < 0)
            {
                return;
            }
            if (matIndex.AsInt() >= matCount)
            {
                matIndex = "0";
            }

            // To make things simple... click the paint material button to
            // active it and initialize other state.

            ictrl = matList.getObject(matIndex.AsUint());
            //ictrl = matList.findObjectByInternalName("EPainterMaterialButton" + matIndex, true);

            ictrl.call("performClick");
        }
Ejemplo n.º 20
0
        public void init()
        {
            Settings EditorSettings = "EditorSettings";

            this["currentLevel"]       = "";
            this["currentRolloutCtrl"] = "";

            string levelInfoPath = "LevelInformation/levels";

            for (string fieldName = EditorSettings.findFirstValue(levelInfoPath, true, true);
                 fieldName != "";
                 fieldName = EditorSettings.findNextValue())
            {
                int fieldSlashPos = 0;
                int levelSlashPos = 0;
                while (Util.strpos(fieldName, "/", fieldSlashPos) != -1)
                {
                    levelSlashPos = fieldSlashPos;

                    int temp = Util.strpos(fieldName, "/", fieldSlashPos);
                    fieldSlashPos = temp + 1;
                }
                string levelName = Util.getSubStr(fieldName, levelSlashPos, ((fieldSlashPos - levelSlashPos) - 1));

                GuiStackControl content      = this.FOT("content");
                bool            alreadyExist = false;
                for (uint i = 0; i < content.getCount(); i++)
                {
                    alreadyExist = false;
                    if (((SimObject)content.getObject(i))["caption"] == levelName)
                    {
                        alreadyExist = true;
                        break;
                    }
                }

                if (this["currentLevel"] != levelName && !alreadyExist)
                {
                    //Hold current level and reset gui params
                    this["currentLevel"] = levelName;
                    //%this.currentLevel = "\""@%levelName@"\"";

                    //Create and hold current rollout ctrl

                    #region GuiRolloutCtrl ()        oc_Newobject20

                    ObjectCreator oc_Newobject20 = new ObjectCreator("GuiRolloutCtrl", "");
                    oc_Newobject20["Profile"]     = "GuiRolloutProfile";
                    oc_Newobject20["HorizSizing"] = "width";
                    oc_Newobject20["VertSizing"]  = "bottom";
                    oc_Newobject20["position"]    = "10 10";
                    oc_Newobject20["extent"]      = "208 95";
                    oc_Newobject20["Caption"]     = levelName;
                    oc_Newobject20["Margin"]      = "0 0 0 -3";
                    oc_Newobject20["DragSizable"] = new ObjectCreator.StringNoQuote("false");
                    oc_Newobject20["container"]   = new ObjectCreator.StringNoQuote("true");

                    #region GuiStackControl ()        oc_Newobject19

                    ObjectCreator oc_Newobject19 = new ObjectCreator("GuiStackControl", "");
                    oc_Newobject19["StackingType"]   = "Vertical";
                    oc_Newobject19["HorizStacking"]  = "Left to Right";
                    oc_Newobject19["VertStacking"]   = "Top to Bottom";
                    oc_Newobject19["Padding"]        = "0";
                    oc_Newobject19["isContainer"]    = "1";
                    oc_Newobject19["Profile"]        = "ToolsGuiDefaultProfile";
                    oc_Newobject19["HorizSizing"]    = "width";
                    oc_Newobject19["VertSizing"]     = "bottom";
                    oc_Newobject19["position"]       = "0 0";
                    oc_Newobject19["Extent"]         = "208 0";
                    oc_Newobject19["MinExtent"]      = "8 2";
                    oc_Newobject19["canSave"]        = "1";
                    oc_Newobject19["isDecoy"]        = "0";
                    oc_Newobject19["Visible"]        = "1";
                    oc_Newobject19["tooltipprofile"] = "ToolsGuiToolTipProfile";
                    oc_Newobject19["hovertime"]      = "1000";

                    #region GuiContainer ()        oc_Newobject10

                    ObjectCreator oc_Newobject10 = new ObjectCreator("GuiContainer", "");
                    oc_Newobject10["HorizSizing"] = "right";
                    oc_Newobject10["VertSizing"]  = "bottom";
                    oc_Newobject10["Position"]    = "0 0";
                    oc_Newobject10["Extent"]      = "208 2";

                    #endregion

                    oc_Newobject19["#Newobject10"] = oc_Newobject10;

                    #region GuiContainer ()        oc_Newobject13

                    ObjectCreator oc_Newobject13 = new ObjectCreator("GuiContainer", "");
                    oc_Newobject13["HorizSizing"] = "right";
                    oc_Newobject13["VertSizing"]  = "bottom";
                    oc_Newobject13["Position"]    = "0 0";
                    oc_Newobject13["Extent"]      = "208 22";
                    oc_Newobject13["Docking"]     = "none";

                    #region GuiTextCtrl ()        oc_Newobject11

                    ObjectCreator oc_Newobject11 = new ObjectCreator("GuiTextCtrl", "");
                    oc_Newobject11["text"]                 = "Camera Speed Min:";
                    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"]              = "ToolsGuiTextRightProfile";
                    oc_Newobject11["horizSizing"]          = "right";
                    oc_Newobject11["vertSizing"]           = "bottom";
                    oc_Newobject11["position"]             = "5 3";
                    oc_Newobject11["extent"]               = "96 16";
                    oc_Newobject11["minExtent"]            = "8 2";
                    oc_Newobject11["visible"]              = "1";
                    oc_Newobject11["active"]               = "1";
                    oc_Newobject11["tooltipProfile"]       = "ToolsGuiToolTipProfile";
                    oc_Newobject11["hovertime"]            = "1000";
                    oc_Newobject11["canSave"]              = "1";
                    oc_Newobject11["canSaveDynamicFields"] = "0";

                    #endregion

                    oc_Newobject13["#Newobject11"] = oc_Newobject11;

                    #region GuiTextEditCtrl ()        oc_Newobject12

                    ObjectCreator oc_Newobject12 = new ObjectCreator("GuiTextEditCtrl", "");
                    oc_Newobject12["historySize"]          = "0";
                    oc_Newobject12["password"]             = "******";
                    oc_Newobject12["tabComplete"]          = "0";
                    oc_Newobject12["sinkAllKeyEvents"]     = "0";
                    oc_Newobject12["passwordMask"]         = "*";
                    oc_Newobject12["maxLength"]            = "1024";
                    oc_Newobject12["margin"]               = "0 0 0 0";
                    oc_Newobject12["padding"]              = "0 0 0 0";
                    oc_Newobject12["anchorTop"]            = "1";
                    oc_Newobject12["anchorBottom"]         = "0";
                    oc_Newobject12["anchorLeft"]           = "1";
                    oc_Newobject12["anchorRight"]          = "0";
                    oc_Newobject12["isContainer"]          = "0";
                    oc_Newobject12["profile"]              = "ToolsGuiNumericTextEditProfile";
                    oc_Newobject12["horizSizing"]          = "width";
                    oc_Newobject12["vertSizing"]           = "bottom";
                    oc_Newobject12["position"]             = "106 2";
                    oc_Newobject12["extent"]               = "95 18";
                    oc_Newobject12["minExtent"]            = "8 2";
                    oc_Newobject12["visible"]              = "1";
                    oc_Newobject12["active"]               = "1";
                    oc_Newobject12["tooltipProfile"]       = "ToolsGuiToolTipProfile";
                    oc_Newobject12["hovertime"]            = "1000";
                    oc_Newobject12["canSave"]              = "1";
                    oc_Newobject12["canSaveDynamicFields"] = "1";
                    oc_Newobject12["class"] = "ESettingsWindowTextEdit";
                    oc_Newobject12["editorSettingsRead"]  = "EditorGui.readCameraSettings( \\\"" + levelName + "\\\" );";
                    oc_Newobject12["editorSettingsValue"] = "LevelInformation/levels/" + levelName + "/cameraSpeedMin";
                    oc_Newobject12["editorSettingsWrite"] = "EditorGui.writeCameraSettings( \\\"" + levelName +
                                                            "\\\" );";

                    #endregion

                    oc_Newobject13["#Newobject12"] = oc_Newobject12;

                    #endregion

                    oc_Newobject19["#Newobject13"] = oc_Newobject13;

                    #region GuiContainer ()        oc_Newobject16

                    ObjectCreator oc_Newobject16 = new ObjectCreator("GuiContainer", "");
                    oc_Newobject16["HorizSizing"] = "right";
                    oc_Newobject16["VertSizing"]  = "bottom";
                    oc_Newobject16["Position"]    = "0 0";
                    oc_Newobject16["Extent"]      = "208 22";
                    oc_Newobject16["Docking"]     = "none";

                    #region GuiTextCtrl ()        oc_Newobject14

                    ObjectCreator oc_Newobject14 = new ObjectCreator("GuiTextCtrl", "");
                    oc_Newobject14["text"]                 = "Camera Speed Max:";
                    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"]              = "ToolsGuiTextRightProfile";
                    oc_Newobject14["horizSizing"]          = "right";
                    oc_Newobject14["vertSizing"]           = "bottom";
                    oc_Newobject14["position"]             = "5 3";
                    oc_Newobject14["extent"]               = "96 16";
                    oc_Newobject14["minExtent"]            = "8 2";
                    oc_Newobject14["visible"]              = "1";
                    oc_Newobject14["active"]               = "1";
                    oc_Newobject14["tooltipProfile"]       = "ToolsGuiToolTipProfile";
                    oc_Newobject14["hovertime"]            = "1000";
                    oc_Newobject14["canSave"]              = "1";
                    oc_Newobject14["canSaveDynamicFields"] = "0";

                    #endregion

                    oc_Newobject16["#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"]              = "ToolsGuiNumericTextEditProfile";
                    oc_Newobject15["horizSizing"]          = "width";
                    oc_Newobject15["vertSizing"]           = "bottom";
                    oc_Newobject15["position"]             = "106 2";
                    oc_Newobject15["extent"]               = "95 18";
                    oc_Newobject15["minExtent"]            = "8 2";
                    oc_Newobject15["visible"]              = "1";
                    oc_Newobject15["active"]               = "1";
                    oc_Newobject15["tooltipProfile"]       = "ToolsGuiToolTipProfile";
                    oc_Newobject15["hovertime"]            = "1000";
                    oc_Newobject15["canSave"]              = "1";
                    oc_Newobject15["canSaveDynamicFields"] = "1";
                    oc_Newobject15["class"] = "ESettingsWindowTextEdit";
                    oc_Newobject15["editorSettingsRead"]  = "EditorGui.readCameraSettings( \\\"" + levelName + "\\\" );";
                    oc_Newobject15["editorSettingsValue"] = "LevelInformation/levels/" + levelName + "/cameraSpeedMax";
                    oc_Newobject15["editorSettingsWrite"] = "EditorGui.writeCameraSettings( \\\"" + levelName +
                                                            "\\\" );";

                    #endregion

                    oc_Newobject16["#Newobject15"] = oc_Newobject15;

                    #endregion

                    oc_Newobject19["#Newobject16"] = oc_Newobject16;

                    #region GuiContainer ()        oc_Newobject18

                    ObjectCreator oc_Newobject18 = new ObjectCreator("GuiContainer", "");
                    oc_Newobject18["HorizSizing"] = "right";
                    oc_Newobject18["VertSizing"]  = "bottom";
                    oc_Newobject18["Position"]    = "0 0";
                    oc_Newobject18["Extent"]      = "208 24";
                    oc_Newobject18["Docking"]     = "none";

                    #region GuiButtonCtrl ()        oc_Newobject17

                    ObjectCreator oc_Newobject17 = new ObjectCreator("GuiButtonCtrl", "");
                    oc_Newobject17["canSaveDynamicFields"] = "0";
                    oc_Newobject17["Enabled"]     = "1";
                    oc_Newobject17["isContainer"] = "0";
                    oc_Newobject17["HorizSizing"] = "width";
                    oc_Newobject17["VertSizing"]  = "bottom";
                    oc_Newobject17["Position"]    = "5 2";
                    oc_Newobject17["Extent"]      = "196 18";
                    oc_Newobject17["MinExtent"]   = "8 8";
                    oc_Newobject17["canSave"]     = "1";
                    oc_Newobject17["isDecoy"]     = "0";
                    oc_Newobject17["Visible"]     = "1";
                    oc_Newobject17["Command"]     = "ECameraSettingsPage.deleteCameraSettingsGroup(\\\"" + levelName +
                                                    "\\\", $ThisControl.getParent().getParent().getParent());";
                    oc_Newobject17["tooltipprofile"] = "ToolsGuiToolTipProfile";
                    oc_Newobject17["hovertime"]      = "1000";
                    oc_Newobject17["text"]           = "Delete Level Settings";
                    oc_Newobject17["groupNum"]       = "-1";
                    oc_Newobject17["buttonType"]     = "PushButton";
                    oc_Newobject17["useMouseEvents"] = "1";

                    #endregion

                    oc_Newobject18["#Newobject17"] = oc_Newobject17;

                    #endregion

                    oc_Newobject19["#Newobject18"] = oc_Newobject18;

                    #endregion

                    oc_Newobject20["#Newobject19"] = oc_Newobject19;

                    #endregion

                    this["currentRolloutCtrl"] = oc_Newobject20.Create().AsString();
                    content.add(this["currentRolloutCtrl"]);
                }
            }
        }