/// <summary> /// Update the Display attribute text /// </summary> /// <param name="item"></param> protected virtual void ChangeDisplayAttributes(vItem item) { if (item) { if (displayAttributesText) displayAttributesText.text = item.GetItemAttributesText(ignoreAttributes); onChangeAttributes.Invoke(item.GetItemAttributesText(ignoreAttributes)); for (int i = 0; i < item.attributes.Count; i++) { AttributeDisplay attributeDisplay = customAttributeDisplay.Find(att => att.name.Equals(item.attributes[i].name)); if (attributeDisplay != null) { string displayText = item.attributes[i].GetDisplayText(); if (attributeDisplay.text) attributeDisplay.text.text = displayText; attributeDisplay.onChangeDisplay.Invoke(displayText); } } } else { if (displayAttributesText) displayAttributesText.text = ""; onChangeAttributes.Invoke(""); for (int i = 0; i < customAttributeDisplay.Count; i++) { if (customAttributeDisplay[i].text) customAttributeDisplay[i].text.text = ""; customAttributeDisplay[i].onChangeDisplay.Invoke(""); } } }
void AssociatedObject_Click(object sender, RoutedEventArgs e) { DataGridColumnHeader header = ControlTreeHelper.FindAncestorOfType <DataGridColumnHeader>(AssociatedObject); if (header == null) { return; } FieldInfo fieldInfo = header.Content as FieldInfo; if (fieldInfo == null) { return; } AttributeDisplay attrDisplay = ControlTreeHelper.FindAncestorOfType <AttributeDisplay>(AssociatedObject); if (attrDisplay != null) { attrDisplay.RaiseSortedEvent(fieldInfo); } }
// display: Only in <element> or <instance> context // constant:Only in <device> context public Attribute() { Rot = "R0"; Display = AttributeDisplay.value; Constant = Bool.no; }