コード例 #1
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);
            }
        }
コード例 #2
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);
            }
        }