/// <summary>
        /// Default function for building tooltip content.
        /// </summary>
        /// <param name="pt">Point in which the value is requied.</param>
        /// <returns>A content for tooltip for specified point.</returns>
        public virtual object DefaultContentFunc(Point pt)
        {
            if (parent == null)
            {
                return(null);
            }
            StackPanel contentPanel = new StackPanel
            {
                Orientation = Orientation.Vertical,
            };

            foreach (UIElement elem in parent.RelatedPlots)
            {
                if (elem is HeatmapGraph)
                {
                    ITooltipProvider el = elem as ITooltipProvider;
                    if (el != null)
                    {
                        var control = new ContentControl();
                        control.IsTabStop = false;
                        if (el.TooltipContentFunc != null)
                        {
                            var internalContent = el.TooltipContentFunc(pt);
                            if (internalContent != null)
                            {
                                control.Content = internalContent;
                                contentPanel.Children.Add(control);
                            }
                        }
                    }
                }
            }
            return(contentPanel.Children.Count > 0 ? contentPanel : null);
        }
Beispiel #2
0
        public void StartMenuArea(double priority, ITooltipProvider tooltipProvider = null)
        {
            if (CurrentMenuArea != null)
            {
                throw new Exception();
            }

            CurrentMenuArea = new MenuAreaText(this, priority, tooltipProvider);

            StartHandler(CurrentMenuArea);
        }
        // PUBLIC

        public void Setup(ITooltipProvider item)
        {
            leftTitleText.text  = item.GetDisplayName();
            rightTitleText.text = item.GetCategoryName();
            foreach (TooltipDescriptionField itemDescription in item.GetDescriptionFields())
            {
                GameObject      tooltipGO = Instantiate(tooltipPrefab, tooltipContainer.transform);
                TooltipIconText tooltip   = tooltipGO.GetComponent <TooltipIconText>();
                if (itemDescription.hasIcon)
                {
                    Image icon = tooltip.GetIcon();
                    icon.sprite = itemDescription.iconImage;
                }
                else
                {
                    tooltip.DisableIcon();
                }
                Text textField = tooltip.GetText();
                textField.text = itemDescription.description;
                tooltips.Add(tooltipGO);
            }
        }
Beispiel #4
0
 public MenuAreaText(TextBuilder text, double priority, ITooltipProvider tooltipProvider)
 {
     Text            = text;
     Priority        = priority;
     TooltipProvider = tooltipProvider;
 }