コード例 #1
0
ファイル: CoolXSetter.cs プロジェクト: david-abaev/CoolX-UI
        private static void GetSettersForDatePicker(ref List <Setter> setters, List <string> classes)
        {
            foreach (string CoolXClass in classes)
            {
                if (CoolXClass.StartsWith("min-date:"))
                {
                    setters.Add(new Setter {
                        Property = DatePicker.MinimumDateProperty,
                        Value    = Convert.ToDateTime(CoolXClass.Split(':') [1])
                    });
                    continue;
                }

                if (CoolXClass.StartsWith("max-date:"))
                {
                    setters.Add(new Setter {
                        Property = DatePicker.MaximumDateProperty,
                        Value    = Convert.ToDateTime(CoolXClass.Split(':') [1])
                    });
                    continue;
                }

                if (CoolXClass.StartsWith("date:"))
                {
                    setters.Add(new Setter {
                        Property = DatePicker.DateProperty,
                        Value    = Convert.ToDateTime(CoolXClass.Split(':') [1])
                    });
                    continue;
                }
            }
        }
コード例 #2
0
ファイル: CoolXSetter.cs プロジェクト: david-abaev/CoolX-UI
        private static void GetBaseSetters(ref List <Setter> setters, ref List <string> classes)
        {
            List <string> currentClasses = new List <string> (classes);

            foreach (string CoolXClass in currentClasses)
            {
                if (CoolXClass.Contains("bg-color"))
                {
                    setters.Add(new Setter {
                        Property = VisualElement.BackgroundColorProperty,
                        Value    = ColorHelper.GetColor(CoolXClass.Split(':') [1])
                    });
                    classes.Remove(CoolXClass);
                    continue;
                }

                if (CoolXClass.Contains("anchor-x"))
                {
                    setters.Add(new Setter {
                        Property = VisualElement.AnchorXProperty,
                        Value    = Convert.ToDouble(CoolXClass.Split(':') [1])
                    });
                    continue;
                }

                if (CoolXClass.Contains("anchor-y"))
                {
                    setters.Add(new Setter {
                        Property = VisualElement.AnchorYProperty,
                        Value    = Convert.ToDouble(CoolXClass.Split(':') [1])
                    });
                    classes.Remove(CoolXClass);
                    continue;
                }



                if (CoolXClass.Contains("min-height"))
                {
                    setters.Add(new Setter {
                        Property = VisualElement.MinimumHeightRequestProperty,
                        Value    = Convert.ToDouble(CoolXClass.Split(':') [1])
                    });
                    classes.Remove(CoolXClass);
                    continue;
                }

                if (CoolXClass.Contains("height-request"))
                {
                    setters.Add(new Setter {
                        Property = VisualElement.HeightRequestProperty,
                        Value    = Convert.ToDouble(CoolXClass.Split(':') [1])
                    });
                    classes.Remove(CoolXClass);
                    continue;
                }


                if (CoolXClass.Contains("min-width"))
                {
                    setters.Add(new Setter {
                        Property = VisualElement.MinimumWidthRequestProperty,
                        Value    = Convert.ToDouble(CoolXClass.Split(':') [1])
                    });
                    classes.Remove(CoolXClass);
                    continue;
                }

                if (CoolXClass.Contains("width-request"))
                {
                    setters.Add(new Setter {
                        Property = VisualElement.WidthRequestProperty,
                        Value    = Convert.ToDouble(CoolXClass.Split(':') [1])
                    });
                    classes.Remove(CoolXClass);
                    continue;
                }

                if (CoolXClass.StartsWith("rotation"))
                {
                    setters.Add(new Setter {
                        Property = VisualElement.RotationProperty,
                        Value    = Convert.ToDouble(CoolXClass.Split(':') [1])
                    });
                    classes.Remove(CoolXClass);
                    continue;
                }

                if (CoolXClass.StartsWith("rotation-x"))
                {
                    setters.Add(new Setter {
                        Property = VisualElement.RotationXProperty,
                        Value    = Convert.ToDouble(CoolXClass.Split(':') [1])
                    });
                    classes.Remove(CoolXClass);
                    continue;
                }

                if (CoolXClass.StartsWith("rotation-y"))
                {
                    setters.Add(new Setter {
                        Property = VisualElement.RotationYProperty,
                        Value    = Convert.ToDouble(CoolXClass.Split(':') [1])
                    });
                    classes.Remove(CoolXClass);
                    continue;
                }

                if (CoolXClass.StartsWith("translation-x"))
                {
                    setters.Add(new Setter {
                        Property = VisualElement.TranslationXProperty,
                        Value    = Convert.ToDouble(CoolXClass.Split(':') [1])
                    });
                    classes.Remove(CoolXClass);
                    continue;
                }

                if (CoolXClass.StartsWith("translation-y"))
                {
                    setters.Add(new Setter {
                        Property = VisualElement.TranslationYProperty,
                        Value    = Convert.ToDouble(CoolXClass.Split(':') [1])
                    });
                    classes.Remove(CoolXClass);
                    continue;
                }



                if (CoolXClass.StartsWith("opacity"))
                {
                    setters.Add(new Setter {
                        Property = VisualElement.OpacityProperty,
                        Value    = Convert.ToDouble(CoolXClass.Split(':') [1])
                    });
                    classes.Remove(CoolXClass);
                    continue;
                }


                if (CoolXClass.StartsWith("scale"))
                {
                    setters.Add(new Setter {
                        Property = VisualElement.ScaleProperty,
                        Value    = Convert.ToDouble(CoolXClass.Split(':') [1])
                    });
                    classes.Remove(CoolXClass);
                    continue;
                }


                switch (CoolXClass)
                {
                case "hidden":
                    setters.Add(new Setter {
                        Property = VisualElement.IsVisibleProperty,
                        Value    = false
                    });
                    classes.Remove(CoolXClass);
                    break;

                case "visible":
                    setters.Add(new Setter {
                        Property = VisualElement.IsVisibleProperty,
                        Value    = true
                    });
                    classes.Remove(CoolXClass);
                    break;

                case "enable":
                    setters.Add(new Setter {
                        Property = VisualElement.IsEnabledProperty,
                        Value    = true
                    });
                    classes.Remove(CoolXClass);
                    break;

                case "disable":
                    setters.Add(new Setter {
                        Property = VisualElement.IsEnabledProperty,
                        Value    = false
                    });
                    classes.Remove(CoolXClass);
                    break;
                }
            }
        }
