コード例 #1
0
ファイル: WidgetManager.cs プロジェクト: rybergy/storybrew
        private void TooltipWidget_OnHovered(WidgetEvent evt, WidgetHoveredEventArgs e)
        {
            var tooltip = tooltips[evt.Listener];

            if (e.Hovered)
            {
                displayTooltip(tooltip);
            }
            else
            {
                tooltip.Displayed = false;
            }
        }
コード例 #2
0
        private void widget_OnHovered(WidgetEvent evt, WidgetHoveredEventArgs e)
        {
            if (hovered == e.Hovered)
            {
                return;
            }

            hovered = e.Hovered;
            if (!disabled)
            {
                OnStateChanged?.Invoke(this, EventArgs.Empty);
            }
        }
コード例 #3
0
ファイル: Widget.cs プロジェクト: rybergy/storybrew
        public bool NotifyHoveredWidgetChange(WidgetEvent evt, WidgetHoveredEventArgs e)
        {
            var related = evt.RelatedTarget;

            while (related != null && related != this)
            {
                related = related.parent;
            }

            if (related != this)
            {
                Raise(OnHovered, evt, e);
            }

            Raise(OnHoveredWidgetChange, evt, e);
            return(false);
        }
コード例 #4
0
ファイル: WidgetManager.cs プロジェクト: rybergy/storybrew
        private void changeHoveredWidget(Widget widget)
        {
            if (widget == hoveredWidget)
            {
                return;
            }

            if (hoveredWidget != null)
            {
                var e = new WidgetHoveredEventArgs(false);
                fire((w, evt) => w.NotifyHoveredWidgetChange(evt, e), hoveredWidget, widget);
            }

            var previousWidget = hoveredWidget;

            hoveredWidget = widget;

            if (hoveredWidget != null)
            {
                var e = new WidgetHoveredEventArgs(true);
                fire((w, evt) => w.NotifyHoveredWidgetChange(evt, e), hoveredWidget, previousWidget);
            }
        }