Esempio n. 1
0
        public new static void Parse(XNode node, DefinitionFile file)
        {
            ButtonDrawable.Parse(node, file);

            var parser = new DefinitionParser(node);

            file["Reverse"] = parser.ParseBoolean("Reverse");

            foreach (var cn in node.Nodes)
            {
                if (cn.Tag == "TransformGroup.TransitionEffect")
                {
                    if (cn.Nodes.Count != 1)
                    {
                        string error = node.NodeError("TransformGroup.TransitionEffect must have exactly 1 child.");
                        if (DefinitionParser.EnableCheckMode)
                        {
                            ConsoleEx.WriteLine(error);
                        }
                        else
                        {
                            throw new Exception(error);
                        }
                    }

                    file["TransitionEffect"] = DefinitionFile.LoadFile(cn.Nodes[0]);
                }
                else if (cn.Tag == "TransformGroup.Drawables")
                {
                    UiView.ParseDrawables(cn, file, typeof(ButtonDrawable));
                }
            }
        }
Esempio n. 2
0
        public new static void Parse(XNode node, DefinitionFile file)
        {
            UiContainer.Parse(node, file);

            DefinitionParser parser = new DefinitionParser(node);

            file["SelectedIndex"]  = parser.ParseInt("SelectedIndex");
            file["TransitionTime"] = parser.ParseDouble("TransitionTime");
            file["Cycle"]          = parser.ParseBoolean("Cycle");

            foreach (var cn in node.Nodes)
            {
                switch (cn.Tag)
                {
                case "UiContentSlider.ShowTransitionEffect":
                case "UiContentSlider.HideTransitionEffect":
                case "UiContentSlider.ShowTransitionEffectNext":
                case "UiContentSlider.HideTransitionEffectNext":
                case "UiContentSlider.ShowTransitionEffectPrev":
                case "UiContentSlider.HideTransitionEffectPrev":
                    ParseTransitionEffect(cn, file);
                    break;
                }
            }
        }
Esempio n. 3
0
        public new static void Parse(XNode node, DefinitionFile file)
        {
            UiContainer.Parse(node, file);

            DefinitionParser parser = new DefinitionParser(node);

            file["Mode"]    = parser.ParseEnum <Mode>("Mode");
            file["Spacing"] = parser.ParseLength("Spacing", false);
            file["Padding"] = parser.ParseLength("Padding", false);
            file["NotifyParentOnResize"] = parser.ParseBoolean("NotifyParentOnResize");

            file["ExpandTime"]   = parser.ParseInt("ExpandTime");
            file["CollapseTime"] = parser.ParseInt("CollapseTime");
            file["Expanded"]     = parser.ParseBoolean("Expanded");

            file["Wrap"] = parser.ParseBoolean("Wrap");

            file["HorizontalContentAlignment"] = parser.ParseEnum <HorizontalContentAlignment>("HorizontalContentAlignment");
            file["VerticalContentAlignment"]   = parser.ParseEnum <VerticalContentAlignment>("VerticalContentAlignment");

            file["CollapseFinished"] = parser.ParseDelegate("CollapseFinished");
            file["ExpandFinished"]   = parser.ParseDelegate("ExpandFinished");

            file["ExpandStarted"] = parser.ParseDelegate("ExpandStarted");
        }
Esempio n. 4
0
        public static EditPaneViewModel CreateDefinitions(string[] defs)
        {
            var defsd = DefinitionParser.CreateDefinitions(defs);

            var text =
                @"
# Definitions can be entered one-per-line
# E.g.
# DEF1=def1-value
# NAME=value
".Trim() + (Environment.NewLine)
                + string.Join(Environment.NewLine, defsd.Select(dd => $"{dd.Key}={dd.Value}"))
            ;
            var format = ModelFormat.Yaml.ToString();

            return(new EditPaneViewModel
            {
                Format = format,
                Text = text,
                ScribanName = ScribanNamespaces.DefinitionsNamespace,
                LinkedPath = string.Empty,
                AvailableFormats = new[] { format },
                PaneType = PaneType.Definitions,
                FileLinkage = FileLinkageTypes.None
            });
        }
Esempio n. 5
0
        public new static void Parse(XNode node, DefinitionFile file)
        {
            UiView.Parse(node, file);

            var parser = new DefinitionParser(node);

            file["Mode"]         = parser.ParseEnum <Mode>("Mode");
            file["MaxValue"]     = parser.ParseInt("MaxValue");
            file["MinValue"]     = parser.ParseInt("MinValue");
            file["Value"]        = parser.ParseInt("Value");
            file["ValueChanged"] = parser.ParseDelegate("ValueChanged");

            foreach (var cn in node.Nodes)
            {
                switch (cn.Tag)
                {
                case "UiSlider.ThumbDrawables":
                    ParseDrawables(cn, file, typeof(ButtonDrawable), "ThumbDrawables");
                    break;

                case "UiSlider.TrackDrawables":
                    ParseDrawables(cn, file, typeof(ButtonDrawable), "TrackDrawables");
                    break;
                }
            }
        }
