private void encodeDynamicVector(cape.DynamicVector cc, int indent, cape.StringBuilder sb, bool niceFormatting) { print("[", indent, false, true, sb, niceFormatting); var first = true; var array = cc.toVector(); if (array != null) { var n = 0; var m = array.Count; for (n = 0; n < m; n++) { var o = array[n]; if (o != null) { if (first == false) { print(",", indent, false, true, sb, niceFormatting); } encodeObject(o, indent + 1, sb, niceFormatting); first = false; } } } print("]", indent, true, false, sb, niceFormatting); }
public cave.ui.FormDeclaration.Element addMultipleChoiceInput(string id, string label, string description, cape.KeyValueList <string, string> values) { var v = cave.ui.FormDeclaration.Element.forType("MultipleChoiceInput"); v.setProperty("id", (object)id); v.setProperty("label", (object)label); v.setProperty("description", (object)description); var vv = new cape.DynamicVector(); var it = values.iterate(); while (it != null) { var kvp = it.next(); if (!(kvp != null)) { break; } var m = new cape.DynamicMap(); m.set("key", (object)kvp.key); m.set("value", (object)kvp.value); vv.append((object)m); } v.setProperty("values", (object)vv); return(addElement(v)); }
public cape.DynamicVector mergeDynamicVector(cape.DynamicVector dynamicVector) { if (!(dynamicVector != null) || dynamicVector.getSize() < 1) { return(this); } return(mergeVector(dynamicVector.toVector())); }
public cape.DynamicVector toVectorOfMaps() { var v = new cape.DynamicVector(); while (true) { var o = next(); if (o == null) { break; } v.append((object)o); } return(v); }
public virtual object duplicate() { var v = new cape.DynamicVector(); var it = iterate(); while (it != null) { var o = it.next(); if (o == null) { break; } v.append(o); } return((object)v); }
public cape.DynamicVector getDynamicVectorValue(string key, cape.DynamicVector defval) { var str = getStringValue(key, null); if (!(str != null)) { return(defval); } var v = cape.JSONParser.parse(str) as cape.DynamicVector; if (!(v != null)) { return(defval); } return(v); }
public static cape.DynamicVector forObjectVector(System.Collections.Generic.List <object> vector) { var v = new cape.DynamicVector(); if (vector != null) { var n = 0; var m = vector.Count; for (n = 0; n < m; n++) { var item = vector[n]; if (item != null) { v.append(item); } } } return(v); }
public override object getWidgetValue() { var v = new cape.DynamicVector(); var array = cape.String.split(getWidgetText(), ','); if (array != null) { var n = 0; var m = array.Count; for (n = 0; n < m; n++) { var @string = array[n]; if (@string != null) { v.append((object)cape.String.strip(@string)); } } } return((object)v); }
public cape.DynamicVector getGridData() { var dv = new cape.DynamicVector(); var array = cave.ui.Widget.getChildren((Windows.UI.Xaml.UIElement)widgetDataBox); if (array != null) { var n = 0; var m = array.Count; for (n = 0; n < m; n++) { var dgr = array[n] as cave.ui.DataGridWidget.DataGridRowWidget; if (dgr != null) { dgr.collectRowDataTo(dv); } } } return(dv); }
public void setWidgetItemsAsStringList(cape.DynamicVector options) { var list = new cape.KeyValueList <string, string>(); if (options != null) { var array = options.toVector(); if (array != null) { var n = 0; var m = array.Count; for (n = 0; n < m; n++) { var option = array[n] as string; if (option != null) { list.add((string)option, (string)option); } } } } setWidgetItemsAsKeyValueList(list); }
public void collectRowDataTo(cape.DynamicVector dv) { if (!(dv != null)) { return; } var dm = new cape.DynamicMap(); var array = cave.ui.Widget.getChildren((Windows.UI.Xaml.UIElement)widgetCellContainer); if (array != null) { var n = 0; var m = array.Count; for (n = 0; n < m; n++) { var cell = array[n] as cave.ui.DataGridWidget.CellWidget; if (cell != null) { dm.set(cell.getWidgetKey(), (object)cell.getWidgetText()); } } } dv.append((object)dm); }
public static cave.ui.SelectWidget forStringList(cave.GuiApplicationContext context, cape.DynamicVector options) { var v = new cave.ui.SelectWidget(context); v.setWidgetItemsAsStringList(options); return(v); }
private object acceptObject() { if (acceptChar('[')) { var v = new cape.DynamicVector(); while (true) { if (acceptChar(']')) { break; } var o = acceptObject(); if (o == null) { return(null); } v.append(o); acceptChar(','); } return((object)v); } if (acceptChar('{')) { var v1 = new cape.DynamicMap(); while (true) { if (acceptChar('}')) { break; } var key = acceptString(); if (object.Equals(key, null)) { return(null); } if (acceptChar(':') == false) { return(null); } var val = acceptObject(); if (val == null) { return(null); } if (val is cape.JSONParser.NullObject) { v1.set(key, null); } else { v1.set(key, val); } acceptChar(','); } return((object)v1); } var s = acceptString(); if (s != null) { return((object)s); } var b = acceptBoolean(); if (b != null) { return((object)b); } var n = acceptNull(); if (n != null) { return((object)n); } var v2 = acceptNumber(); if (v2 != null) { return(v2); } return(null); }
public static cape.DynamicMap parseAsTreeObject(string xml, bool ignoreWhiteSpace = true) { cape.DynamicMap root = null; var stack = new cape.Stack <cape.DynamicMap>(); var pp = capex.text.XMLParser.forString(xml); pp.setIgnoreWhiteSpace(ignoreWhiteSpace); while (true) { var o = pp.next(); if (o == null) { break; } if (o is capex.text.XMLParser.StartElement) { var name = ((capex.text.XMLParser.StartElement)o).getName(); if (root == null && object.Equals(name, "?xml")) { continue; } var nn = new cape.DynamicMap(); nn.set("name", (object)name); nn.set("attributes", (object)((capex.text.XMLParser.StartElement)o).getParams()); if (root == null) { root = nn; stack.push((cape.DynamicMap)nn); } else { var current = stack.peek(); if (current == null) { current = root; } var children = current.getDynamicVector("children"); if (children == null) { children = new cape.DynamicVector(); current.set("children", (object)children); } children.append((object)nn); stack.push((cape.DynamicMap)nn); } } else if (o is capex.text.XMLParser.EndElement) { stack.pop(); } else if (o is capex.text.XMLParser.CharacterData) { var current1 = stack.peek(); if (current1 != null) { var children1 = current1.getDynamicVector("children"); if (children1 == null) { children1 = new cape.DynamicVector(); current1.set("children", (object)children1); } children1.append((object)((capex.text.XMLParser.CharacterData)o).getData()); } } } return(root); }
public virtual Windows.UI.Xaml.UIElement createWidgetForElement(cave.ui.FormDeclaration.Element element) { if (!(element != null)) { return(null); } if (element.isType("TextInput")) { return((Windows.UI.Xaml.UIElement)cave.ui.TextInputWidget.forType(context, cave.ui.TextInputWidget.TYPE_DEFAULT, asPlaceHolder(element.getLabel()))); } if (element.isType("TextButton")) { return((Windows.UI.Xaml.UIElement)cave.ui.TextButtonWidget.forText(context, element.getPropertyString("text"), getActionHandler(element.getPropertyString("action")))); } if (element.isType("RawTextInput")) { return((Windows.UI.Xaml.UIElement)cave.ui.TextInputWidget.forType(context, cave.ui.TextInputWidget.TYPE_NONASSISTED, asPlaceHolder(element.getLabel()))); } if (element.isType("PasswordInput")) { return((Windows.UI.Xaml.UIElement)cave.ui.TextInputWidget.forType(context, cave.ui.TextInputWidget.TYPE_PASSWORD, asPlaceHolder(element.getLabel()))); } if (element.isType("NameInput")) { return((Windows.UI.Xaml.UIElement)cave.ui.TextInputWidget.forType(context, cave.ui.TextInputWidget.TYPE_NAME, asPlaceHolder(element.getLabel()))); } if (element.isType("EmailAddressInput")) { return((Windows.UI.Xaml.UIElement)cave.ui.TextInputWidget.forType(context, cave.ui.TextInputWidget.TYPE_EMAIL_ADDRESS, asPlaceHolder(element.getLabel()))); } if (element.isType("PhoneNumberInput")) { return((Windows.UI.Xaml.UIElement)cave.ui.TextInputWidget.forType(context, cave.ui.TextInputWidget.TYPE_PHONE_NUMBER, asPlaceHolder(element.getLabel()))); } if (element.isType("StreetAddressInput")) { return((Windows.UI.Xaml.UIElement)cave.ui.TextInputWidget.forType(context, cave.ui.TextInputWidget.TYPE_STREET_ADDRESS, asPlaceHolder(element.getLabel()))); } if (element.isType("TextAreaInput")) { return((Windows.UI.Xaml.UIElement)cave.ui.TextAreaWidget.forPlaceholder(context, asPlaceHolder(element.getLabel()), element.getPropertyInteger("rows"))); } if (element.isType("CodeInput")) { var v = cave.ui.TextAreaWidget.forPlaceholder(context, asPlaceHolder(element.getLabel()), element.getPropertyInteger("rows")); v.configureMonospaceFont(); return((Windows.UI.Xaml.UIElement)v); } if (element.isType("StaticTextElement")) { var st = cave.ui.FormWidget.StaticTextWidget.forText(context, element.getLabel()); var bgc = getBackgroundColorForElement(element); var fgc = getAdjustedForegroundColor(element, bgc); st.setBackgroundColor(bgc); st.setTextColor(fgc); return((Windows.UI.Xaml.UIElement)st); } if (element.isType("RadioGroupInput")) { var items = element.getPropertyDynamicVector("items"); if (!(items != null)) { items = new cape.DynamicVector(); } return((Windows.UI.Xaml.UIElement)cave.ui.RadioButtonGroupWidget.forGroup(context, element.getPropertyString("groupName"), items.toVectorOfStrings())); } if (element.isType("MultipleChoiceInput")) { var kvl = new cape.KeyValueList <string, string>(); var values = element.getPropertyVector("values"); if (values != null) { var n = 0; var m = values.Count; for (n = 0; n < m; n++) { var value = values[n] as cape.DynamicMap; if (value != null) { var key = value.getString("key"); var val = value.getString("value"); if (key != null) { kvl.add((string)key, (string)val); } } } } return((Windows.UI.Xaml.UIElement)cave.ui.SelectWidget.forKeyValueList(context, kvl)); } if (element.isType("CheckBoxInput")) { var cbx = cave.ui.CheckBoxWidget.forText(context, element.getPropertyString("text")); cbx.setWidgetChecked(element.getPropertyBoolean("isChecked")); return((Windows.UI.Xaml.UIElement)cbx); } if (element.isType("DateInput")) { var v1 = cave.ui.DateSelectorWidget.forContext(context); v1.setSkipYears(element.getPropertyInteger("skipYears")); return((Windows.UI.Xaml.UIElement)v1); } if (element.isType("StringListInput")) { var v2 = new cave.ui.FormWidget.MyStringListInputWidget(context); v2.setWidgetPlaceholder(element.getLabel()); return((Windows.UI.Xaml.UIElement)v2); } cave.ui.CustomContainerWidget container = null; if (element.isType("VerticalContainer")) { var vb = cave.ui.VerticalBoxWidget.forContext(context); if (formWidth > 0) { vb.setWidgetWidthRequest(formWidth); } vb.setWidgetSpacing(elementSpacing); container = (cave.ui.CustomContainerWidget)vb; } else if (element.isType("HorizontalContainer")) { var hb = cave.ui.HorizontalBoxWidget.forContext(context); hb.setWidgetSpacing(elementSpacing); container = (cave.ui.CustomContainerWidget)hb; } else if (element.isType("GroupContainer")) { var vb1 = cave.ui.VerticalBoxWidget.forContext(context); if (formWidth > 0) { vb1.setWidgetWidthRequest(formWidth); } vb1.setWidgetSpacing(elementSpacing); var wlayer = cave.ui.LayerWidget.forContext(context); var bgc1 = getBackgroundColorForElement(element); wlayer.addWidget((Windows.UI.Xaml.UIElement)cave.ui.CanvasWidget.forColor(context, bgc1)); var groupLabel = cave.ui.LabelWidget.forText(context, element.getPropertyString("title")); groupLabel.setWidgetTextColor(getAdjustedForegroundColor(element, bgc1)); wlayer.addWidget((Windows.UI.Xaml.UIElement)cave.ui.LayerWidget.forWidget(context, (Windows.UI.Xaml.UIElement)groupLabel, context.getHeightValue("2mm"))); vb1.addWidget((Windows.UI.Xaml.UIElement)wlayer); container = (cave.ui.CustomContainerWidget)vb1; } if (!(container != null)) { System.Diagnostics.Debug.WriteLine("Unsupported form declaration container encountered: `" + element.getType() + "'"); return(null); } var array = element.getChildren(); if (array != null) { var n2 = 0; var m2 = array.Count; for (n2 = 0; n2 < m2; n2++) { var child = array[n2]; if (child != null) { var ww = createAndRegisterWidget(child); if (!(ww != null)) { continue; } var label = child.getLabel(); if (enableFieldLabels && !cape.String.isEmpty(label)) { var wlayer1 = cave.ui.LayerWidget.forContext(context); var bgc2 = getBackgroundColorForElement(child); wlayer1.addWidget((Windows.UI.Xaml.UIElement)cave.ui.CanvasWidget.forColor(context, bgc2)); var wbox = cave.ui.VerticalBoxWidget.forContext(context); var lw = cave.ui.LabelWidget.forText(context, label); lw.setWidgetTextColor(getAdjustedForegroundColor(child, bgc2)); lw.setWidgetFontSize((double)fieldLabelFontSize); if (fieldLabelFontResource != null) { lw.setWidgetFontResource(fieldLabelFontResource); } else { lw.setWidgetFontFamily(fieldLabelFontFamily); } var ss = context.getHeightValue("1mm"); wbox.addWidget((Windows.UI.Xaml.UIElement)cave.ui.LayerWidget.forWidget(context, (Windows.UI.Xaml.UIElement)lw).setWidgetMarginLeft(ss).setWidgetMarginRight(ss).setWidgetMarginTop(ss)); wbox.addWidget(ww, child.getPropertyDouble("weight")); wlayer1.addWidget((Windows.UI.Xaml.UIElement)wbox); addToContainerWithWeight(container, (Windows.UI.Xaml.UIElement)wlayer1, child.getPropertyDouble("weight")); } else { addToContainerWithWeight(container, ww, child.getPropertyDouble("weight")); } } } } return((Windows.UI.Xaml.UIElement)container); }