예제 #1
0
        private void StyleChanged(Style.StyleType style)
        {
            if (style == EditObject.Style.Type)
            {
                return;
            }

            var newStyle = TemplateManager.GetDefault <FillerStyle>(style);

            EditObject.Style.CopyTo(newStyle);

            EditObject.Style = newStyle;

            RefreshItem();
            ClearStyleProperties();
            AddStyleProperties();
        }
예제 #2
0
        private void StyleChanged(Style.StyleType style)
        {
            if (style == Rule.Style.Type)
            {
                return;
            }

            var newStyle = TemplateManager.GetDefault <LineStyle>(style);

            Rule.Style.CopyTo(newStyle);

            Rule.Style = newStyle;

            Editor.RefreshItem();
            ClearStyleProperties();
            AddStyleProperties();
        }
예제 #3
0
        public MarkupLine ToggleConnection(MarkupPointPair pointPair, Style.StyleType style)
        {
            if (LinesDictionary.TryGetValue(pointPair.Hash, out MarkupLine line))
            {
                RemoveConnect(line);
                return(null);
            }
            else
            {
                if (pointPair.IsNormal && !EarlyAccess.CheckFunctionAccess(Localize.EarlyAccess_Function_PerpendicularLines))
                {
                    return(null);
                }

                line = MarkupLine.FromStyle(this, pointPair, style);
                LinesDictionary[pointPair.Hash] = line;
                NeedRecalculateBatches          = true;
                return(line);
            }
        }
예제 #4
0
        private void StyleChanged(Style.StyleType style)
        {
            if (style == Manager.Style.StyleType.FillerChevron && !EarlyAccess.CheckFunctionAccess(Utilities.EnumDescription(style)))
            {
                Style.SelectedObject = EditObject.Style.Type;
                return;
            }

            if (style == EditObject.Style.Type)
            {
                return;
            }

            var newStyle = TemplateManager.GetDefault <FillerStyle>(style);

            EditObject.Style.CopyTo(newStyle);

            EditObject.Style = newStyle;

            RefreshItem();
            ClearStyleProperties();
            AddStyleProperties();
        }
예제 #5
0
        public static MarkupLine FromStyle(Markup markup, MarkupPointPair pointPair, Style.StyleType style)
        {
            switch (style & Style.StyleType.GroupMask)
            {
            case Style.StyleType.StopLine:
                return(new MarkupStopLine(markup, pointPair, (StopLineStyle.StopLineType)(int) style));

            case Style.StyleType.Crosswalk:
                return(new MarkupCrosswalkLine(markup, pointPair, (CrosswalkStyle.CrosswalkType)(int) style));

            case Style.StyleType.RegularLine:
            default:
                var regularStyle = (RegularLineStyle.RegularLineType)(int) style;
                if (regularStyle == RegularLineStyle.RegularLineType.Empty)
                {
                    return(pointPair.IsNormal ? new MarkupNormalLine(markup, pointPair) : new MarkupRegularLine(markup, pointPair));
                }
                else
                {
                    return(pointPair.IsNormal ? new MarkupNormalLine(markup, pointPair, regularStyle) : new MarkupRegularLine(markup, pointPair, regularStyle));
                }
            }
        }
예제 #6
0
        public void Fill(Style.StyleType group)
        {
            var templates = SingletonManager <StyleTemplateManager> .Instance.GetTemplates(group).OrderBy(t => t, Comparer).ToArray();

            if (!templates.Any())
            {
                var emptyLabel = Content.AddUIComponent <CustomUILabel>();
                emptyLabel.text          = NodeMarkup.Localize.HeaderPanel_NoTemplates;
                emptyLabel.textScale     = 0.8f;
                emptyLabel.autoSize      = false;
                emptyLabel.width         = Content.width;
                emptyLabel.autoHeight    = true;
                emptyLabel.textAlignment = UIHorizontalAlignment.Center;
                emptyLabel.padding       = new RectOffset(0, 0, 5, 5);
                return;
            }

            foreach (var template in templates)
            {
                var item = ComponentPool.Get <TemplatePopupItem>(Content);
                item.Init(template);
                item.eventClick += ItemClick;
            }
        }
예제 #7
0
        public void Fill(Style.StyleType group)
        {
            var templates = TemplateManager.StyleManager.GetTemplates(group).OrderByDescending(t => t.IsDefault).ThenBy(t => t.Style.Type).ThenBy(t => t.Name).ToArray();

            if (!templates.Any())
            {
                var emptyLabel = Content.AddUIComponent <UILabel>();
                emptyLabel.text          = NodeMarkup.Localize.HeaderPanel_NoTemplates;
                emptyLabel.textScale     = 0.8f;
                emptyLabel.autoSize      = false;
                emptyLabel.width         = Content.width;
                emptyLabel.autoHeight    = true;
                emptyLabel.textAlignment = UIHorizontalAlignment.Center;
                emptyLabel.padding       = new RectOffset(0, 0, 5, 5);
                return;
            }

            foreach (var template in templates)
            {
                var item = Content.AddUIComponent <TemplatePopupItem>();
                item.Init(template);
                item.eventClick += ItemClick;
            }
        }
예제 #8
0
 public void Init(Style.StyleType styleGroup, Action <StyleTemplate> onSelectTemplate)
 {
     StyleGroup = styleGroup & Style.StyleType.GroupMask;
     OnSelect   = onSelectTemplate;
 }
예제 #9
0
        private bool StyleSelector(Style.StyleType styleType)
        {
            var type = styleType.GetNetworkType();

            return((Line.PointPair.NetworkType & type) != 0);
        }
예제 #10
0
        protected void Add(Style.StyleType style, string label = null)
        {
            var modifier = AddKeymapping((StyleModifier)NodeMarkupTool.StylesModifier[style].value, label ?? style.Description());

            Modifiers[modifier] = style;
        }
예제 #11
0
 public static IEnumerable <StyleTemplate> GetTemplates(Style.StyleType groupType) => Templates.Where(t => (t.Style.Type & groupType & Style.StyleType.GroupMask) != 0).OrderBy(t => !t.IsDefault());
예제 #12
0
 public static Style.StyleType GetGroup(this Style.StyleType type) => type & Style.StyleType.GroupMask;
예제 #13
0
        public void Init(Style.StyleType styleGroup, bool isDeletable = true)
        {
            base.Init(35, isDeletable);

            StyleGroup = styleGroup & Style.StyleType.GroupMask;
        }
예제 #14
0
 public void Init(Style.StyleType styleGroup, Action <StyleTemplate> onSelectTemplate, bool isDeletable = true)
 {
     base.Init(isDeletable: isDeletable);
     ApplyTemplate.Init(styleGroup, onSelectTemplate);
 }
예제 #15
0
 public static Style.StyleType GetItem(this Style.StyleType type) => type & Style.StyleType.ItemMask;
예제 #16
0
 public MarkupLine(Markup markup, MarkupPointPair pointPair, Style.StyleType lineType) : this(markup, pointPair, TemplateManager.GetDefault <LineStyle>(lineType))
 {
 }
예제 #17
0
 public IEnumerable <StyleTemplate> GetTemplates(Style.StyleType group) => Templates.Where(t => t.Style.Type.GetGroup() == group);
예제 #18
0
 internal static Style CreateStyleForTest(string name, Style.StyleType type, string value)
 {
     return(new StyleHtml(name, type, value));
 }