public override DefaultStyle VisitDefaultStyle(QLSParser.DefaultStyleContext context) { DataType dataType = StringEnum.GetEnumerationValue <DataType>(context.TYPE().GetText()); var styleAttributes = new List <StyleAttribute>(); foreach (var styleAttributeContext in context.style_attr()) { styleAttributes.Add(styleAttributeContext.Accept(new StyleAttributeBuilder())); } return(new DefaultStyle(dataType, styleAttributes, context.GetTextPosition())); }
public override INode VisitDefaultStyle([NotNull] QLSParser.DefaultStyleContext context) { var widget = GetWidgetFromText(context.widget().Widget().GetText()); var type = GetTypeFromStyleContext(context); var defaultStyle = new DefaultStyle(type, (dynamic)widget); foreach (var setting in context.setting()) { var keyValuePair = setting.Accept(this); defaultStyle.AddWidgetProperty((dynamic)keyValuePair); } return(defaultStyle); }
private IType GetTypeFromStyleContext(QLSParser.DefaultStyleContext context) { var type = context.Type().GetText(); Debug.Assert(type == "boolean" || type == "int" || type == "string" || type == "money"); switch (type) { case "boolean": return(new BooleanType()); case "int": return(new IntegerType()); case "string": return(new StringType()); case "money": return(new MoneyType()); } throw new InvalidProgramException(); }