示例#1
0
        public void RemoveWindow(ExtendedWindow window)
        {
            if (window == null)
            {
                return;
            }

            rData.Destroy.Invoke(window, null);
            windows.Remove(window);

            Repaint();
        }
示例#2
0
        public void AddWindow(ExtendedWindow window)
        {
            if (window == null)
            {
                return;
            }

            window.Editor = this;

            rData.Initialize.Invoke(window, new object[] { GenerateID() });
            windows.Add(window);

            Repaint();
        }
示例#3
0
        private void RemoveWindowGrouped(ExtendedWindow window, Type wType = null)
        {
            if (window == null)
            {
                return;
            }

            if (wType == null)
            {
                wType = window.GetType();
            }

            if (!windowsGrouped.ContainsKey(wType))
            {
                return;
            }

            windowsGrouped[wType].Remove(window);

            if (wType.BaseType != null)
            {
                RemoveWindowGrouped(window, wType.BaseType);
            }
        }
示例#4
0
        private void AddWindowGrouped(ExtendedWindow window, Type wType = null)
        {
            if (window == null)
            {
                return;
            }

            if (wType == null)
            {
                wType = window.GetType();
            }

            if (!windowsGrouped.ContainsKey(wType))
            {
                windowsGrouped.Add(wType, new List <ExtendedWindow>());
            }

            windowsGrouped[wType].Add(window);

            if (wType.BaseType != null)
            {
                AddWindowGrouped(window, wType.BaseType);
            }
        }
示例#5
0
 public void RemoveWindow(ExtendedWindow window)
 {
     Editor.RemoveWindow(window);
 }
示例#6
0
 public void AddWindow(ExtendedWindow window)
 {
     Editor.AddWindow(window);
 }