Ejemplo n.º 1
0
      private void _onConvertersCollectionChanged(object sender, NotifyCollectionChangedEventArgs e) {
         IList C = null;

         switch (e.Action) {
            case NotifyCollectionChangedAction.Add:
               C = e.NewItems;
               break;

            case NotifyCollectionChangedAction.Replace:
               C = e.NewItems;
               break;

            case NotifyCollectionChangedAction.Remove:
               foreach (IValueConverter c in e.OldItems) {
                  _convertersInfo.Remove(c); 
               }
               break;

            case NotifyCollectionChangedAction.Reset:
               _convertersInfo.Clear();
               C = Converters;
               break;
         }
         if (C == null || C.Count == 0) return;

         foreach (IValueConverter c in C) {
            var attrs = c.GetType().GetAttributes<ValueConversionAttribute>();
            Assumption.IsTrue(attrs.Length == 1, "All value converters in a converter chain must be decorated with the ValueConversion attribute exactly once.");
            _convertersInfo.Add(c, attrs[0]);
         }
      }
 /// <summary>
 /// This method is raised when the ResourceDictionaries collection is changed.
 /// </summary>
 /// <param name="sender">The source of the event.</param>
 /// <param name="e">Information about the event.</param>
 private void ResourceDictionariesCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
 {
     if (!(e.Action == NotifyCollectionChangedAction.Add && (this.ResourceDictionaries.Count - e.NewItems.Count) == e.NewStartingIndex))
     {
         Reset();
     }
 }
Ejemplo n.º 3
0
		protected virtual void RaiseDataCollectionChanged(NotifyCollectionChangedEventArgs args)
		{
			if (this.CollectionChanged != null)
			{
				this.CollectionChanged(this.value, args);
			}
		}
Ejemplo n.º 4
0
		private void boxesCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
		{
			//VIEW0
			int i = 0;
			if (e.NewItems != null)
				foreach (var newBoxViewModel in e.NewItems.Cast<BoxViewModel>())
				{
					var boxIndex = e.NewStartingIndex + i;
					var box = new Box(newBoxViewModel, ((Box)this.Parent).CaretPerTree);
					this.locations.Insert(boxIndex, default(Point));
					this.Children.Insert(boxIndex, box);
					SetLeft(box, 0);
					SetTop(box, 0);
					newBoxViewModel.PropertyChanged += (_, _e) =>
					{
						//if (_e.PropertyName == nameof(BoxViewModel.Layout))//TODO: filter all calls to the following method by only propagating those properties that cause a layout change
						this.boxLayoutChanged();
					};
				}
			//VIEW1//VIEW2
			if (e.OldItems != null)
				foreach (var newBoxViewModel in e.OldItems.Cast<BoxViewModel>())
				{
					this.locations.RemoveAt(e.OldStartingIndex);
					this.Children.RemoveAt(e.OldStartingIndex);
				}
		}
        private void OnModelChildrenCollectionChanged(NotifyCollectionChangedEventArgs e)
        {
            if (e.OldItems != null &&
                (e.Action == NotifyCollectionChangedAction.Remove ||
                 e.Action == NotifyCollectionChangedAction.Replace))
            {
                foreach (var childModel in e.OldItems)
                    Children.Remove(Children.First(cv => cv.Model == childModel));
            }

            if (e.Action == NotifyCollectionChangedAction.Reset)
                Children.Clear();

            if (e.NewItems != null &&
                (e.Action == NotifyCollectionChangedAction.Add ||
                 e.Action == NotifyCollectionChangedAction.Replace))
            {
                var manager = _model.Root.Manager;
                var insertIndex = e.NewStartingIndex;
                foreach (LayoutAnchorGroup childModel in e.NewItems)
                {
                    Children.Insert(insertIndex++,
                        manager.CreateUIElementForModel(childModel) as LayoutAnchorGroupControl);
                }
            }
        }
Ejemplo n.º 6
0
			void insightWindow_items_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
			{
				OnPropertyChanged("Count");
				OnPropertyChanged("CurrentHeader");
				OnPropertyChanged("CurrentContent");
				OnPropertyChanged("CurrentIndexText");
			}