Esempio n. 6
0
        public new static void Parse(XNode node, DefinitionFile file)
        {
            UiView.Parse(node, file);

            var parser = new DefinitionParser(node);

            file["Text"]     = parser.ParseString("Text");
            file["Icon"]     = parser.ParseResource <Texture2D>("Icon");
            file["Click"]    = parser.ParseDelegate("Click");
            file["Hold"]     = parser.ParseDelegate("Hold");
            file["Enabled"]  = parser.ParseBoolean("Enabled");
            file["Disabled"] = parser.ParseBoolean("Disabled");

            file["RepeatStart"]    = parser.ParseInt("RepeatStart");
            file["RepeatInterval"] = parser.ParseInt("RepeatInterval");

            file["PushSound"]    = parser.ParseResource <SoundEffect>("PushSound");
            file["ReleaseSound"] = parser.ParseResource <SoundEffect>("ReleaseSound");
            file["ActionSound"]  = parser.ParseResource <SoundEffect>("ActionSound");

            file["GestureMargin"] = parser.ParseLength("GestureMargin");

            file["Mode"] = parser.ParseEnum <UiButtonMode>("Mode");

            foreach (var cn in node.Nodes)
            {
                switch (cn.Tag)
                {
                case "UiButton.Drawables":
                    ParseDrawables(cn, file, typeof(ButtonDrawable));
                    break;
                }
            }
        }
Esempio n. 7
0
        public static void GenerateSpecifications(SpecificationGeneratorSettings settings)
        {
            Console.WriteLine("Generating Helm specifications...");

            var definitions = DefinitionLoader.LoadDefinitions(settings.DefinitionFolder);

            definitions.SelectMany(x => x.Options).Concat(definitions.SelectMany(x => x.InheritedOptions)).Select(x => x.Type).ToHashSet()
            .OrderBy(x => x).ForEach(x => Console.WriteLine(x));
            var tool = DefinitionParser.Parse(definitions, settings.Reference);

            var overwrites = settings.OverwriteFile != null?DefinitionLoader.LoadOverwrites(settings.OverwriteFile) : null;

            if (overwrites != null)
            {
                SpecificationModifier.Overwrite(tool, overwrites);
            }

            tool.SpecificationFile = PathConstruction.Combine(settings.OutputFolder, "Helm.json");
            Directory.CreateDirectory(settings.OutputFolder);
            ToolSerializer.Save(tool, tool.SpecificationFile);

            Console.WriteLine();
            Console.WriteLine("Generation finished.");
            Console.WriteLine($"Created Tasks: {tool.Tasks.Count}");
            Console.WriteLine($"Created Data Classes: {tool.DataClasses.Count}");
            Console.WriteLine($"Created Enumerations: {tool.Enumerations.Count}");
            Console.WriteLine($"Created Common Task Properties: {tool.CommonTaskProperties.Count}");
            Console.WriteLine($"Created Common Task Property Sets: {tool.CommonTaskPropertySets.Count}");
        }
Esempio n. 8
0
        public async void DisplayWordDetail(SearchResultItem clickedItem)
        {
            if (NetworkCheck() == false)
            {
                return;
            }

            //뜻풀이 감추기
            IsDefinitionViewerVisible = Visibility.Collapsed;

            IsDetailGridVisible         = Visibility.Visible;
            IsTitleBarBackButtonVisible = Visibility.Visible;
            RaisePropertyChanged("IsDefinitionViewerVisible", "IsDetailGridVisible", "IsTitleBarBackButtonVisible");

            DefinitionParser definitionParser = new DefinitionParser((Visibility visibility) => {
                IsDetailProgressBarVisible = visibility;
                RaisePropertyChanged("IsDetailProgressBarVisible");
            }, HandleHyperlinkClick);
            WordDetailItem definitionItem = await definitionParser.GetWordDetail(clickedItem.target_code.ToString(), clickedItem.word, clickedItem.sup_no);

            if (definitionItem != null)
            {
                Definitions = definitionItem;
            }
            IsDefinitionViewerVisible = Visibility.Visible;

            RaisePropertyChanged("Definitions", "IsDefinitionViewerVisible");
        }
