Esempio n. 1
0
        public override void CancelEdit()
        {
            // Remove newly created part links
            PartLinks.RemoveRange(_newLinks);
            _newLinks.Clear();

            // Add removed again
            PartLinks.AddRange(_removedLinks);
            _removedLinks.Clear();

            // Cancel on existent
            PartLinks.ForEach(p => p.CancelEdit());

            base.CancelEdit();
        }
Esempio n. 2
0
        public override void EndEdit()
        {
            // End on part links
            PartLinks.ForEach(p => p.EndEdit());

            // Add new links
            var newLinks = _newLinks.Select(n => n.PartLink);

            PartConnector.PartLinks.AddRange(newLinks);
            _newLinks.Clear();

            // Remove removed links from connector
            PartConnector.PartLinks.RemoveRange(_removedLinks.Select(l => l.PartLink));
            _removedLinks.Clear();

            base.EndEdit();
        }
Esempio n. 3
0
        public override void BeginEdit()
        {
            base.BeginEdit();

            PartLinks.ForEach(p => p.BeginEdit());
        }