Ejemplo n.º 7
0
 private void AllFilesOnCollectionChanged(object sender, NotifyCollectionChangedEventArgs notifyCollectionChangedEventArgs)
 {
     switch (notifyCollectionChangedEventArgs.Action)
       {
     case NotifyCollectionChangedAction.Add:
       foreach (FileViewModel fileViewModel in notifyCollectionChangedEventArgs.NewItems)
       {
     if (fileViewModel.Path.EndsWith("template.json"))
       Templates.Add(new Template(fileViewModel));
       }
       break;
     case NotifyCollectionChangedAction.Remove:
       foreach (FileViewModel fileViewModel in notifyCollectionChangedEventArgs.OldItems)
       {
     if (fileViewModel.Path.EndsWith("template.json"))
     {
       Template template = m_templates.FirstOrDefault(n => n.FileViewModel == fileViewModel);
       m_templates.Remove(template);
     }
       }
       break;
     case NotifyCollectionChangedAction.Replace:
       break;
     case NotifyCollectionChangedAction.Move:
       break;
     case NotifyCollectionChangedAction.Reset:
       break;
     default:
       throw new ArgumentOutOfRangeException();
       }
 }
        private void ElementsChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            if (e.Action == NotifyCollectionChangedAction.Add)
            {
                foreach (var item in e.NewItems)
                {
                    var elementViewModel = item as ElementViewModel;
                    if (elementViewModel == null) continue;
                    AddElementResultsCollections(elementViewModel);
                }
            }

            if (e.Action == NotifyCollectionChangedAction.Remove)
            {
                foreach (var item in e.OldItems)
                {
                    var elementViewModel = item as ElementViewModel;
                    if (elementViewModel == null) continue;
                    RemoveElementResultsCollections(elementViewModel);
                }
            }
            if (e.Action == NotifyCollectionChangedAction.Reset)
            {
                ResetCollection();
            }
        }
 private void OnNavigationViewsChanged(object sender, NotifyCollectionChangedEventArgs e)
 {
     if (e.Action == NotifyCollectionChangedAction.Add)
     {
         PopulateRegion(e.NewItems);
     }
 }
Ejemplo n.º 10
0
        /// <summary>
        /// This is invoked when the collection changes.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="System.Collections.Specialized.NotifyCollectionChangedEventArgs"/> instance containing the event data.</param>
        /// <remarks>
        /// This method must be public because the <see cref="IWeakEventListener"/> is used.
        /// </remarks>
        public void OnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            Log.Debug("Automatically tracking change '{0}' of collection", e.Action);

            var undoList = new List<CollectionChangeUndo>();
            var collection = (IList)sender;

            switch (e.Action)
            {
                case NotifyCollectionChangedAction.Add:
                    undoList.AddRange(e.NewItems.Cast<object>().Select((item, i) => new CollectionChangeUndo(collection, CollectionChangeType.Add, -1, e.NewStartingIndex + i, null, item, Tag)));
                    break;

                case NotifyCollectionChangedAction.Remove:
                    undoList.AddRange(e.OldItems.Cast<object>().Select((item, i) => new CollectionChangeUndo(collection, CollectionChangeType.Remove, e.OldStartingIndex + i, -1, item, null, Tag)));
                    break;

                case NotifyCollectionChangedAction.Replace:
                    undoList.Add(new CollectionChangeUndo(collection, CollectionChangeType.Replace, e.OldStartingIndex, e.NewStartingIndex, e.OldItems[0], e.NewItems[0], Tag));
                    break;

#if NET
                case NotifyCollectionChangedAction.Move:
                    undoList.Add(new CollectionChangeUndo(collection, CollectionChangeType.Move, e.OldStartingIndex, e.NewStartingIndex, e.NewItems[0], e.NewItems[0], Tag));
                    break;
#endif
            }

            foreach (var operation in undoList)
            {
                MementoService.Add(operation);
            }

            Log.Debug("Automatically tracked change '{0}' of collection", e.Action);
        }
		void SubscriptionsCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
		{
			if (e.Action == NotifyCollectionChangedAction.Remove)
			{
				SubscriptionsGrid.SelectedIndex = e.OldStartingIndex;
			}
		}
Ejemplo n.º 12
0
 private void OnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
 {
     if (_isInitialized)
     {
         switch (e.Action)
         {
             case NotifyCollectionChangedAction.Reset:
                 ClearChildren();
                 break;
             case NotifyCollectionChangedAction.Add:
                 int index = e.NewStartingIndex;
                 foreach (var item in e.NewItems)
                 {
                     AddItem(item, index++);
                 }
                 SelectedIndexChanged(this.SelectedIndex);
                 break;
             case NotifyCollectionChangedAction.Remove:
                 foreach (var item in e.OldItems)
                 {
                     RemoveItem(item);
                 }
                 SelectedIndexChanged(this.SelectedIndex);
                 break;
             case NotifyCollectionChangedAction.Replace:
             case NotifyCollectionChangedAction.Move:
             default:
                 break;
         }
     }
 }
Ejemplo n.º 13
0
        private void diagramElementsCollection_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            switch(e.Action)
            {
                case NotifyCollectionChangedAction.Add:
                foreach (var item in e.NewItems)
                {
                    var diagramNodeElement = item as DiagramElement;
                    diagramNodeElement.MouseEnter += diagramNodeElement_MouseEnter;
                    diagramNodeElement.MouseLeave += diagramNodeElement_MouseLeave;
                }
                break;
                case NotifyCollectionChangedAction.Remove:
                foreach (var item in e.OldItems)
                {
                    var diagramNodeElement = item as DiagramElement;
                    diagramNodeElement.MouseEnter -= diagramNodeElement_MouseEnter;
                    diagramNodeElement.MouseLeave -= diagramNodeElement_MouseLeave;
                }
                break;
            }

            try
            {
                if (this.ItemHasBeenAdded && !ds.GetViewport().Contains(ds.DiagramBounds))
                {
                    ds.SizeToFit();
                    this.ItemHasBeenAdded = false;
                }
            }
            catch { }
        }