Esempio n. 9
0
        public new static void Parse(XNode node, DefinitionFile file)
        {
            UiView.Parse(node, file);

            var parser = new DefinitionParser(node);

            file["Processor"] = Type.GetType(node.Attribute("Processor"));

            file["LinkResolver"] = parser.ParseDelegate("LinkResolver");

            file["ImageNotLoaded"] = parser.ParseResource <Texture2D>("ImageNotLoaded");

            file["EnableBaseLineCorrection"] = parser.ParseBoolean("EnableBaseLineCorrection");

            file["Text"]        = parser.ParseString("Text");
            file["Font"]        = parser.ValueOrNull("Font");
            file["FontSize"]    = parser.ParseInt("FontSize");
            file["FontSpacing"] = parser.ParseInt("FontSpacing");

            for (int idx = 0; idx < (int)FontType.Count; ++idx)
            {
                FontType type    = (FontType)idx;
                string   font    = string.Format("{0}.Font", type);
                string   spacing = string.Format("{0}.FontSpacing", type);
                string   resize  = string.Format("{0}.FontResize", type);

                file[font]    = parser.ValueOrNull(font);
                file[spacing] = parser.ParseInt(spacing);
                file[resize]  = parser.ParseInt(resize);
            }

            for (int idx = 0; idx < (int)SizeType.Count; ++idx)
            {
                SizeType type = (SizeType)idx;
                string   size = string.Format("{0}.FontSize", type);

                file[size] = parser.ParseInt(size);
            }

            file["LineHeight"]       = parser.ParseInt("LineHeight");
            file["Indent"]           = parser.ParseLength("Indent");
            file["ParagraphSpacing"] = parser.ParseLength("ParagraphSpacing");

            file["Justify"] = parser.ParseBoolean("Justify");

            file["TextColor"]            = parser.ParseColor("TextColor");
            file["LinkColor"]            = parser.ParseColor("LinkColor");
            file["ActiveLinkColor"]      = parser.ParseColor("ActiveLinkColor");
            file["HorizontalRulerColor"] = parser.ParseColor("HorizontalRulerColor");

            file["HorizontalContentAlignment"] = parser.ParseEnum <HorizontalContentAlignment>("HorizontalContentAlignment");
            file["VerticalContentAlignment"]   = parser.ParseEnum <VerticalContentAlignment>("VerticalContentAlignment");

            file["BulletText"]            = parser.ParseString("BulletText");
            file["HorizontalRulerHeight"] = parser.ParseLength("HorizontalRulerHeight");

            file["ClickMargin"] = parser.ParseLength("ClickMargin");
            file["UrlClick"]    = parser.ParseDelegate("UrlClick");
        }
Esempio n. 10
0
        public static void Parse(XNode node, DefinitionFile file)
        {
            var parser = new DefinitionParser(node);

            file["Color"] = parser.ParseColor("Color");
            file["Left"]  = parser.ParseLength("Left");
            file["Right"] = parser.ParseLength("Right");
        }
Esempio n. 11
0
        public new static void Parse(XNode node, DefinitionFile file)
        {
            UiLabel.Parse(node, file);

            var parser = new DefinitionParser(node);

            file["Colors"] = parser.ParseColor("Colors");
        }
Esempio n. 12
0
        public new static void Parse(XNode node, DefinitionFile file)
        {
            UiView.Parse(node, file);

            DefinitionParser parser = new DefinitionParser(node);

            file["SelectionColor"] = parser.ParseColor("SelectionColor");
        }
Esempio n. 13
0
        public new static void Parse(XNode node, DefinitionFile file)
        {
            UiView.Parse(node, file);

            var parser = new DefinitionParser(node);

            file["Zoom"] = parser.ParseInt("Zoom");
        }
Esempio n. 14
0
        public new static void Parse(XNode node, DefinitionFile file)
        {
            UiContainer.Parse(node, file);

            var parser = new DefinitionParser(node);

            file["FitChildren"] = parser.ParseBoolean("FitChildren");
        }
Esempio n. 15
0
        public new static void Parse(XNode node, DefinitionFile file)
        {
            UiContainer.Parse(node, file);

            DefinitionParser parser = new DefinitionParser(node);

            file["Page"] = parser.ParseString("Page");
        }
Esempio n. 16
0
        public new static void Parse(XNode node, DefinitionFile file)
        {
            UiButton.Parse(node, file);

            var parser = new DefinitionParser(node);

            file["Checked"] = parser.ParseBoolean("Checked");
        }
