Пример #1
0
        private void AddKnownPartsAndStates(ThemeClass cls)
        {
            foreach (var partInfo in ThemeInfo.GetParts(cls.ClassName))
            {
                bool partDefined = cls.FindPart(partInfo.Item1) != null;
                var  part        = cls.AddPart(partInfo.Item1, partInfo.Item2);
                part.IsUndefined = !partDefined;

                foreach (var stateInfo in ThemeInfo.GetStates(part))
                {
                    bool stateDefined = part.FindState(stateInfo.Item1) != null;
                    var  state        = part.AddState(stateInfo.Item1, stateInfo.Item2);
                    state.IsUndefined = !stateDefined;
                }
            }
        }
Пример #2
0
        public ThemeState AddState(int stateId, string name = null)
        {
            ThemeState state = FindState(stateId);

            if (state == null)
            {
                state = new ThemeState(this, stateId, name ?? ThemeInfo.GetStateName(Parent.ClassName, Id, stateId));
                if (stateId == 0)
                {
                    partState = state;
                }
                else
                {
                    states.Add(state);
                }
            }

            return(state);
        }
Пример #3
0
        public ThemePart AddPart(int partId, string partName = null)
        {
            ThemePart part = FindPart(partId);

            if (part != null)
            {
                return(part);
            }

            part = new ThemePart(this, partId, partName ?? ThemeInfo.GetPartName(ClassName, partId));
            if (partId == 0)
            {
                classPart = part;
            }
            else
            {
                parts.Add(part);
            }
            return(part);
        }