Ejemplo n.º 14
0
        private void CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            bool update = false;

            switch (e.Action)
            {
                case NotifyCollectionChangedAction.Add:
                    update = _intArgs[0] >= e.NewStartingIndex;
                    break;
                case NotifyCollectionChangedAction.Remove:
                    update = _intArgs[0] >= e.OldStartingIndex;
                    break;
                case NotifyCollectionChangedAction.Replace:
                    update = _intArgs[0] >= e.NewStartingIndex &&
                             _intArgs[0] < e.NewStartingIndex + e.NewItems.Count;
                    break;
                case NotifyCollectionChangedAction.Move:
                    update = (_intArgs[0] >= e.NewStartingIndex &&
                              _intArgs[0] < e.NewStartingIndex + e.NewItems.Count) ||
                             (_intArgs[0] >= e.OldStartingIndex &&
                             _intArgs[0] < e.OldStartingIndex + e.OldItems.Count);
                    break;
                case NotifyCollectionChangedAction.Reset:
                    update = true;
                    break;
            }

            if (update)
            {
                CurrentValue = GetValue(sender);
            }
        }
        private void Columns_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            switch (e.Action)
            {
                case NotifyCollectionChangedAction.Add:
                    foreach (DataGridColumn column in e.NewItems ?? EmptyList)
                    {
                        AddEventHandlers(column);
                    }
                    break;

                case NotifyCollectionChangedAction.Remove:
                    foreach (DataGridColumn column in e.OldItems ?? EmptyList)
                    {
                        RemoveEventHandlers(column);
                    }
                    break;

                case NotifyCollectionChangedAction.Replace:
                    foreach (DataGridColumn column in e.OldItems ?? EmptyList)
                    {
                        RemoveEventHandlers(column);
                    }
                    foreach (DataGridColumn column in e.NewItems ?? EmptyList)
                    {
                        AddEventHandlers(column);
                    }
                    break;
            }
        }
 private void PadEntryCollectionOnCollectionChanged(object sender, NotifyCollectionChangedEventArgs notifyCollectionChangedEventArgs)
 {
     foreach (PadEntryControl padEntryControl in notifyCollectionChangedEventArgs.NewItems)
     {
         padEntryControl.IsTopPad = (padEntryControl.PadId != DsPadId.One && padEntryControl.PadId != DsPadId.None);
     }
 }
Ejemplo n.º 17
0
        void _container_ItemsChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            if (e.Action == NotifyCollectionChangedAction.Reset)
            {
                var separators = _control.Items.OfType<ToolStripSeparator>().ToArray();

                foreach (var separator in separators)
                {
                    ((GroupControl)separator.Tag).Dispose();
                }
            }
            else
            {
                if (e.OldItems != null)
                {
                    foreach (NiCommandBarGroup group in e.OldItems)
                    {
                        GetGroupControl(group).Dispose();
                    }
                }

                if (e.NewItems != null)
                {
                    foreach (NiCommandBarGroup group in e.NewItems)
                    {
                        new GroupControl(_serviceProvider, _control, group);
                    }
                }
            }
        }
 void TeamMembers_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
 {
     TeamOneList.UpdateLayout();
     TeamTwoList.UpdateLayout();
     team1SkaterCount.Text = GameViewModel.Instance.Team1.TeamMembers.Count + " Skaters";
     team2SkaterCount.Text = GameViewModel.Instance.Team2.TeamMembers.Count + " Skaters";
 }
Ejemplo n.º 19
0
 protected virtual void OnCollectionChanged( object sender, NotifyCollectionChangedEventArgs e )
 {
     if( CollectionChanged != null )
     {
         CollectionChanged( this, e );
     }
 }
Ejemplo n.º 20
0
 private void OnCurrentPlaylistChanged(object sender, NotifyCollectionChangedEventArgs e)
 {
     switch (e.Action)
     {
         case NotifyCollectionChangedAction.Add:
         {
             foreach (Song item in e.NewItems)
                 CurrentPlaylist.Add(new SongViewModel(item, this));
             break;
         }
         case NotifyCollectionChangedAction.Remove:
         {
             var models = e.OldItems as List<Song>;
             if (models != null)
             {
                 var viewModels = models.Select(item => CurrentPlaylist.First(s => s.Model == item)).ToList();
                 foreach (var viewModel in viewModels)
                 {
                     CurrentPlaylist.Remove(viewModel);
                 }
             }
             break;
         }
     }
 }
Ejemplo n.º 21
0
        private void HandleCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            if (e.Action == NotifyCollectionChangedAction.Add)
            {
                var replaceExisting = false;
                var minWidth = 0.0;

                if (currentNotification != null)
                {
                    minWidth = currentNotification.ActualWidth;
                    replaceExisting = true;
                    RemoveOldNotification();
                }

                var item = e.NewItems[0] as Notification;

                currentNotification = new NotificationView() { DataContext = item, MinWidth = minWidth};
                currentNotification.MouseLeftButtonUp +=
                    delegate { if (currentNotification != null) RemoveOldNotification(); };

                LayoutRoot.Children.Add(currentNotification);
                currentNotification.Display(replaceExisting);

                if (item != null && item.Level == NotificationLevel.Error)
                {
                    timer.Interval = TimeSpan.FromSeconds(6);
                }
                else
                {
                    timer.Interval = TimeSpan.FromSeconds(3);
                }

                timer.Start();
            }
        }
