//public static void ArrangeLayersBackgroundItemClick(Layerage layerage) //{ // bool hasParentsSelected = LayerManager._getLayersParentsIsSelected(layerage); // if (hasParentsSelected) return; // else LayerManager._arrangeLayersBackgroundNullParents(layerage); //} // Judge Recursive private static void ArrangeLayersBackgroundCore(Layerage layerage) { ILayer layer = layerage.Self; if (layer.IsSelected) { layer.Control.BackgroundMode = BackgroundMode.Selected; foreach (Layerage child in layerage.Children) { LayerManager.ArrangeLayersBackgroundHasParentsSelectedCore(child); } } else { bool childrenIsSelected = LayerManager.GetLayersChildrenIsSelectedCore(layerage); if (childrenIsSelected) { LayerManager.ArrangeLayersBackgroundWithoutParentsSelectedCore(layerage); } else { LayerManager.ArrangeLayersBackgroundIsNotSelectedCore(layerage); } } }
// Self Recursive private static void ArrangeLayersBackgroundHasParentsSelectedCore(Layerage layerage) { ILayer layer = layerage.Self; layer.Control.BackgroundMode = BackgroundMode.ParentsSelected; foreach (Layerage child in layerage.Children) { LayerManager.ArrangeLayersBackgroundHasParentsSelectedCore(child); } }