Esempio n. 1
0
        public bool SetState(bool State, List <Guid> Trace)
        {
            // avoid circle calls
            if (Trace.Contains(this.guid))
            {
                return(false);
            }
            Trace.Add(this.guid);

            PresetGroup group;

            if (!App.presets.Presets.TryGetValue(Preset, out group))
            {
                return(false);
            }

            group.State = State;

            foreach (PresetItem item in group.Items.Values)
            {
                ControlPreset CtrlItem = item as ControlPreset;
                if (CtrlItem != null)
                {
                    CtrlItem.SetState(State, Trace);
                }
                else
                {
                    item.SetState(State);
                }
            }

            return(true);
        }
Esempio n. 2
0
        public override PresetItem Clone()
        {
            ControlPreset item = new ControlPreset();

            Clone(item);
            item.Preset   = this.Preset;
            item.OnState  = this.OnState;
            item.OffState = this.OffState;

            return(item);
        }
Esempio n. 3
0
        public static PresetItem New(PresetType Type)
        {
            PresetItem item = null;

            switch (Type)
            {
            case PresetType.Tweak:     item = new TweakPreset(); break;

            case PresetType.Firewall:  item = new FirewallPreset(); break;

            case PresetType.Control:   item = new ControlPreset(); break;

            case PresetType.Custom:    item = new CustomPreset(); break;

            default: return(null);
            }
            item.Type = Type;
            return(item);
        }