// create hover form for module or connection private HoverBase CreateHoverForm(HoverEventArgs <object, object> e) { StringBuilder sb = new StringBuilder(); var hoverItem = e.Object; var hoverPart = e.Part; string itemName = string.Empty; string partName = string.Empty; if (e.SubPart.Is <GroupPin>()) { sb.Append(e.SubPart.Cast <GroupPin>().Name); partName = CircuitUtil.GetDomNodeName(e.SubPart.Cast <DomNode>()); } else if (e.SubObject.Is <DomNode>()) { itemName = CircuitUtil.GetDomNodeName(e.SubObject.Cast <DomNode>()); } else if (hoverPart.Is <GroupPin>()) { sb.Append(hoverPart.Cast <GroupPin>().Name); partName = CircuitUtil.GetDomNodeName(hoverPart.Cast <DomNode>()); } else if (hoverItem.Is <DomNode>()) { itemName = CircuitUtil.GetDomNodeName(hoverItem.Cast <DomNode>()); } //Trace.TraceInformation("hoverItem {0} hoverPart {1}", itemName, partName); //StringBuilder sb = new StringBuilder(); //ICustomTypeDescriptor customTypeDescriptor = Adapters.As<ICustomTypeDescriptor>(hoverItem); //if (customTypeDescriptor != null) //{ // // Get properties interface // foreach (System.ComponentModel.PropertyDescriptor property in customTypeDescriptor.GetProperties()) // { // object value = property.GetValue(hoverItem); // if (value != null) // { // sb.Append(property.Name); // sb.Append(": "); // sb.Append(value.ToString()); // sb.Append("\n"); // } // } //} HoverBase result = null; if (sb.Length > 0) // remove trailing '\n' { //sb.Length = sb.Length - 1; result = new HoverLabel(sb.ToString()); } return(result); }
// create hover form for module or connection private HoverBase CreateHoverForm(HoverEventArgs <object, object> e) { StringBuilder sb = new StringBuilder(); var hoverItem = e.Object; var hoverPart = e.Part; if (e.SubPart.Is <GroupPin>()) { sb.Append(e.SubPart.Cast <GroupPin>().Name); CircuitUtil.GetDomNodeName(e.SubPart.Cast <DomNode>()); } else if (e.SubObject.Is <DomNode>()) { CircuitUtil.GetDomNodeName(e.SubObject.Cast <DomNode>()); } else if (hoverPart.Is <GroupPin>()) { sb.Append(hoverPart.Cast <GroupPin>().Name); CircuitUtil.GetDomNodeName(hoverPart.Cast <DomNode>()); } else if (hoverItem.Is <DomNode>()) { CircuitUtil.GetDomNodeName(hoverItem.Cast <DomNode>()); } HoverBase result = null; if (sb.Length > 0) // remove trailing '\n' { //sb.Length = sb.Length - 1; result = new HoverLabel(sb.ToString()); } return(result); }