示例#1
0
        // 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);
        }
示例#2
0
        // 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);
        }