コード例 #3
0
ファイル: CoolXSetter.cs プロジェクト: david-abaev/CoolX-UI
        private static void GetSettersForLabel(ref List <Setter> setters, List <string> classes)
        {
            foreach (string CoolXClass in classes)
            {
                if (CoolXClass.Contains("text-color:"))
                {
                    setters.Add(new Setter {
                        Property = Label.TextColorProperty,
                        Value    = ColorHelper.GetColor(CoolXClass.Split(':') [1])
                    });
                    continue;
                }

                if (CoolXClass.StartsWith("line-break"))
                {
                    switch (CoolXClass.Split(':') [1])
                    {
                    case "none":
                        setters.Add(new Setter {
                            Property = Label.LineBreakModeProperty, Value = LineBreakMode.NoWrap
                        });
                        break;

                    case "word":
                        setters.Add(new Setter {
                            Property = Label.LineBreakModeProperty, Value = LineBreakMode.WordWrap
                        });
                        break;

                    case "character":
                        setters.Add(new Setter {
                            Property = Label.LineBreakModeProperty, Value = LineBreakMode.CharacterWrap
                        });
                        break;

                    case "head":
                        setters.Add(new Setter {
                            Property = Label.LineBreakModeProperty, Value = LineBreakMode.HeadTruncation
                        });
                        break;

                    case "tail":
                        setters.Add(new Setter {
                            Property = Label.LineBreakModeProperty, Value = LineBreakMode.TailTruncation
                        });
                        break;

                    case "middle":
                        setters.Add(new Setter {
                            Property = Label.LineBreakModeProperty, Value = LineBreakMode.MiddleTruncation
                        });
                        break;
                    }
                    continue;
                }

                if (CoolXClass.StartsWith("font-attr:"))
                {
                    switch (CoolXClass.Split(':') [1])
                    {
                    case "none":
                        setters.Add(new Setter {
                            Property = Label.FontAttributesProperty, Value = FontAttributes.None
                        });
                        break;

                    case "bold":
                        setters.Add(new Setter {
                            Property = Label.FontAttributesProperty, Value = FontAttributes.Bold
                        });
                        break;

                    case "italic":
                        setters.Add(new Setter {
                            Property = Label.FontAttributesProperty, Value = FontAttributes.Italic
                        });
                        break;
                    }
                    continue;
                }

                if (CoolXClass.StartsWith("font-size:"))
                {
                    double fontSize = Convert.ToDouble(CoolXClass.Split(':') [1]);
                    setters.Add(new Setter {
                        Property = Label.FontSizeProperty, Value = fontSize
                    });
                    continue;
                }

                if (CoolXClass.StartsWith("text:"))
                {
                    setters.Add(new Setter {
                        Property = Label.TextProperty, Value = CoolXClass.Split(':') [1]
                    });
                    continue;
                }


                switch (CoolXClass)
                {
                case "horizontal-start":
                case "horizontal-center":
                case "horizontal-end":
                    setters.Add(new Setter {
                        Property = Label.XAlignProperty,
                        Value    = CoolXClass.Split('-') [1] == "center" ? TextAlignment.Center : (CoolXClass.Split('-') [1] == "start" ? TextAlignment.Start : TextAlignment.End)
                    });
                    break;

                case "vertical-start":
                case "vertical-center":
                case "vertical-end":
                    setters.Add(new Setter {
                        Property = Label.YAlignProperty,
                        Value    = CoolXClass.Split('-') [1] == "center" ? TextAlignment.Center : (CoolXClass.Split('-') [1] == "start" ? TextAlignment.Start : TextAlignment.End)
                    });
                    break;
                }
            }
        }
