Example #1
0
        public void UpdatePerson(PersonModel oldPerson, PersonModel newPerson)
        {
            Trace.Call(oldPerson, newPerson);

            if (_PersonListStore == null)
            {
                // no liststore, nothing todo
                return;
            }

            Gtk.TreeIter iter;
            bool         res = _PersonListStore.GetIterFirst(out iter);

            if (!res)
            {
#if LOG4NET
                _Logger.Error("UpdatePersonModelInChannel(): _PersonsStore.GetIterFirst() returned false, ignoring update...");
#endif
                return;
            }

            do
            {
                PersonModel person = (PersonModel)_PersonListStore.GetValue(iter, 0);
                if (person.ID == oldPerson.ID)
                {
                    _PersonListStore.SetValue(iter, 0, newPerson);
                    break;
                }
            } while (_PersonListStore.IterNext(ref iter));
            _PersonTreeView.CheckResize();
            //_PersonListStore.Reorder();
        }