void makeLayoutGrp(Group_UI item) { if (item.items != null) { if (item.type == "hgroup" || item.type == "vgroup" || item.type == "tgroup") { EditorGUILayout.BeginVertical(); item.groupstate = EditorGUILayout.Foldout(item.groupstate, item.label); if (item.groupstate) { EditorGUI.indentLevel++; for (int i = 0; i < item.items.Length; i++) { makeLayoutGrp(item.items [i]); } EditorGUI.indentLevel--; } EditorGUILayout.EndVertical(); } } else { addComponent(item); } }
public Group_UI getItem(int param) { Group_UI result = null; if (items != null) { for (int i = 0; i < items.Length; i++) { Group_UI item = items [i].getItem(param); if (item != null) { result = item; } } return(result); } else { if (this.numparam == param) { return(this); } else { return(null); } } }
void addComponent(Group_UI item) { int numparam = item.numparam; if (item.type == "vslider" || item.type == "hslider") { paramtab1 [numparam] = _dsp.getFloatParameter(numparam); paramtab2 [numparam] = hSlider(paramtab1 [numparam], item); changeValueParam(paramtab1 [numparam], paramtab2 [numparam], numparam); } else if (item.type == "nentry") { paramtab1 [numparam] = _dsp.getFloatParameter(numparam); paramtab2 [numparam] = numEntry(paramtab1[numparam], item); changeValueParam(paramtab1 [numparam], paramtab2 [numparam], numparam); } else if (item.type == "checkbox") { paramtab1 [numparam] = _dsp.getFloatParameter(numparam); paramtab2 [numparam] = checkBox(paramtab1[numparam], item); changeValueParam(paramtab1 [numparam], paramtab2 [numparam], numparam); } else if (item.type == "button") { paramtab1 [numparam] = _dsp.getFloatParameter(numparam); paramtab2 [numparam] = button(item); changeValueParam(paramtab1 [numparam], paramtab2 [numparam], numparam); } else if (item.type == "hbargraph" || item.type == "vbargraph") { paramtab1 [numparam] = _dsp.getFloatParameter(numparam); progressBar(paramtab1[numparam], item); } }
string helpBox(Group_UI item) { string message; message = "Parameter Number : " + item.numparam; if (item.meta != null) { for (int i = 0; i < item.meta.Length; i++) { if (item.meta[i].unit != null) { message += "\nUnit : " + item.meta[i].unit; } if (item.meta[i].scale != null) { message += "\nScale : " + item.meta[i].scale; } if (item.meta[i].tooltip != null) { message += "\nDescription : " + item.meta[i].tooltip; } } } return(message); }
float numEntry(float value, Group_UI item) { EditorGUILayout.BeginHorizontal(); if (item.label == "0x00") { item.label = ""; } float newvalue = EditorGUILayout.FloatField(new GUIContent(item.label, helpBox(item)), value); EditorGUILayout.EndHorizontal(); return(newvalue); }
float hSlider(float value, Group_UI item) { EditorGUILayout.BeginHorizontal(); if (item.label == "0x00") { item.label = ""; } float newvalue = EditorGUILayout.Slider(new GUIContent(item.label, helpBox(item)), value, item.min, item.max); EditorGUILayout.EndHorizontal(); return(newvalue); }
public Group_UI getItem(int param) { Group_UI result = null; for (int i = 0; i < items.Length; i++) { Group_UI item = items [i].getItem(param); if (item != null) { result = item; } } return(result); }
float checkBox(float value, Group_UI item) { EditorGUILayout.BeginHorizontal(); if (item.label == "0x00") { item.label = ""; } bool temp1 = Convert.ToBoolean(value); bool temp2 = EditorGUILayout.Toggle(new GUIContent(item.label, helpBox(item)), temp1); float newvalue = Convert.ToSingle(temp2); EditorGUILayout.EndHorizontal(); return(newvalue); }
void progressBar(float value, Group_UI item) { EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); if (item.label == "0x00") { item.label = ""; } Rect rect = GUILayoutUtility.GetRect(18, 18, "TextField"); EditorGUI.ProgressBar(rect, (value - item.min) / (item.max - item.min), item.label); Repaint(); EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); }
float button(Group_UI item) { EditorGUILayout.BeginHorizontal(); if (item.label == "0x00") { item.label = ""; } if (GUILayout.Button(new GUIContent(item.label, helpBox(item)))) { EditorGUILayout.EndHorizontal(); return(1); } else { EditorGUILayout.EndHorizontal(); return(0); } }