Beispiel #1
0
        internal TimelinePosition DetermineItemPosition(TimelineItem item)
        {
            if (Mode == TimelineMode.Left)
            {
                return(TimelinePosition.Left);
            }

            if (Mode == TimelineMode.Right)
            {
                return(TimelinePosition.Right);
            }

            if (currentItemPosition == null)
            {
                currentItemPosition = TimelinePosition.Left;
                return(TimelinePosition.Left);
            }

            if (currentItemPosition == TimelinePosition.Left)
            {
                currentItemPosition = TimelinePosition.Right;
                return(TimelinePosition.Right);
            }

            if (currentItemPosition == TimelinePosition.Right)
            {
                currentItemPosition = TimelinePosition.Left;
                return(TimelinePosition.Left);
            }

            return(item.Position);
        }
Beispiel #2
0
 private void ResetPositions()
 {
     currentItemPosition = null;
     foreach (var item in items)
     {
         item.UpdatePosition();
     }
     previousMode = Mode;
 }
Beispiel #3
0
 internal void UpdatePosition()
 {
     if (Position == null)
     {
         position = Parent.DetermineItemPosition(this);
     }
     else
     {
         position = Position;
     }
 }