private void DrawAddChildElementGUI() { string[] availableStyles = EditingElement.ChildStyles.Select(style => "<" + style.ToAndroidManifestFormat() + ">").ToArray(); EditorGUILayout.BeginHorizontal(); selectedElementStyleIndex = EditorGUILayout.Popup(selectedElementStyleIndex, availableStyles); if (GUILayout.Button(plusContent, miniButtonStyle)) { var element = EditingElement.ChildStyles.ToArray()[selectedElementStyleIndex].CreateElementClass(); element.Id = element.GetHashCode(); EditingElement.AddInnerElement(element); ManifestElementsFactory.Add(element); } EditorGUILayout.EndHorizontal(); }
private void DrawChildElementsInfoGUI(AndroidManifestElement target) { var childElements = target.GetChildElements(ManifestElementsFactory); if (childElements == null || childElements.Count < 1) { return; } for (int i = 0; i < childElements.Count; i++) { EditorGUI.indentLevel++; var childElement = childElements[i]; EditorGUILayout.BeginHorizontal(EditorStyles.helpBox); EditorGUILayout.LabelField(childElement.Style.ToAndroidManifestFormat(), EditorStyles.boldLabel); if (GUILayout.Button("Edit", GUILayout.MaxWidth(50))) { EditingElement = childElement; ResetSelectionIndexes(); } if (GUILayout.Button(minusContent, miniButtonStyle)) { childElements.Remove(childElement); ManifestElementsFactory.Remove(childElement); ResetSelectionIndexes(); } EditorGUILayout.EndHorizontal(); DrawChildElementsInfoGUI(childElement); EditorGUI.indentLevel--; } }