コード例 #1
0
ファイル: AddColumnWindow.cs プロジェクト: shazi129/USheet
        public override void OnGUI(Rect rect)
        {
            GUILayout.Label("Create Column", EditorStyles.boldLabel);
            EditorGUILayout.Space();

            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Title:", GUILayout.Width(labelWidth));
            _columnTitle = EditorGUILayout.TextField(_columnTitle, GUILayout.Width(fieldWidth));
            EditorGUILayout.EndHorizontal();


            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Data Type:", GUILayout.Width(labelWidth));
            _dataType = (E_DATA_TYPE)EditorGUILayout.EnumPopup(_dataType, GUILayout.Width(fieldWidth));
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.Space();
            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button("OK", GUILayout.Width(80)))
            {
                if (createColumnAction != null)
                {
                    createColumnAction(_columnTitle, _dataType, _curIndex + 1);
                }

                editorWindow.Close();
            }

            if (GUILayout.Button("Cancel", GUILayout.Width(80)))
            {
                editorWindow.Close();
            }
            EditorGUILayout.EndHorizontal();
        }
コード例 #2
0
 public Type getColumnType(E_DATA_TYPE dataType)
 {
     for (int i = 0; i < sheetDataSet.Count; i++)
     {
         if (sheetDataSet[i].eType == dataType)
         {
             return(sheetDataSet[i].columnType);
         }
     }
     return(null);
 }
コード例 #3
0
ファイル: SheetData.cs プロジェクト: shazi129/USheet
        /// <summary>
        /// add a new column
        /// </summary>
        public void insertColumn(string name, E_DATA_TYPE dataType, int index = -1)
        {
            if (String.IsNullOrEmpty(name))
            {
                Debug.LogError("Invalid title name!");
                return;
            }

            if (_table.ContainsKey(name))
            {
                Debug.LogError("Add Column Error: title name exists");
                return;
            }

            //反射创建一个IColumnData
            Type columnType = DataTypeManager.instance.getColumnType(dataType);

            if (columnType != null)
            {
                IColumnData newColumn = (IColumnData)Activator.CreateInstance(columnType, new object[] { rowCount });
                newColumn.title = name;

                _table.Add(name, newColumn);
                _columnData.typeEntryMap[dataType].Add(newColumn);

                //插入title
                if (index >= 0 && index < _titles.Count)
                {
                    _titles.Insert(index, name);
                }
                else
                {
                    _titles.Add(name);
                }
            }
        }
コード例 #4
0
 public SheetDataSet(E_DATA_TYPE eType, Type dataType, Type columnType)
 {
     this.eType      = eType;
     this.dataType   = dataType;
     this.columnType = columnType;
 }