public void endRmlUpdate() { RocketEventListenerInstancer.resetEventController(); //Find all custom controls and hook them up ElementDocument document = rocketWidget.Context.GetDocument(0); foreach (Element element in document.GetElementsByTagName("data")) { switch (element.GetAttributeString("type")) { case "volume": dataDisplays.Add(new VolumeDisplay(element, context, rocketWidget)); break; case "measurement": dataDisplays.Add(new MeasurementDisplay(element, context, rocketWidget)); break; default: element.InnerRml = String.Format("Unknown data display type '{0}'", element.GetAttributeString("type")); Logging.Log.Error("Could not create a display type for '{0}'", element.GetAttributeString("type")); break; } } float height = 0.0f; foreach (var child in document.Children) { height += child.ScrollHeight; } widget.Height = (int)(height + 0.5f); }
public override void analyzeViewData(IDataProvider dataProvider) { base.analyzeViewData(dataProvider); ElementDocument document = rocketWidget.Context.GetDocument(0); runIfAnalysis(dataProvider, document); //Print statements foreach (Element print in document.GetElementsByTagName("print")) { String name = print.GetAttributeString("name"); String value = dataProvider.getValue(name); if (value != null) { print.InnerRml = value; } } }
public override void populateViewData(IDataProvider dataProvider) { base.populateViewData(dataProvider); ElementDocument document = rocketWidget.Context.GetDocument(0); foreach (Element form in document.GetElementsByTagName("form")) { foreach (Element input in form.GetElementsByTagName("input")) { String name = input.GetAttributeString("name"); if (name != null) { String value = dataProvider.getValue(name); String type = input.GetAttributeString("type").ToLowerInvariant(); if (value != null) { switch (type) { case "text": input.SetAttribute("value", value); break; case "password": input.SetAttribute("value", value); break; case "radio": if (input.GetAttributeString("value") == value) { input.SetAttribute("checked", "true"); } break; case "checkbox": if (input.GetAttributeString("value") == value) { input.SetAttribute("checked", "true"); } break; case "range": input.SetAttribute("value", value); break; } } } } foreach (Element textArea in form.GetElementsByTagName("textarea")) { String name = textArea.GetAttributeString("name"); if (name != null) { String value = dataProvider.getValue(name); if (value != null) { textArea.SetAttribute("value", value); } } } foreach (ElementFormControl select in form.GetElementsByTagName("select")) { String name = select.GetAttributeString("name"); if (name != null) { String value = dataProvider.getValue(name); if (value != null) { select.Value = value; } } } } }