public RelationalContainer(KeyValue openKey, KeyValue closeKey, Control parent, RelationalBuilder2 topparent, int lev, string val) { InitializeComponent(); selectedChild = null; this.parent = parent; this.topParent = topparent; this.Level = lev; arrayCount = 0; RelationalItem2 ri = new RelationalItem2(openKey, this, topparent, val); this.Controls.Add(ri); RelationalItem2 ri2 = new RelationalItem2(closeKey, this, topparent, val); this.Controls.Add(ri2); // this.topParent.ClearAllSelected(); //ri.SetSelected(true); RefreshSize(); Value = val; }
public RelationalItem2(KeyValue kv, RelationalContainer parent, RelationalBuilder2 topparent, string val) { InitializeComponent(); isScript = false; this.parent = parent; this.topParent = topparent; keyvalue = kv; upperKV = kv; lowerKV = kv; CloseBracket = false; OpenBracket = false; CBO_Type.Visible = false; indent = new String(' ', parent.Level * 2); SetSelected(false); if (kv.Instance.StartsWith("Relational") && kv.AttributeName == "Open" || kv.AttributeName == "Close") { try { CBO_Type.SelectedIndex = val != "" && !val.StartsWith("FD") ? int.Parse(val.Substring(0, 2), NumberStyles.AllowHexSpecifier) - 1 : 0; } catch { CBO_Type.SelectedIndex = 0; } switch (kv.AttributeName) { case "Open": LBL_Name.Text = indent + (kv.Instance.Contains("Array") ? "[" : "{"); CBO_Type.Visible = true; OpenBracket = true; break; case "Close": LBL_Name.Text = indent + (kv.Instance.Contains("Array") ? "]" : "}"); CloseBracket = true; break; default: break; } parent.type = kv.Instance.Split('_')[1]; parent.datatype = val != "" && !val.StartsWith("FD") ? val.Substring(0, 2) : "01"; if (parent.type == "Envelope" && CBO_Type.Visible) { CBO_Type.Items.Clear(); for (int i = 0; i < topparent.relationalTypes.Count; i++) { CBO_Type.Items.Add(topparent.relationalTypes[i].AttributeName + " (0x" + topparent.relationalTypes[i].KeyID + ")"); if (topparent.relationalTypes[i].KeyID == "FD020001") { CBO_Type.SelectedIndex = i; } } } else { /*if (SymbIOT.dm_name == "Cooking") * { * //CBO_Type.Visible = false; * //parent.datatype = "02"; * }*/ } TB_Value.Visible = true; CBO_Value.Visible = false; TB_Value.Text = val; } else { LBL_Name.Text = indent + kv.Instance + "." + kv.AttributeName; if (kv.EnumName != null) { TB_Value.Visible = false; CBO_Value.Visible = true; for (int j = 0; j < kv.EnumName.Enums.Count; j++) { if (kv.EnumName.Enums[j] != null) { CBO_Value.Items.Add(j.ToString("X2") + "=" + kv.EnumName.Enums[j]); if (val == kv.EnumName.Enums[j].ToString()) { CBO_Value.SelectedItem = j.ToString("X2") + "=" + kv.EnumName.Enums[j]; } } } /*foreach (string s in kv.EnumName.Enums) * { * if (s != null) * { * CBO_Value.Items.Add(s); * } * } * if (val != null) * { * CBO_Value.SelectedItem = val; * }*/ } else { TB_Value.Visible = true; CBO_Value.Visible = false; if (val != null) { TB_Value.Text = val; } } } }