コード例 #1
0
        public override void SetEntryData(SettingsEntryBase entryData)
        {
            rangeEntry = CastEntryData <SettingsEntryRange <T> >(entryData);

            label.Text           = entryData.Name;
            slider.IsWholeNumber = rangeEntry is SettingsEntryInt;
        }
コード例 #2
0
        /// <summary>
        /// Creates ane returns a new content entry for specified entry data.
        /// </summary>
        private BaseContentEntry CreateEntryObject(SettingsEntryBase entryData)
        {
            if (entryData == null)
            {
                throw new NullReferenceException("entryData mustn't be null!");
            }

            if (entryData is SettingsEntryAction)
            {
                return(CreateChild <ContentButtonEntry>("action"));
            }
            else if (entryData is SettingsEntryBool)
            {
                return(CreateChild <ContentToggleEntry>("bool"));
            }
            else if (entryData is SettingsEntryEnum)
            {
                return(CreateChild <ContentSelectionEntry>("enum"));
            }
            else if (entryData is SettingsEntryFloat)
            {
                return(CreateChild <ContentFloatEntry>("float"));
            }
            else if (entryData is SettingsEntryInt)
            {
                return(CreateChild <ContentIntEntry>("int"));
            }
            else if (entryData is SettingsEntryString)
            {
                return(CreateChild <ContentInputEntry>("string"));
            }
            throw new Exception("Unsupported entry type: " + entryData.GetType().Name);
        }
コード例 #3
0
 /// <summary>
 /// Tries casting the specified entry data as type T and returns it.
 /// If failed, it will throw an exception.
 /// </summary>
 protected T CastEntryData <T>(SettingsEntryBase entryData)
     where T : SettingsEntryBase
 {
     if (entryData is T t)
     {
         return(t);
     }
     throw new ArgumentException("entryData is not a type of " + typeof(T).Name);
 }
コード例 #4
0
        public override void SetEntryData(SettingsEntryBase entryData)
        {
            enumEntry = CastEntryData <SettingsEntryEnum>(entryData);

            label.Text = enumEntry.Name;

            dropdownContext.Datas.Clear();
            foreach (var item in enumEntry.GetValues())
            {
                dropdownContext.Datas.Add(new DropdownData(item));
            }
            dropdownContext.SelectData(dropdownContext.FindData(d => d.Text.Equals(enumEntry.Value, StringComparison.Ordinal)));
        }
コード例 #5
0
        public override void SetEntryData(SettingsEntryBase entryData)
        {
            if (boolEntry != null)
            {
                boolEntry.OnDataValueChange -= OnEntryValueChange;
            }

            boolEntry = CastEntryData <SettingsEntryBool>(entryData);
            boolEntry.OnDataValueChange += OnEntryValueChange;

            toggle.LabelText = boolEntry.Name;
            toggle.IsFocused = boolEntry.Value;
        }
コード例 #6
0
        public override void SetEntryData(SettingsEntryBase entryData)
        {
            if (stringEntry != null)
            {
                stringEntry.OnDataValueChange -= OnEntryValueChange;
            }

            stringEntry = CastEntryData <SettingsEntryString>(entryData);
            stringEntry.OnDataValueChange += OnEntryValueChange;

            label.Text = stringEntry.Name;
            input.Text = stringEntry.Value;
        }
コード例 #7
0
        public override void SetEntryData(SettingsEntryBase entryData)
        {
            if (this.rangeEntry != null)
            {
                this.rangeEntry.OnDataValueChange -= OnEntryValueChange;
            }

            base.SetEntryData(entryData);
            rangeEntry.OnDataValueChange += OnEntryValueChange;

            slider.MinValue = rangeEntry.MinValue;
            slider.MaxValue = rangeEntry.MaxValue;
            slider.Value    = rangeEntry.Value;
        }
コード例 #8
0
        public override void SetEntryData(SettingsEntryBase entryData)
        {
            actionEntry = CastEntryData <SettingsEntryAction>(entryData);

            button.LabelText = entryData.Name;
        }
コード例 #9
0
 /// <summary>
 /// Sets entry data to be represented by this object.
 /// </summary>
 public abstract void SetEntryData(SettingsEntryBase entryData);