Ejemplo n.º 1
0
        /// <summary>
        /// Sortiert alle angezeigten UserStories nach der Priorität und
        /// zeigt sie auf der gezeichneten Linie an
        /// </summary>
        /// <param name="startingPoint">Der Anfangspunkt der Linie</param>
        /// <param name="direction">Die Richtung der Linie</param>
        public void SortByPriority(Point startingPoint, Vector direction)
        {
            //User Stories nach Priorität sortieren
            Surface.Database.UserStories.Sort(
                delegate(UserStory item1, UserStory item2)
            {
                return(item2.Priority.CompareTo(item1.Priority));
            });
            Point  current = startingPoint;
            double angle   = new Vector(1, 0).GetAngle(direction);

            for (int i = 0; i < Surface.Database.UserStories.Count; i++)
            {
                UserStory        item = Surface.Database.UserStories[i];
                UserStoryControl obj  = item.Representations[0] as UserStoryControl;
                if (obj != null)
                {
                    Canvas.SetZIndex(obj, 10 + i);
                    obj.Scale(UserStoryControl.StaticDefaultSettings.Scale, true);
                    obj.Rotate(angle, true);
                    obj.MoveCenter(current.X, current.Y, true);
                    //Jede User Story ein bisschen weiter in die Richtung des Vektors bewegen
                    current = direction.MovePoint(current, UserStoryControl.StdWidth * UserStoryControl.StaticDefaultSettings.Scale / 2);
                }
            }
        }
Ejemplo n.º 2
0
 void CheckLinesTimer_Elapsed(object sender, ElapsedEventArgs e)
 {
     //Nach 60 Ausführungen aufhören
     if (timerCount < 60)
     {
         try
         {
             foreach (ItemControl ic in this.VisibleControls)
             {
                 UserStoryControl usc = ic as UserStoryControl;
                 if (usc != null && usc.Line != null)
                 {
                     usc.Line.UpdateLine();
                 }
             }
             timerCount++;
         }
         catch
         { }
     }
     else
     {
         StopTimer();
     }
 }
Ejemplo n.º 3
0
 public void NotifyDragExit(IDraggable obj, ScrumGestures.TouchPoint pt)
 {
     if (obj.GetType() == typeof(UserStoryControl))
     {
         UserStoryControl usc = obj as UserStoryControl;
         this.Invoke(() =>
         {
             //Gefahr gebannt
             usc.DeleteVisible = false;
         });
     }
 }
Ejemplo n.º 4
0
 public void NotifyDragEnter(IDraggable obj, ScrumGestures.TouchPoint pt)
 {
     if (obj.GetType() == typeof(UserStoryControl))
     {
         UserStoryControl usc = obj as UserStoryControl;
         this.Invoke(() =>
         {
             //Zeigen: Wenn du jetzt das Element loslässt, wird es gelöscht
             usc.DeleteVisible = true;
         });
     }
 }
Ejemplo n.º 5
0
 public void NotifyDragDrop(IDraggable obj, ScrumGestures.TouchPoint pt)
 {
     if (obj.GetType() == typeof(UserStoryControl))
     {
         UserStoryControl usc = obj as UserStoryControl;
         this.Invoke(() =>
         {
             // Element wurde doch losgelassen! Also löschen
             Surface.Database.RemoveItem(usc.Item);
             if (ItemRemoved != null)
             {
                 ItemRemoved(this, usc.Item);
             }
         });
     }
 }