Ejemplo n.º 22
0
        /// <summary>
        /// When a new item is added to the Inbox Collection we will get a notification here which we will distribute to the listening clients
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void newMail(object sender, NotifyCollectionChangedEventArgs e)
        {
            if (Clients != null)
                Clients.updateInbox(MvcApplication.Inbox);

            // Clients.alert("You've got mail!");
        }
Ejemplo n.º 23
0
 void ChatView_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
 {
     if (e.Action == NotifyCollectionChangedAction.Add)
     {
         ConversationList.ScrollIntoView(e.NewItems[0]);
     }
 }
Ejemplo n.º 24
0
        private void OnConditionItemsCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            if (e.OldItems != null)
            {
                foreach (var item in e.OldItems)
                {
                    var conditionTreeItem = (ConditionTreeItem)item;

                    if (ReferenceEquals(conditionTreeItem, this))
                    {
                        conditionTreeItem.Parent = null;
                    }

                    conditionTreeItem.Updated -= OnConditionUpdated;
                }
            }

            var newCollection = (e.Action == NotifyCollectionChangedAction.Reset) ? (IList)sender : e.NewItems;
            if (newCollection != null)
            {
                foreach (var item in newCollection)
                {
                    var conditionTreeItem = (ConditionTreeItem)item;

                    conditionTreeItem.Parent = this;
                    conditionTreeItem.Updated += OnConditionUpdated;
                }
            }
        }
 private void AddResult(NotifyCollectionChangedEventArgs e)
 {
     foreach (SearchResult result in e.NewItems)
     {
         this.Results.Children.Add(new SearchResultLabel(result));
     }
 }
 private void OnSortOrderChanged(object sender, NotifyCollectionChangedEventArgs e)
 {
     if (e.Action == NotifyCollectionChangedAction.Add)
     {
         this.UpdateData();
     }
 }
Ejemplo n.º 27
0
 void _openDisksCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
 {
     if (_openDisks.Count == 0)
     {
         StatusText = "No disk opened. Use File > Open Disk… to open a new disk or New Disk… to create a new one.";
     }
 }
Ejemplo n.º 28
0
 private void _positions_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
 {
     switch (e.Action)
     {
         case NotifyCollectionChangedAction.Add:
             HandlePositionAddEvent(e.NewItems);
             break;
         case NotifyCollectionChangedAction.Move:
             // don't care
             break;
         case NotifyCollectionChangedAction.Remove:
             HandlePositionRemoveEvent(e.OldItems);
             break;
         case NotifyCollectionChangedAction.Replace:
             HandlePositionAddEvent(e.NewItems);
             HandlePositionRemoveEvent(e.OldItems);
             break;
         case NotifyCollectionChangedAction.Reset:
             HandlePositionAddEvent(e.NewItems);
             HandlePositionRemoveEvent(e.OldItems);
             break;
         default:
             throw new Exception(String.Format("unexpected action type {0}", e.Action));
     }
     // We *could* be clever, check to see if TotalValues really changed,
     // and only report Positions changing if TotalValues stayed the same,
     // but it's simpler to just assume TotalValue will change as well
     RaisePropertyChanged(String.Empty);
 }
Ejemplo n.º 29
0
 private void Clients_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
 {
     switch (e.Action)
     {
         case NotifyCollectionChangedAction.Add:
             IMPClient addedItem = e.NewItems[0] as IMPClient;
             if (addedItem != null)
             {
                 Dispatcher.BeginInvoke(
                     new Action(() =>
                     {
                         clientList.Add(addedItem);
                         Lbl_ClientCount.Content = clientList.Count;
                     })
                 );
             }
             break;
         case NotifyCollectionChangedAction.Remove:
             IMPClient removedItem = e.OldItems[0] as IMPClient;
             if (removedItem != null)
             {
                 Dispatcher.BeginInvoke(
                     new Action(() =>
                     {
                         clientList.Remove(removedItem);
                         Lbl_ClientCount.Content = clientList.Count;
                     })
                 );
             }
             break;
     }
 }
 private void ctrlTranscriptEntries_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
 {
     if (ctrlTranscriptEntries.Items.Count > 0)
     {
         ctrlTranscriptEntries.ScrollIntoView(ctrlTranscriptEntries.Items[ctrlTranscriptEntries.Items.Count - 1]);
     }
 }
Ejemplo n.º 31
0
        void ElementLookup_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            if (e.Action == NotifyCollectionChangedAction.Add)
            {
                foreach (var item in e.NewItems)
                {
                    ElementViewModel newElement = item as ElementViewModel;

                    if (newElement != null)
                    {
                        addedElementCount++;

                        if (newElement.ConfigurationType == typeof(TraceListenerReferenceData))
                        {
                            interestedChildCreatedCount++;
                        }
                    }
                }
            }
        }
