Beispiel #1
0
        protected override void SelectionMoved(Selection sel)
        {
            if (sel.Drawable is DashboardButtonObject)
            {
                SizeChanged();
                Edited = true;
            }
            else if (sel.Drawable is ActionLinkObject)
            {
                ActionLinkObject link   = sel.Drawable as ActionLinkObject;
                LinkAnchorObject anchor = null;
                Selection        destSel;

                destSel = GetSelection(MoveStart, true, true);
                if (destSel != null && destSel.Drawable is LinkAnchorObject)
                {
                    anchor = destSel.Drawable as LinkAnchorObject;
                }
                /* Toggled highlited state */
                if (anchor != destAnchor)
                {
                    if (destAnchor != null)
                    {
                        destAnchor.Highlighted = false;
                    }
                    /* Only highlight valid targets */
                    if (link.CanLink(anchor))
                    {
                        anchor.Highlighted = true;
                        destAnchor         = anchor;
                    }
                    else
                    {
                        destAnchor = null;
                    }
                }
            }
            base.SelectionMoved(sel);
        }