static void MenuFunction0() { string path = "Assets/OOForm/Demos/DemoTables.asset"; OOFormManager manager = AssetDatabase.LoadAssetAtPath(path, typeof(OOFormManager)) as OOFormManager; if (manager) { OOFormManagerPop.InitWithManager(manager); } }
public override void OnInspectorGUI() { if (mTarget == null) { mTarget = (OOFormManager)target; } if (GUILayout.Button("Open Manager...")) { OOFormManagerPop.InitWithManager(mTarget); } GUILayout.Space(10); for (int i = 0; i < mTarget.mTableList.Count; i++) { if (mTarget.mTableList[i] == null) { mTarget.mTableList.RemoveAt(i); break; } GUILayout.BeginHorizontal(); mTarget.mTableList[i] = (TextAsset)EditorGUILayout.ObjectField(mTarget.mTableList[i], typeof(UnityEngine.TextAsset), false); if (GUILayout.Button("Open")) { //OOFormEditor.InitWithAsset(mTarget.mTableList[i] ); //OOFormManagerPop.InitWithManager(mTarget, i); OOFormEditor.OpenWithAsset(mTarget.mTableList[i]); } if (OOFormOption.mHasOtherEditor) { if (GUILayout.Button("Other")) { OpenWithExcel(mTarget.mTableList[i]); } } if (GUILayout.Button("X", GUILayout.Width(20))) { mTarget.mTableList.RemoveAt(i); } GUILayout.EndHorizontal(); } if (Event.current.type == EventType.DragExited) { AddObjects(DragAndDrop.objectReferences); } }
static void CreateOOFormManager() { string str = GetSelectionFolder(); int i = 0; while (File.Exists(str + "OOFormManager_" + i.ToString() + ".asset")) { i++; } string file_name = str + "OOFormManager_" + i.ToString() + ".asset"; OOFormManager manager = ScriptableObject.CreateInstance <OOFormManager>(); AssetDatabase.CreateAsset(manager, file_name); AssetDatabase.Refresh(); }
/// <summary> /// /// </summary> /// <param name="formManager"></param> /// <param name="idx"></param> public static void InitWithManager(OOFormManager formManager, int idx) { window = (OOFormManagerPop)EditorWindow.GetWindow(typeof(OOFormManagerPop)); window.mFormManager = formManager; window.ShowTableData(idx); }
/// <summary> /// /// </summary> /// <param name="formManager"></param> public static void InitWithManager(OOFormManager formManager) { InitWithManager(formManager, -1); }
void DrawToolBar() { GUILayout.BeginHorizontal(EditorStyles.toolbar, GUILayout.ExpandWidth(true)); //2A+ GUILayout.BeginHorizontal(GUILayout.Width(mLeftBarWidth - 6)); //2B+ GUI.SetNextControlName("ForFouce"); mFormManager = EditorGUILayout.ObjectField(mFormManager, typeof(OOFormManager), false) as OOFormManager; GUILayout.EndHorizontal(); //2B- GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); //2C+ if (mSelectionTable != null) { if (GUILayout.Button("Import", EditorStyles.toolbarDropDown, GUILayout.Width(65))) { GUIContent[] menuItems = new GUIContent[] { new GUIContent("from OOForm table..."), new GUIContent("from Json..."), new GUIContent("from XML..."), new GUIContent("from CSV...") }; EditorUtility.DisplayCustomMenu(new Rect(mLeftBarWidth, 16, 0, 0), menuItems, -1, delegate(object userData, string[] options, int selected) { switch (selected) { case 0: { string path = EditorUtility.OpenFilePanel("Select file to import!", "", "txt"); if (path != "") { mSelectionTable = OOFormArray.ReadFromFile(path); mIsModify = true; } } break; case 1: { string path = EditorUtility.OpenFilePanel("Select file to import!", "", "txt"); if (path != "") { mSelectionTable = OOFormArray.ReadFromJsonFile(path); mIsModify = true; } } break; case 2: { string path = EditorUtility.OpenFilePanel("Select file to import!", "", "xml"); if (path != "") { mSelectionTable = OOFormArray.ReadFromXMLFile(path); mIsModify = true; } } break; case 3: { string path = EditorUtility.OpenFilePanel("Select file to import!", "", "csv"); if (path != "") { mSelectionTable = OOFormArray.ReadFormCSVFile(path); mIsModify = true; } } break; } } , null); } if (GUILayout.Button("Export", EditorStyles.toolbarDropDown, GUILayout.Width(65))) { GUIContent[] menuItems = new GUIContent[] { new GUIContent("to OOForm table..."), new GUIContent("to Json..."), new GUIContent("to XML..."), new GUIContent("to CSV...") }; EditorUtility.DisplayCustomMenu(new Rect(mLeftBarWidth + 65, 16, 0, 0), menuItems, -1, delegate(object userData, string[] options, int selected) { switch (selected) { case 0: { string path = EditorUtility.SaveFilePanel("Select file to save!", "", "", "txt"); if (path != "") { OOFormTools.WriteFileText(path, mSelectionTable.ToString()); } } break; case 1: { string path = EditorUtility.SaveFilePanel("Select file to save!", "", "", "txt"); if (path != "") { OOFormTools.WriteFileText(path, mSelectionTable.ToJsonString()); } } break; case 2: { string path = EditorUtility.SaveFilePanel("Select file to save!", "", "", "xml"); if (path != "") { OOFormTools.WriteFileText(path, mSelectionTable.ToXMLString(), System.Text.Encoding.UTF8); } } break; case 3: { string path = EditorUtility.SaveFilePanel("Select file to save!", "", "", "csv"); if (path != "") { OOFormTools.WriteFileText(path, mSelectionTable.ToCSVString(), System.Text.Encoding.UTF8); } } break; } } , null); } GUILayout.Label(""); GUILayout.Label("Search:", GUILayout.Width(50)); mSearchString = GUILayout.TextField(mSearchString, OOFormSkin.OStyle_ToolbarSearch, GUILayout.Width(200)); GUILayout.Label("", OOFormSkin.OStyle_ToolbarSearchRightCap); GUILayout.Label(" Column Page:", GUILayout.ExpandWidth(false)); if (GUILayout.Button("<", EditorStyles.toolbarButton, GUILayout.Width(40))) { mCurrentColumnPage--; mCurrentColumnPage = Mathf.Max(mCurrentColumnPage, 1); GUI.FocusControl("ForFouce"); } int max_column_page = mSelectionTable.mColumnCount / mPageColumnCount + 1; GUILayout.Label(mCurrentColumnPage.ToString() + "/" + max_column_page.ToString(), EditorStyles.textField, GUILayout.Width(50)); if (GUILayout.Button(">", EditorStyles.toolbarButton, GUILayout.Width(40))) { mCurrentColumnPage++; mCurrentColumnPage = Mathf.Min(mCurrentColumnPage, max_column_page); GUI.FocusControl("ForFouce"); } } GUILayout.EndHorizontal(); //2C- GUILayout.EndHorizontal(); //2A- }