Ejemplo n.º 32
0
        private void HandleProgramsChangedCore(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            DebugItemChange("ROMS COLLECTION CHANGED");
            switch (e.Action)
            {
            case NotifyCollectionChangedAction.Add:
                AddObjectsToArrayController(e.NewItems.OfType <NSObject>());
                break;

            case NotifyCollectionChangedAction.Remove:
                RemoveObjectsFromArrayController(e.OldItems.OfType <NSObject>());
                break;

            case NotifyCollectionChangedAction.Reset:
                var itemsToDelete = NSIndexSet.FromNSRange(new NSRange(0, RomsArrayController.ArrangedObjects().Length));
                RomsArrayController.Remove(itemsToDelete);
                HandleRomListSelectionChanged(null, null);     // ensure we show 'drop stuff here' text
                break;
            }
        }
Ejemplo n.º 33
0
        void ElementScopeCollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            if ((e.Action == NotifyCollectionChangedAction.Add && e.NewItems.Count == 0) ||
                (e.Action == NotifyCollectionChangedAction.Remove && e.OldItems.Count == 0))
            {
                return;
            }

            insideElementScopeChanged = true;
            try
            {
                base.OnPropertyChanged("SuggestedValues");
                changeScopePropertyWatcher.Refresh(elementScope);
                Validate();
            }
            finally
            {
                insideElementScopeChanged = false;
            }
        }
        private static void Stuff_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            if (e.Action == NotifyCollectionChangedAction.Add)
            {
                foreach (var item in e.NewItems)
                {
                    var value = (string)item;
                    Console.WriteLine("{0} was added to the collection", value);
                }
            }

            if (e.Action == NotifyCollectionChangedAction.Remove)
            {
                foreach (var item in e.OldItems)
                {
                    var value = (string)item;
                    Console.WriteLine("{0} was removed to the collection", value);
                }
            }
        }
Ejemplo n.º 35
0
        protected override void OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            if ((m_columnAdditionMessagesDeferedCount > 0) &&
                (e.Action == NotifyCollectionChangedAction.Add) && (e.NewStartingIndex == (this.Count - e.NewItems.Count)))
            {
                if (m_deferedColumnAdditionMessageStartIndex == -1)
                {
                    m_deferedColumnAdditionMessageStartIndex = e.NewStartingIndex;
                }

                foreach (object item in e.NewItems)
                {
                    m_deferedColumns.Add(( ColumnBase )item);
                }
            }
            else
            {
                base.OnCollectionChanged(e);
            }
        }
Ejemplo n.º 36
0
 private void HandleValueChange(object sender, NMF.Expressions.ValueChangedEventArgs eventArgs)
 {
     System.Collections.Specialized.NotifyCollectionChangedEventArgs collectionEvent = null;
     if ((eventArgs.NewValue != null))
     {
         if ((eventArgs.OldValue != null))
         {
             collectionEvent = new System.Collections.Specialized.NotifyCollectionChangedEventArgs(System.Collections.Specialized.NotifyCollectionChangedAction.Replace, eventArgs.NewValue, eventArgs.OldValue);
         }
         else
         {
             collectionEvent = new System.Collections.Specialized.NotifyCollectionChangedEventArgs(System.Collections.Specialized.NotifyCollectionChangedAction.Add, eventArgs.NewValue);
         }
     }
     else
     {
         collectionEvent = new System.Collections.Specialized.NotifyCollectionChangedEventArgs(System.Collections.Specialized.NotifyCollectionChangedAction.Remove, eventArgs.OldValue);
     }
     this.OnCollectionChanged(collectionEvent);
 }
Ejemplo n.º 37
0
        private async void Messages_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            if (e.Action == NotifyCollectionChangedAction.Add)
            {
                foreach (var chatItem in e.NewItems)
                {
                    TextMessage textMessage = chatItem as TextMessage;
                    if (textMessage != null && textMessage.Author == this.viewModel.CurrentUser)
                    {
                        (sender as SfChat).ShowOutgoingMessageAvatar = false;
                    }
                    else
                    {
                        await Task.Delay(50);

                        this.sfChat.ScrollToMessage(chatItem);
                    }
                }
            }
        }
