Exemple #1
0
        private static void OnValueDlgClose(object dialog)
        {
            m_parentTemplate = null;

            AMM_AddValueDialog dlg = dialog as AMM_AddValueDialog;

            dlg.onAddClick -= OnAddValueClick;
            dlg.onClose    -= OnValueDlgClose;
        }
Exemple #2
0
        public static void AddValueDialog(AMM_BaseTemplate parent)
        {
            m_parentTemplate = parent;

            AMM_AddValueDialog dialog = EditorWindow.CreateInstance <AMM_AddValueDialog>();

            dialog.onAddClick += OnAddValueClick;
            dialog.onClose    += OnValueDlgClose;

            dialog.titleContent.text = "Add Value";
            dialog.ShowAuxWindow();
        }
Exemple #3
0
 public void AddPropertiesToXml(XmlDocument doc, XmlElement parent, AMM_BaseTemplate template)
 {
     foreach (string key in template.Properties.Keys)
     {
         foreach (AMM_PropertyTemplate p in template.Properties[key])
         {
             XmlElement n = doc.CreateElement(key);
             AddAttributesToXml(doc, n, p);
             AddPropertiesToXml(doc, n, p);
             parent.AppendChild(n);
         }
     }
 }
Exemple #4
0
        public void AddAttributesToXml(XmlDocument doc, XmlElement parent, AMM_BaseTemplate template)
        {
            foreach (string key in template.Values.Keys)
            {
                string k = key;
                if (key.Contains("android:"))
                {
                    k = key.Replace("android:", "android___");
                }
                else if (key.Contains("tools:"))
                {
                    k = key.Replace("tools:", "tools___");
                }
                XmlAttribute attr = doc.CreateAttribute(k);
                attr.Value = template.Values[key];

                parent.Attributes.Append(attr);
            }
        }
Exemple #5
0
        public static void DrawPropertiesInternal(AMM_BaseTemplate parent)
        {
            foreach (string key in parent.Properties.Keys)
            {
                foreach (AMM_PropertyTemplate property in parent.Properties[key])
                {
                    if (parent is AMM_ActivityTemplate)
                    {
                        AMM_ActivityTemplate activity = parent as AMM_ActivityTemplate;
                        if (activity.IsLauncherProperty(property))
                        {
                            continue;
                        }
                    }

                    EditorGUILayout.Space();
                    EditorGUILayout.BeginVertical(GUI.skin.box, GUILayout.Height(27.0f));
                    EditorGUILayout.BeginHorizontal();

                    if (property.Values.ContainsKey("android:name"))
                    {
                        property.IsOpen = EditorGUILayout.Foldout(property.IsOpen, "[" + property.Tag + "] " + property.Values["android:name"]);
                    }
                    else
                    {
                        if (key.Equals("intent-filter"))
                        {
                            property.IsOpen = EditorGUILayout.Foldout(property.IsOpen, "[" + property.Tag + "] " + property.GetIntentFilterName(property));
                        }
                        else
                        {
                            property.IsOpen = EditorGUILayout.Foldout(property.IsOpen, "[" + property.Tag + "]");
                        }
                    }

                    if (GUILayout.Button("X", EditorStyles.miniButton, GUILayout.Width(20.0f)))
                    {
                        parent.RemoveProperty(property);
                        return;
                    }
                    EditorGUILayout.EndHorizontal();

                    if (property.IsOpen)
                    {
                        EditorGUILayout.BeginVertical();

                        foreach (string k in property.Values.Keys)
                        {
                            EditorGUILayout.Space();
                            EditorGUILayout.BeginHorizontal();

                            EditorGUILayout.LabelField(k);


                            string input = property.Values[k];
                            EditorGUI.BeginChangeCheck();
                            if (k.Equals("android:name"))
                            {
                                input = GUILayout.TextField(property.Values[k]);
                            }
                            else
                            {
                                input = GUILayout.TextField(property.Values[k]);
                            }
                            if (EditorGUI.EndChangeCheck())
                            {
                                property.SetValue(k, input);
                                return;
                            }

                            if (GUILayout.Button("X", EditorStyles.miniButton, GUILayout.Width(20.0f)))
                            {
                                property.RemoveValue(k);
                                return;
                            }

                            EditorGUILayout.EndHorizontal();
                        }

                        DrawProperties(property);
                        EditorGUILayout.Space();
                        EditorGUILayout.EndVertical();

                        EditorGUILayout.BeginHorizontal();
                        EditorGUILayout.Space();
                        if (GUILayout.Button("Add Value", GUILayout.Width(100.0f)))
                        {
                            AddValueDialog(property);
                        }
                        if (GUILayout.Button("Add Property", GUILayout.Width(100.0f)))
                        {
                            AddPropertyDialog(property);
                        }
                        EditorGUILayout.Space();
                        EditorGUILayout.EndHorizontal();
                        EditorGUILayout.Space();
                    }
                    EditorGUILayout.EndVertical();
                }
            }
        }
Exemple #6
0
 public static void DrawProperties(AMM_BaseTemplate parent)
 {
     using (new SA_GuiHorizontalSpaceIgnoreIndent(15)) {
         DrawPropertiesInternal(parent);
     }
 }