Esempio n. 1
0
        // Delete Object (Memo or Arrow)
        void DeleteObject(object sender, EventArgs args)
        {
            switch (StatusLabel.Text)
            {
            case "Memo Tapped":
                Memo TappedMemo = (Memo)WhichObject(TappedObject);

                foreach (Arrow arrow in TappedMemo.Arrows)
                {
                    // Remove all arrows from Memo and MemoBoard
                    if (arrow.From == TappedMemo)
                    {
                        arrow.To.Arrows.Remove(arrow);
                    }
                    if (arrow.To == TappedMemo)
                    {
                        arrow.From.Arrows.Remove(arrow);
                    }
                    MemoBoard.Children.Remove(arrow.Body);
                }

                Memos.Remove(TappedMemo);
                StatusLabel.Text = "Memo Deleted";
                break;

            case "Arrow Tapped":
            case "Linking Memo":
                Arrow TappedArrow = (Arrow)WhichObject(TappedObject);

                Memo from = TappedArrow.From; from.Arrows.Remove(TappedArrow);
                Memo to   = TappedArrow.To; to.Arrows.Remove(TappedArrow);

                LinkMemoButton.Text = "->";     // change the button label
                StatusLabel.Text    = "Arrow Deleted";
                break;
            }

            MemoBoard.Children.Remove(TappedObject);
            DeleteObjectButton.IsEnabled = false;
        }