Ejemplo n.º 38
0
        void FlyingScores_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            if (e.Action == NotifyCollectionChangedAction.Add)
            {
                foreach (FlyingScore sprite in e.NewItems)
                {
                    TextBlock rect = new TextBlock();

                    rect.Text       = sprite.NbPoints.ToString();
                    rect.Foreground = new SolidColorBrush(Colors.White);
                    rect.FontFamily = new FontFamily("digital.ttf#digital");
                    //Rectangle rect = new Rectangle();
                    //rect.Fill = new SolidColorBrush(Colors.Purple);
                    //rect.Width = 10;
                    //rect.Height = 10;
                    this._dico.Add(sprite, rect);
                    rect.DataContext = sprite;
                    Binding b = new Binding("Y");
                    rect.SetBinding(Canvas.TopProperty, b);
                    Canvas.SetLeft(rect, sprite.X);
                    this.LayoutRoot.Children.Add(rect);
                }
            }
            else if (e.Action == NotifyCollectionChangedAction.Remove)
            {
                foreach (FlyingScore sprite in e.OldItems)
                {
                    UIElement o;
                    if (this._dico.TryGetValue(sprite, out o))
                    {
                        this._dico.Remove(sprite);
                        this.LayoutRoot.Children.Remove(o);
                    }
                }
            }
            else if (e.Action == NotifyCollectionChangedAction.Reset)
            {
                _dico.Clear();
                this.LayoutRoot.Children.Clear();
            }
        }
        private void Halls_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            switch (e.Action)
            {
            case NotifyCollectionChangedAction.Add:
                foreach (Залы s in e.NewItems)
                {
                    _ctx.Залы.Add(new Залы()
                    {
                        НомерЗала = s.НомерЗала, IDРазмера = s.IDРазмера
                    });
                }
                break;

            case NotifyCollectionChangedAction.Remove:
                foreach (Залы s in e.OldItems)
                {
                    _ctx.Залы.Remove(s);
                }

                break;

            case NotifyCollectionChangedAction.Reset:
                ReadOnlyObservableCollection <Залы> col = sender as ReadOnlyObservableCollection <Залы>;
                _ctx.Залы.RemoveRange(_ctx.Залы);
                if (col != null)
                {
                    foreach (Залы s in col)
                    {
                        _ctx.Залы.Add(new Залы()
                        {
                            НомерЗала = s.НомерЗала, IDРазмера = s.IDРазмера
                        });
                    }
                }
                break;
            }


            SaveChanges();
        }
Ejemplo n.º 40
0
        void ActiveViews_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            //TODO: I have access to the region manager here, maybe I should just create and inject the ribbon tabs here
            //and take the region manager dependency out of the out of the view completely
            if (e.Action == NotifyCollectionChangedAction.Add)
            {
                foreach (var newView in e.NewItems)
                {
                    //make sure we are dealing with the right type of view
                    var view = newView as IViewBase;
                    if (view == null)
                    {
                        continue;
                    }

                    //if we already have ribbons no need on checking again
                    if (view.RibbonTabs.Count > 0)
                    {
                        continue;
                    }

                    //loop through all the ribbon tab attributes and create them for the view
                    foreach (var atr in GetCustomAttributes <RibbonTabAttribute>(newView.GetType()))
                    {
                        var ribbonTabItem = (IRibbonTabItem)Activator.CreateInstance(atr.Type);
                        ribbonTabItem.ViewModel = view.ViewModel;

                        // the ribbon tab needs access to a rich text editor on the view.
                        // if they both implement ISupportRichText the assignment is accomplished below
                        var tabISupportRichText  = ribbonTabItem as ISupportRichText;
                        var viewISupportRichText = view as ISupportRichText;
                        if (tabISupportRichText != null && viewISupportRichText != null)
                        {
                            tabISupportRichText.RichTextEditor = viewISupportRichText.RichTextEditor;
                        }

                        view.RibbonTabs.Add(ribbonTabItem);
                    }
                }
            }
        }
Ejemplo n.º 41
0
        private void selected_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            if (App.Current.MainWindow.CurrentPage.ToString() == "ESRI.ArcLogistics.App.Pages.OptimizeAndEditPage")
            {
                ISupportSelection selector = (ISupportSelection)App.Current.MainWindow.CurrentPage;
                if (selector.SelectedItems.Count > 0 && "ESRI.ArcLogistics.DomainObjects.Stop" == selector.SelectedItems[0].GetType().ToString())
                {
                    Boolean isLocked   = false;
                    Boolean isUnlocked = false;

                    foreach (ESRI.ArcLogistics.DomainObjects.Stop s in selector.SelectedItems)
                    {
                        if (s.IsLocked == true)
                        {
                            isLocked = true;
                        }
                        else
                        {
                            isUnlocked = true;
                        }
                    }

                    if ((isLocked && !isUnlocked) || (!isLocked && isUnlocked))
                    {
                        IsEnabled = true;
                    }
                    else
                    {
                        IsEnabled = false;
                    }
                }
                else
                {
                    IsEnabled = false;
                }
            }
            else
            {
                IsEnabled = false;
            }
        }
Ejemplo n.º 42
0
        private void Services_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            switch (e.Action)
            {
            case NotifyCollectionChangedAction.Add:
                Service service = (Service)e.NewItems[0];
                if (service != null)
                {
                    Services.Add(service);
                }
                break;

            case NotifyCollectionChangedAction.Remove:
                Service serviceToRemove = (Service)e.OldItems[0];
                if (serviceToRemove != null)
                {
                    Services.Remove(serviceToRemove);
                }
                break;
            }
        }
Ejemplo n.º 43
0
        void Users_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            var found = false;

            if (UserStatusRepo.Users != null)
            {
                foreach (var user in UserStatusRepo.Users)
                {
                    if (user.ID == UserID)
                    {
                        User  = user;
                        found = true;
                        break;
                    }
                }
            }
            if (!found)
            {
                User = null;
            }
        }
