Inheritance: NetIde.Shell.ServiceObject, INiHierarchy
Exemple #1
0
        private void RemoveChild(NiHierarchy item)
        {
            RemoveFromChildren(item);
            item.SetSite(null);

            _connectionPoint.ForAll(p => p.OnChildRemoved(item));
        }
Exemple #2
0
        private void AddChild(NiHierarchy item)
        {
            item.SetSite(this);
            AddToChildren(item);

            _connectionPoint.ForAll(p => p.OnChildAdded(item));
        }
Exemple #3
0
        private void AddToChildren(NiHierarchy item)
        {
            var current = _children.First;

            while (current != null)
            {
                // Copy to suppress warning CS1690: Accessing a member
                // on * may cause a runtime exception because it is a field of
                // a marshal-by-reference class.
                int?currentSortPriority = current.Value._sortPriority;

                int compare = _sortPriority.GetValueOrDefault().CompareTo(
                    currentSortPriority.GetValueOrDefault()
                    );
                if (compare == 0)
                {
                    compare = String.Compare(_name, current.Value._name, NameComparison);
                }

                if (compare < 0)
                {
                    break;
                }

                current = current.Next;
            }

            item._position =
                current == null
                ? _children.AddLast(item)
                : _children.AddBefore(current, item);
        }
Exemple #4
0
        private HResult ProcessParentChange(NiHierarchy parent)
        {
            if (_parent != null)
            {
                _parent.RemoveChild(this);
            }

            _parent = parent;

            if (_parent != null)
            {
                _parent.AddChild(this);
            }

            return(HResult.OK);
        }
Exemple #5
0
 private void Reposition(NiHierarchy item)
 {
     RemoveFromChildren(item);
     AddToChildren(item);
 }
Exemple #6
0
 private void RemoveFromChildren(NiHierarchy item)
 {
     _children.Remove(item._position);
     item._position = null;
 }
Exemple #7
0
 private void Reposition(NiHierarchy item)
 {
     RemoveFromChildren(item);
     AddToChildren(item);
 }
Exemple #8
0
 private void RemoveFromChildren(NiHierarchy item)
 {
     _children.Remove(item._position);
     item._position = null;
 }
Exemple #9
0
        private void RemoveChild(NiHierarchy item)
        {
            RemoveFromChildren(item);
            item.SetSite(null);

            _connectionPoint.ForAll(p => p.OnChildRemoved(item));
        }
Exemple #10
0
        private HResult ProcessParentChange(NiHierarchy parent)
        {
            if (_parent != null)
                _parent.RemoveChild(this);

            _parent = parent;

            if (_parent != null)
                _parent.AddChild(this);

            return HResult.OK;
        }
Exemple #11
0
        private void AddToChildren(NiHierarchy item)
        {
            var current = _children.First;

            while (current != null)
            {
                // Copy to suppress warning CS1690: Accessing a member
                // on * may cause a runtime exception because it is a field of
                // a marshal-by-reference class.
                int? currentSortPriority = current.Value._sortPriority;

                int compare = _sortPriority.GetValueOrDefault().CompareTo(
                    currentSortPriority.GetValueOrDefault()
                );
                if (compare == 0)
                    compare = String.Compare(_name, current.Value._name, NameComparison);

                if (compare < 0)
                    break;

                current = current.Next;
            }

            item._position =
                current == null
                ? _children.AddLast(item)
                : _children.AddBefore(current, item);
        }
Exemple #12
0
        private void AddChild(NiHierarchy item)
        {
            item.SetSite(this);
            AddToChildren(item);

            _connectionPoint.ForAll(p => p.OnChildAdded(item));
        }