コード例 #1
0
        public override bool CanBeUsedByView(View view, SetterContainer container)
        {
            var multipleSetterContainer = (MultipleSetterContainer)container;

            if (view.Parent == null)
            {
                return(false);
            }

            return(CanBeUsedByParent(view.Parent, multipleSetterContainer) && _viewSelector.CanBeUsedByView(view, multipleSetterContainer.Container));
        }
コード例 #2
0
        private static void UpdateSetters(SelectorIndex selectorIndex, SetterContainer setterContainer)
        {
            var  setters = GetSetters(selectorIndex, setterContainer);
            bool changed = false;

            foreach (var setter in setterContainer.GetSetters())
            {
                if (UpdateSetter(setters, setter))
                {
                    changed = true;
                }
            }

            if (changed)
            {
                selectorIndex.OnSelectorChange(setterContainer.GetSelector().SelectorKey);
            }
        }
コード例 #3
0
        public override string GetContainerKey(SetterContainer container)
        {
            var multipleSetterContainer = (MultipleSetterContainer)container;

            return(GetParentContainerKey(multipleSetterContainer) + _viewSelector.GetContainerKey(multipleSetterContainer.Container));
        }
コード例 #4
0
        private static Dictionary <string, Setter> GetSetters(SelectorIndex selectorIndex, SetterContainer setterContainer)
        {
            var key = setterContainer.GetSelector().GetContainerKey(setterContainer);
            Dictionary <string, Setter> result;

            if (selectorIndex.Setters.TryGetValue(key, out result))
            {
                return(result);
            }

            result = new Dictionary <string, Setter>();
            selectorIndex.Setters.Add(key, result);

            return(result);
        }
コード例 #5
0
ファイル: Selector.cs プロジェクト: aleGuardiola/OpenGUI
 /// <summary>
 /// Get the key used by this container.
 /// </summary>
 /// <param name="container">The container.</param>
 /// <returns>Returns the unique key that represents this set of styles.</returns>
 public abstract string GetContainerKey(SetterContainer container);
コード例 #6
0
ファイル: Selector.cs プロジェクト: aleGuardiola/OpenGUI
 /// <summary>
 /// Check if a view can use the styles in a gived container.
 /// </summary>
 /// <param name="view">The view to check.</param>
 /// <param name="container">The container to check.</param>
 /// <returns>true if the view can use the container or false if not.</returns>
 public abstract bool CanBeUsedByView(View view, SetterContainer container);