Ejemplo n.º 44
0
        private void ConversationCollectionOnCollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            SetLastMessage();

            if (e.Action != NotifyCollectionChangedAction.Add)
            {
                return;
            }

            if (!AddNewMessage?.Invoke(this, Conversation) == true)
            {
                return;
            }

            foreach (var unused in e.NewItems)
            {
                Conversation.NewMessages++;
            }

            NewMessagesChanged?.Invoke(this, EventArgs.Empty);
        }
 void Ergebnisse_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
 {
     if (e.Action == NotifyCollectionChangedAction.Add)
     {
         foreach (ErgebnissViewModel vm in e.NewItems)
         {
             el.Ergebnisse.Add(vm.Model);
         }
     }
     else if (e.Action == NotifyCollectionChangedAction.Remove)
     {
         foreach (ErgebnissViewModel vm in e.OldItems)
         {
             el.Ergebnisse.Remove(vm.Model);
         }
     }
     else if (e.Action == NotifyCollectionChangedAction.Reset)
     {
         el.Ergebnisse.Clear();
     }
 }
Ejemplo n.º 46
0
        void VirualPortfolio_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            var trade = (e.NewItems ?? e.OldItems)[0] as Trade;

            switch (e.Action)
            {
            case NotifyCollectionChangedAction.Add:
                OnTradeAdded(trade);
                RaiseOrderRemoved(new Order()
                {
                    Pair = trade.Pair
                });
                break;

            case NotifyCollectionChangedAction.Reset:
            case NotifyCollectionChangedAction.Remove:
                trade.UpdateByPrice(this, GetPrice(trade.Pair));
                trade.CloseTrade();
                break;
            }
        }
Ejemplo n.º 47
0
 void Schuetzen_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
 {
     if (e.Action == NotifyCollectionChangedAction.Add)
     {
         foreach (SchuetzeViewModel vm in e.NewItems)
         {
             sl.Schuetzen.Add(vm.Model);
         }
     }
     else if (e.Action == NotifyCollectionChangedAction.Remove)
     {
         foreach (SchuetzeViewModel vm in e.OldItems)
         {
             sl.Schuetzen.Remove(vm.Model);
         }
     }
     else if (e.Action == NotifyCollectionChangedAction.Reset)
     {
         sl.Schuetzen.Clear();
     }
 }
Ejemplo n.º 48
0
        /// <summary>
        /// A callback for automatically selecting and deselecting elements
        /// when they are added to the Selection collection
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void selection_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            //call the select method on elements added to the collection
            if (e.NewItems != null)
            {
                foreach (ISelectable n in e.NewItems)
                {
                    n.Select();
                }
            }

            if (e.OldItems != null)
            {
                foreach (ISelectable n in e.OldItems)
                {
                    n.Deselect();
                }
            }

            //Debug.WriteLine(string.Format("{0} elements in selection.", Selection.Count));
        }
Ejemplo n.º 49
0
 void items_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
 {
     if (e.Action == NotifyCollectionChangedAction.Move)
     {
         return;
     }
     if (e.NewItems != null)
     {
         foreach (StrengthTrainingItemViewModel newItem in e.NewItems)
         {
             newItem.Parent = this;
         }
     }
     if (e.OldItems != null)
     {
         foreach (StrengthTrainingItemViewModel newItem in e.OldItems)
         {
             Entry.RemoveEntry(newItem.Item);
         }
     }
 }
        protected override void OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            // Be nice - use BlockReentrancy like MSDN said
            using (BlockReentrancy())
            {
                var eventHandler = CollectionChanged;
                if (eventHandler == null)
                {
                    return;
                }

                var delegates = eventHandler.GetInvocationList();
                // Walk thru invocation list
                foreach (System.Collections.Specialized.NotifyCollectionChangedEventHandler handler in delegates)
                {
                    // If the subscriber is a DispatcherObject and different thread
                    if (handler.Target is DispatcherObject dispatcherObject && dispatcherObject.CheckAccess() == false)
                    {
                        // Invoke handler in the target dispatcher's thread
                        dispatcherObject.Dispatcher.BeginInvoke(DispatcherPriority.DataBind, handler, this, e);
                    }
Ejemplo n.º 51
0
        void PageModel_ToolbarItems_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            foreach (ToolbarItem toolBarItem in e.NewItems)
            {
                if (!(this.ToolbarItems.Contains(toolBarItem)))
                {
                    this.ToolbarItems.Add(toolBarItem);
                }
            }

            if (e.Action == NotifyCollectionChangedAction.Remove || e.Action == NotifyCollectionChangedAction.Replace)
            {
                foreach (ToolbarItem toolBarItem in e.OldItems)
                {
                    if (!(this.ToolbarItems.Contains(toolBarItem)))
                    {
                        this.ToolbarItems.Add(toolBarItem);
                    }
                }
            }
        }
Ejemplo n.º 52
0
 private void BackgroundsCollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
 {
     if (e.Action == NotifyCollectionChangedAction.Add)
     {
         foreach (BackgroundViewModel background in e.NewItems)
         {
             var view = background.CreateTileView();
             background.Command          = SelectBackgroundCommand;
             background.CommandParameter = background;
             BackgroundViews.Add(view);
         }
     }
     else if (e.Action == NotifyCollectionChangedAction.Remove)
     {
         foreach (BackgroundViewModel background in e.OldItems)
         {
             var view = BackgroundViews.First(v => v.DataContext == background);
             BackgroundViews.Remove(view);
         }
     }
 }
Ejemplo n.º 53
0
        private void selected_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            if (App.Current.MainWindow.CurrentPage.ToString() == "ESRI.ArcLogistics.App.Pages.OptimizeAndEditPage")
            {
                ISupportSelection selector = (ISupportSelection)App.Current.MainWindow.CurrentPage;


                if (selector.SelectedItems.Count > 0 && "ESRI.ArcLogistics.DomainObjects.Order" == selector.SelectedItems[0].GetType().ToString())
                {
                    IsEnabled = true;
                }
                else
                {
                    IsEnabled = false;
                }
            }
            else
            {
                IsEnabled = false;
            }
        }
