コード例 #1
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);
        }
コード例 #2
0
        public virtual void initGroupList()
        {
            GuiPopUpMenuCtrl groupList = findObjectByInternalName("groupList", true);

            int selected = 0;

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

            groupList.clear();

            SimGroup root = getRootGroup();

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

            // Select initial group.
            if (selected != 0 && selected.AsString().isObject())
            {
                groupList.setSelected(selected);
            }
            else
            {
                groupList.setSelected(root.getId());
            }
        }
コード例 #3
0
        public void init(string guiName, string guiClass)
        {
            GuiEditorGui.GuiEditor GuiEditor = "GuiEditor";
            GuiTextEditCtrl        nameField = this.FOT("nameField");

            nameField.setValue(guiName);

            // Initialize the class dropdown if we haven't already.

            GuiPopUpMenuCtrl classDropdown = this.FOT("classDropdown");

            if (classDropdown.size() == 0)
            {
                string classes = Util.enumerateConsoleClassesByCategory("Gui");
                int    count   = Util.getFieldCount(classes);

                for (int i = 0; i < count; i++)
                {
                    string className = Util.getField(classes, i);
                    if (GuiEditor.isFilteredClass(className) ||
                        !Util.isMemberOfClass(className, "GuiControl"))
                    {
                        continue;
                    }

                    classDropdown.add(className, 0);
                }

                classDropdown.sort();
            }

            classDropdown.setText("GuiControl");
        }
コード例 #4
0
        public void init(string ease, string callback)
        {
            GuiPopUpMenuCtrl directionList = this.FOT("directionList");
            GuiPopUpMenuCtrl typeList      = this.FOT("typeList");

            // Initialize direction popup.

            if (directionList.size() == 0)
            {
                directionList.add("InOut", iGlobal["$Ease::InOut"]);
                directionList.add("In", iGlobal["$Ease::In"]);
                directionList.add("Out", iGlobal["$Ease::Out"]);
            }

            // Initialize type popup.

            if (typeList.size() == 0)
            {
                typeList.add("Linear", iGlobal["$Ease::Linear"]);
                typeList.add("Quadratic", iGlobal["$Ease::Quadratic"]);
                typeList.add("Cubic", iGlobal["$Ease::Cubic"]);
                typeList.add("Quartic", iGlobal["$Ease::Quartic"]);
                typeList.add("Quintic", iGlobal["$Ease::Quintic"]);
                typeList.add("Sinusoidal", iGlobal["$Ease::Sinusoidal"]);
                typeList.add("Exponential", iGlobal["$Ease::Exponential"]);
                typeList.add("Circular", iGlobal["$Ease::Circular"]);
                typeList.add("Elastic", iGlobal["$Ease::Elastic"]);
                typeList.add("Back", iGlobal["$Ease::Back"]);
                typeList.add("Bounce", iGlobal["$Ease::Bounce"]);
            }

            // Set the initial easing curve.

            this["oldEase"] = ease;
            this.setEase(ease);

            // Remember callback.

            this["callback"] = callback;
        }