Esempio n. 17
0
        public static void Parse(XNode node, DefinitionFile file)
        {
            var parser = new DefinitionParser(node);

            file["Power"] = parser.ParseDouble("Power");
            file["Angle"] = parser.ParseDouble("Angle");

            file["Origin"] = parser.ParseEnum <Origin>("Origin");
        }
Esempio n. 18
0
        public new static void Parse(XNode node, DefinitionFile file)
        {
            UiView.Parse(node, file);

            var parser = new DefinitionParser(node);

            file["LeftColor"]  = parser.ParseColor("LeftColor");
            file["RightColor"] = parser.ParseColor("RightColor");
        }
Esempio n. 19
0
        public new static void Parse(XNode node, DefinitionFile file)
        {
            UiView.Parse(node, file);

            var parser = new DefinitionParser(node);

            file["TopColor"]    = parser.ParseColor("TopColor");
            file["BottomColor"] = parser.ParseColor("BottomColor");
        }
Esempio n. 20
0
        public new static void Parse(XNode node, DefinitionFile file)
        {
            UiBorder.Parse(node, file);

            DefinitionParser parser = new DefinitionParser(node);

            file["TouchOutsideToHide"] = parser.ParseBoolean("TouchOutsideToHide");
            file["ClickOutside"]       = parser.ParseDelegate("ClickOutside");
        }
Esempio n. 21
0
        public new static void Parse(XNode node, DefinitionFile file)
        {
            UiButton.Parse(node, file);

            var parser = new DefinitionParser(node);

            file["Value"]         = parser.ParseInt("Value");
            file["SelectedValue"] = parser.ParseInt("SelectedValue");
        }
Esempio n. 22
0
        public static void Parse(XNode node, DefinitionFile file)
        {
            var parser = new DefinitionParser(node);

            file["Horizontal"] = parser.ParseLength("Horizontal");
            file["Vertical"]   = parser.ParseLength("Vertical");

            file["Power"] = parser.ParseDouble("Power");
        }
Esempio n. 23
0
        public void MissingIdThrows()
        {
            Action a = () => DefinitionParser.CreateDefinitions(new[]
            {
                "=  1  "
            });

            a.Should().Throw <ArgumentException>();
        }
Esempio n. 24
0
        public new static void Parse(XNode node, DefinitionFile file)
        {
            UiView.Parse(node, file);

            var parser = new DefinitionParser(node);

            file["Sprite"]   = parser.ParseResource <Sprite>("Sprite");
            file["Sequence"] = parser.ParseString("Sequence");
        }
Esempio n. 25
0
        public void MissingValueReturnsEmptyString()
        {
            var d = DefinitionParser.CreateDefinitions(new[]
            {
                "ABC="
            });

            d["ABC"].Should().Be(string.Empty);
        }
Esempio n. 26
0
        public void DefinitionValuesAreNotTrimmed()
        {
            var d = DefinitionParser.CreateDefinitions(new[]
            {
                "ABC=  1  "
            });

            d["ABC"].Should().Be("  1  ");
        }
Esempio n. 27
0
        public void DefinitionIdsAreTrimmed()
        {
            var d = DefinitionParser.CreateDefinitions(new[]
            {
                "  A   =1"
            });

            d["A"].Should().Be("1");
        }
Esempio n. 28
0
        public void SingleLetterDefinitionsWork()
        {
            var d = DefinitionParser.CreateDefinitions(new[]
            {
                "A=1"
            });

            d["A"].Should().Be("1");
        }
Esempio n. 29
0
        public void DuplicateIdThrows()
        {
            Action a = () => DefinitionParser.CreateDefinitions(new[]
            {
                "ABC=123",
                "ABC =456",
            });

            a.Should().Throw <ArgumentException>();
        }
Esempio n. 30
0
        public new static void Parse(XNode node, DefinitionFile file)
        {
            UiContainer.Parse(node, file);

            DefinitionParser parser = new DefinitionParser(node);

            file["Mode"]         = parser.ParseEnum <Mode>("Mode");
            file["Position"]     = parser.ParseLength("Position");
            file["SplitterSize"] = parser.ParseLength("SplitterSize");
        }
        public static new void Parse(XNode node, DefinitionFile file)
        {
            UiView.Parse(node, file);

            var parser = new DefinitionParser(node);

            file["AutomataGrid"] = parser.ParseDelegate("AutomataGrid");
            file["EditEnabled"] = parser.ParseBoolean("EditEnabled");

            file["Zoom"] = parser.ParseDouble("Zoom");
            file["StateToPaint"] = parser.ParseInt("StateToPaint");

            file["Colors"] = parser.ParseDelegate("Colors");

            file["GridColor"] = parser.ParseColor("GridColor");
        }