示例#1
0
 /// <summary>
 /// Ajoute un prédecesseur à l'élément spécifié.
 /// </summary>
 /// <param name="item">L'élément successeur.</param>
 /// <param name="predecessorItem">L'élément prédecesseur.</param>
 private void AddPredecessorItem(ActionGanttItem item, ActionGanttItem predecessorItem)
 {
     _currentUpdatingPredecessors = item.Predecessors;
     item.Predecessors.Add(new PredecessorItem()
     {
         Item = predecessorItem, DependencyType = DependencyType.FinishStart
     });
     _currentUpdatingPredecessors = null;
 }
示例#2
0
        /// <summary>
        /// Appelé lorsque les prédecesseurs ont changé sur un élément.
        /// </summary>
        /// <param name="sender">La source.</param>
        /// <param name="e">Les <see cref="System.EventArgs"/> contenant les données de l'évènement.</param>
        private void OnItemPredecessorsCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            var collection = (PredecessorItemCollection)sender;

            if (_currentUpdatingPredecessors != collection && !base.IsMovingItems)
            {
                if (e.NewItems != null)
                {
                    foreach (PredecessorItem pi in e.NewItems)
                    {
                        var item        = (ActionGanttItem)pi.DependentItem;
                        var predecessor = (ActionGanttItem)pi.Item;

                        _currentUpdatingPredecessors = collection;
                        if (!base.AddPredecessor(item, predecessor))
                        {
                            throw new InvalidOperationException("Impossible d'ajouter un prédecesseur invalide. Utiliser CheckCanAddPredecessor() au préalable.");
                        }
                        _currentUpdatingPredecessors = null;
                    }
                }

                if (e.OldItems != null)
                {
                    foreach (PredecessorItem pi in e.OldItems)
                    {
                        var item        = (ActionGanttItem)pi.DependentItem;
                        var predecessor = (ActionGanttItem)pi.Item;

                        _currentUpdatingPredecessors = collection;
                        base.RemovePredecessor(item, predecessor);
                        _currentUpdatingPredecessors = null;
                    }
                }
            }
        }
示例#3
0
 /// <summary>
 /// Supprime un prédecesseur de l'élément.
 /// </summary>
 /// <param name="item">Le <see cref="PredecessorItem"/>.</param>
 private void DeletePredecessorItem(PredecessorItem item)
 {
     _currentUpdatingPredecessors = item.DependentItem.Predecessors;
     item.DependentItem.Predecessors.Remove(item);
     _currentUpdatingPredecessors = null;
 }