コード例 #4
0
ファイル: CoolXSetter.cs プロジェクト: david-abaev/CoolX-UI
        private static void GetSettersForButton(ref List <Setter> setters, List <string> classes)
        {
            foreach (string CoolXClass in classes)
            {
                if (CoolXClass.Contains("text-color:"))
                {
                    setters.Add(new Setter {
                        Property = Button.TextColorProperty,
                        Value    = ColorHelper.GetColor(CoolXClass.Split(':') [1])
                    });
                    continue;
                }

                if (CoolXClass.StartsWith("border-"))
                {
                    switch (CoolXClass.Split('-') [1].Split(':') [0])
                    {
                    case "radius":
                        setters.Add(new Setter {
                            Property = Button.BorderRadiusProperty,
                            Value    = Convert.ToInt32(CoolXClass.Split(':') [1])
                        });
                        break;

                    case "width":
                        setters.Add(new Setter {
                            Property = Button.BorderWidthProperty,
                            Value    = Convert.ToDouble(CoolXClass.Split(':') [1])
                        });
                        break;

                    case "color":
                        setters.Add(new Setter {
                            Property = Button.BorderColorProperty,
                            Value    = ColorHelper.GetColor(CoolXClass.Split(':') [1])
                        });
                        break;
                    }
                }
                if (CoolXClass.StartsWith("font-size:"))
                {
                    double fontSize = Convert.ToDouble(CoolXClass.Split(':') [1]);
                    setters.Add(new Setter {
                        Property = Button.FontSizeProperty, Value = fontSize
                    });
                    continue;
                }
                if (CoolXClass.StartsWith("text-color:"))
                {
                    setters.Add(new Setter {
                        Property = Button.TextProperty,
                        Value    = ColorHelper.GetColor(CoolXClass.Split(':') [1])
                    });
                    continue;
                }

                if (CoolXClass.StartsWith("text:"))
                {
                    setters.Add(new Setter {
                        Property = Button.TextProperty, Value = CoolXClass.Split(':') [1]
                    });
                    continue;
                }
            }
        }