private void ParseElement(D900CdrElement element) { ID900CdrElementDefinition elementDef = DefinitionProvider.FindDefinition(element.Path); if (elementDef != null) { if (elementDef.Name.Length != 0) { element.Name = elementDef.Name; } if (elementDef.Parselet.Length > 0) { ID900Parselet parselet = ParseletProvider.FindParselet(elementDef.Parselet); if (parselet != null) { element.Parselet = parselet; element.DefaultValueType = elementDef.ValueType; } } } if (element.Parselet == null && !element.IsConstructed) { element.Parselet = D900ParseletProvider.Instance.FindParselet("GenericParselet"); } if ((element.IsConstructed) && (!element.IsEmpty)) { foreach (D900CdrElement e in (element.Value as List <D900CdrElement>)) { this.ParseElement(e); } } }
public void RegisterParselet(ID900Parselet parselet) { if (!_parseletTable.ContainsKey(parselet.ParseletName)) { _parseletTable.Add(parselet.ParseletName, parselet); } }
private void elementsListView_SelectedIndexChanged(object sender, EventArgs e) { if (elementsListView.SelectedItems.Count > 0) { ID900Parselet parselet = D900ParseletProvider.Instance.FindParselet(elementsListView.SelectedItems[0].SubItems[2].Text); valTypeListBox.BeginUpdate(); valTypeListBox.Items.Clear(); if (parselet != null) { valTypeListBox.Items.AddRange(parselet.GetValueTypes()); if (String.IsNullOrEmpty(elementsListView.SelectedItems[0].SubItems[3].Text)) { valTypeListBox.SelectedItem = parselet.DefaultValueType; } else { valTypeListBox.SelectedItem = elementsListView.SelectedItems[0].SubItems[3].Text; } } valTypeListBox.EndUpdate(); } }