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"); }
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; } } }
public new static void Parse(XNode node, DefinitionFile file) { UiContainer.Parse(node, file); DefinitionParser parser = new DefinitionParser(node); file["Page"] = parser.ParseString("Page"); }
public static void Parse(XNode node, DefinitionFile file) { var parser = new DefinitionParser(node); file["Width"] = parser.ParseLength("Width"); file["Height"] = parser.ParseLength("Height"); file["Margin"] = parser.ParseMargin("Margin"); file["HorizontalAlignment"] = parser.ParseEnum <HorizontalAlignment>("HorizontalAlignment"); file["VerticalAlignment"] = parser.ParseEnum <VerticalAlignment>("VerticalAlignment"); file["X"] = parser.ParseLength("X"); file["Y"] = parser.ParseLength("Y"); file["BindHeight"] = parser.ParseString("BindHeight"); file["BindWidth"] = parser.ParseString("BindWidth"); }
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"); }
public new static void Parse(XNode node, DefinitionFile file) { UiButton.Parse(node, file); var parser = new DefinitionParser(node); file["Hint"] = parser.ParseString("Hint"); file["InputType"] = parser.ParseEnum <TextInputType>("InputType"); file["CancelOnLostFocus"] = parser.ParseBoolean("CancelOnLostFocus"); file["TextApply"] = parser.ParseDelegate("TextApply"); file["TextCancel"] = parser.ParseDelegate("TextCancel"); file["TextChanged"] = parser.ParseDelegate("TextChanged"); file["LostFocus"] = parser.ParseDelegate("LostFocus"); file["Return"] = parser.ParseDelegate("Return"); file["MaxLength"] = parser.ParseInt("MaxLength"); file["IsFocused"] = parser.ParseBoolean("IsFocused"); file["Filter"] = parser.ParseString("Filter"); }
public new static void Parse(XNode node, DefinitionFile file) { ButtonDrawable.Parse(node, file); var parser = new DefinitionParser(node); file["Font"] = parser.Value("Font"); file["FontSize"] = parser.ParseInt("FontSize"); file["FontSpacing"] = parser.ParseInt("FontSpacing"); file["LineHeight"] = parser.ParseInt("LineHeight"); file["HorizontalContentAlignment"] = parser.ParseEnum <HorizontalContentAlignment>("HorizontalContentAlignment"); file["VerticalContentAlignment"] = parser.ParseEnum <VerticalContentAlignment>("VerticalContentAlignment"); file["Text"] = parser.ParseString("Text"); file["TextRotation"] = parser.ParseEnum <TextRotation>("TextRotation"); }
public new static void Parse(XNode node, DefinitionFile file) { UiButton.Parse(node, file); var parser = new DefinitionParser(node); file["Context"] = parser.ParseString("Context"); file["Spacing"] = parser.ParseLength("Spacing"); file["ElementWidth"] = parser.ParseLength("ElementWidth"); file["ElementHeight"] = parser.ParseLength("ElementHeight"); file["Mode"] = parser.ParseEnum <Mode>("Mode"); file["HorizontalContentAlignment"] = parser.ParseEnum <HorizontalContentAlignment>("HorizontalContentAlignment"); file["VerticalContentAlignment"] = parser.ParseEnum <VerticalContentAlignment>("VerticalContentAlignment"); }
public new static void Parse(XNode node, DefinitionFile file) { UiView.Parse(node, file); var parser = new DefinitionParser(node); file["Text"] = parser.ParseString("Text"); file["Font"] = parser.ValueOrNull("Font"); file["FontSize"] = parser.ParseInt("FontSize"); file["FontSpacing"] = parser.ParseInt("FontSpacing"); file["LineHeight"] = parser.ParseInt("LineHeight"); file["TextColor"] = parser.ParseColor("TextColor"); file["HorizontalContentAlignment"] = parser.ParseEnum <HorizontalContentAlignment>("HorizontalContentAlignment"); file["VerticalContentAlignment"] = parser.ParseEnum <VerticalContentAlignment>("VerticalContentAlignment"); file["AutoSizeUpdate"] = parser.ParseBoolean("AutoSizeUpdate"); file["TextRotation"] = parser.ParseEnum <TextRotation>("TextRotation"); file["TextMargin"] = parser.ParseMargin("TextMargin"); }
public new static void Parse(XNode node, DefinitionFile file) { UiView.Parse(node, file); var parser = new DefinitionParser(node); file["Text"] = parser.ParseString("Text"); file["Font"] = parser.ValueOrNull("Font"); file["FontSize"] = parser.ParseInt("FontSize"); file["FontSpacing"] = parser.ParseInt("FontSpacing"); file["LineHeight"] = parser.ParseInt("LineHeight"); file["Indent"] = parser.ParseLength("Indent"); file["LineWidth"] = parser.ParseLength("LineWidth"); file["Justify"] = parser.ParseBoolean("Justify"); file["TextColor"] = parser.ParseColor("TextColor"); file["HorizontalContentAlignment"] = parser.ParseEnum <HorizontalContentAlignment>("HorizontalContentAlignment"); file["VerticalContentAlignment"] = parser.ParseEnum <VerticalContentAlignment>("VerticalContentAlignment"); }
public void CanParseEvidence() { var evidenceParser = new DefinitionParser <EvidenceDefinition>(EvidenceDefinition.Create); var definition = evidenceParser.ParseString( @" medway: composite ( competent-status : enum ( 'Yes', 'No' ), consent-given-by : string, consent-taken-by : string ) "); definition.Should().BeEquivalentTo( EvidenceDefinition.Create( "medway", new CompositeDefinitionType( EvidenceDefinition.Create("competent-status", new EnumDefinitionType("Yes", "No")), EvidenceDefinition.Create("consent-given-by", new StringDefinitionType()), EvidenceDefinition.Create("consent-taken-by", new StringDefinitionType()) )) ); }
public new static void Parse(XNode node, DefinitionFile file) { UiView.Parse(node, file); var parser = new DefinitionParser(node); file["Context"] = parser.ParseString("Context"); file["Mode"] = parser.ParseEnum <Mode>("Mode"); file["AlwaysVisible"] = parser.ParseBoolean("AlwaysVisible"); foreach (var cn in node.Nodes) { switch (cn.Tag) { case "UiScrollBar.ThumbDrawables": ParseDrawables(cn, file, typeof(ButtonDrawable), "ThumbDrawables"); break; case "UiScrollBar.TrackDrawables": ParseDrawables(cn, file, typeof(ButtonDrawable), "TrackDrawables"); break; } } }
public void CorrectlyParsesIdentifiers(string definitionString, IdentifierDefinition expected) { var definition = parser.ParseString(definitionString); definition.Should().BeEquivalentTo(expected); }
public static void Parse(XNode node, DefinitionFile file) { var parser = new DefinitionParser(node); file["Id"] = parser.ParseString("Id"); string controller = node.Attribute("Controller"); Type controllerType = null; if (!string.IsNullOrEmpty(controller)) { controllerType = Type.GetType(controller); if (controllerType == null) { throw new Exception(string.Format("Cannot find controller type: {0}.", controller)); } } file["Controller"] = controllerType; file["Binding"] = parser.ParseDelegate("Binding"); file["Modal"] = parser.ParseBoolean("Modal"); file["Visible"] = parser.ParseBoolean("Visible"); file["Hidden"] = parser.ParseBoolean("Hidden"); file["BackgroundColor"] = parser.ParseColor("BackgroundColor"); file["Opacity"] = parser.ParseDouble("Opacity"); file["ViewRemoved"] = parser.ParseDelegate("ViewRemoved"); file["ViewAdded"] = parser.ParseDelegate("ViewAdded"); file["ViewActivated"] = parser.ParseDelegate("ViewActivated"); file["ViewDeactivated"] = parser.ParseDelegate("ViewDeactivated"); file["ViewResized"] = parser.ParseDelegate("ViewResized"); file["MinWidth"] = parser.ParseLength("MinWidth", false); file["MinHeight"] = parser.ParseLength("MinHeight", false); file["ShowHideTime"] = parser.ParseDouble("ShowHideTime"); file["HideTime"] = parser.ParseDouble("HideTime"); file["ShowTime"] = parser.ParseDouble("ShowTime"); file["Tag"] = parser.ParseString("Tag"); PositionParameters.Parse(node, file); foreach (var cn in node.Nodes) { if (cn.Tag == "UiView.BackgroundDrawable") { if (cn.Nodes.Count != 1) { string error = node.NodeError("UiView.BackgroundDrawable must have exactly 1 child."); if (DefinitionParser.EnableCheckMode) { ConsoleEx.WriteLine(error); } else { throw new Exception(error); } } file["BackgroundDrawable"] = DefinitionFile.LoadFile(cn.Nodes[0]); } if (cn.Tag == "UiView.ShowTransitionEffect") { if (cn.Nodes.Count != 1) { string error = node.NodeError("UiView.ShowTransitionEffect must have exactly 1 child."); if (DefinitionParser.EnableCheckMode) { ConsoleEx.WriteLine(error); } else { throw new Exception(error); } } file["ShowTransitionEffect"] = DefinitionFile.LoadFile(cn.Nodes[0]); } if (cn.Tag == "UiView.HideTransitionEffect") { if (cn.Nodes.Count != 1) { string error = node.NodeError("UiView.HideTransitionEffect must have exactly 1 child."); if (DefinitionParser.EnableCheckMode) { ConsoleEx.WriteLine(error); } else { throw new Exception(error); } } file["HideTransitionEffect"] = DefinitionFile.LoadFile(cn.Nodes[0]); } if (cn.Tag == "UiView.ParentShowTransitionEffect") { if (cn.Nodes.Count != 1) { string error = node.NodeError("UiView.NavigateToTransitionEffect must have exactly 1 child."); if (DefinitionParser.EnableCheckMode) { ConsoleEx.WriteLine(error); } else { throw new Exception(error); } } file["ParentShowTransitionEffect"] = DefinitionFile.LoadFile(cn.Nodes[0]); } if (cn.Tag == "UiView.ParentHideTransitionEffect") { if (cn.Nodes.Count != 1) { string error = node.NodeError("UiView.NavigateFromTransitionEffect must have exactly 1 child."); if (DefinitionParser.EnableCheckMode) { ConsoleEx.WriteLine(error); } else { throw new Exception(error); } } file["ParentHideTransitionEffect"] = DefinitionFile.LoadFile(cn.Nodes[0]); } } }