Ejemplo n.º 54
0
 private void _connectionConfigs_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
 {
     if (e.Action == NotifyCollectionChangedAction.Remove)
     {
         foreach (ConnectionConfig item in e.OldItems)
         {
             //Removed items
             item.PropertyChanged -= EntityViewModelPropertyChanged;
         }
     }
     else if (e.Action == NotifyCollectionChangedAction.Add)
     {
         foreach (ConnectionConfig item in e.NewItems)
         {
             //Added items
             item.PropertyChanged += EntityViewModelPropertyChanged;
         }
     }
     RaisePropertyChanged("ConnectionConfigs");
     Debug.WriteLine("a config collection has changed");
 }
Ejemplo n.º 55
0
		void Pins_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
		{
			// No move and replace support yet
			switch (e.Action) {
				case NotifyCollectionChangedAction.Add:
					foreach (Pin pin in e.NewItems) {
						pin.PropertyChanged += Pin_PropertyChanged;
						addPin(pin);
					}
					break;
				case NotifyCollectionChangedAction.Remove:
					foreach (Pin pin in e.OldItems) {
						pin.PropertyChanged -= Pin_PropertyChanged;
						updatePins(pin);
					}
					break;
				case NotifyCollectionChangedAction.Reset:
					removeAllPins(false);
					break;
			}
		}
Ejemplo n.º 56
0
 private void calls_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)           //We want to background resolve things incase a plugin does something that takes awhile
 {
     if (e.NewItems == null || active_plugin == null)
     {
         return;
     }
     bgresolve_worker_init();
     lock (pending_bg_queue.SyncRoot) {
         foreach (Call c in e.NewItems)
         {
             if (bgResolveWorker.IsBusy || pending_bg_queue.Count > 0)
             {
                 pending_bg_queue.Enqueue(c);
             }
             else
             {
                 bgResolveWorker.RunWorkerAsync(c);
             }
         }
     }
 }
Ejemplo n.º 57
0
        private void SelectionCollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            var items = (IList <Record>)sender;

            BeginUpdateSelectedItems();
            SelectedItems.Clear();

            if (items.Count > 0)
            {
                var childs = Helpers.FindVisualChildrens <ControlRecord>(this).ToArray();
                foreach (var child in childs)
                {
                    if (items.Contains(child.DataContext))
                    {
                        SelectedItems.Add(child);
                    }
                }
            }

            EndUpdateSelectedItems();
        }
Ejemplo n.º 58
0
 void ObservableCollectionEx_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
 {
     if (e.Action == NotifyCollectionChangedAction.Remove)
     {
         foreach (T item in e.OldItems)
         {
             //Removed items
             item.PropertyChanged  -= new PropertyChangedEventHandler(item_PropertyChanged);
             item.PropertyChanging -= new PropertyChangingEventHandler(item_PropertyChanging);
         }
     }
     else if (e.Action == NotifyCollectionChangedAction.Add)
     {
         foreach (T item in e.NewItems)
         {
             //Added items
             item.PropertyChanged  += new PropertyChangedEventHandler(item_PropertyChanged);
             item.PropertyChanging += new PropertyChangingEventHandler(item_PropertyChanging);
         }
     }
 }
Ejemplo n.º 59
0
 private void triggers_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
 {
     if (e.NewItems != null)
     {
         foreach (var item in e.NewItems.OfType <StateTriggerBase>())
         {
             item.Owner = this;
         }
     }
     if (e.OldItems != null)
     {
         foreach (var item in e.OldItems.OfType <StateTriggerBase>())
         {
             if (item.Owner == this)
             {
                 item.Owner = null;
             }
         }
     }
     UpdateActiveState();
 }
Ejemplo n.º 60
0
 private void LayerParameters_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
 {
     if (e.Action == NotifyCollectionChangedAction.Add)
     {
         var          lp         = e.NewItems[0] as PackageCoverage;
         MapLayerItem layer_item = new MapLayerItem();
         layer_item.Coverage = lp;
         var creator    = NodeFactory.Select(layer_item);
         var layer_node = creator.Creat(sender, layer_item) as Node;
         root_mapdata.Nodes.Add(layer_node);
     }
     else if (e.Action == NotifyCollectionChangedAction.Remove)
     {
         var lp   = e.OldItems[0];// as IFeatureLayerMapping;
         var node = from nn in root_mapdata.Nodes where (nn.Tag as MapLayerContextMenu).Coverage.Equals(lp) select nn;
         if (node.Count() == 1)
         {
             root_mapdata.Nodes.Remove(node.First());
         }
     }
 }