Esempio n. 1
0
        /// <summary>
        /// 在当前搜索使用参数变量的的所有列的值,并且构建EnumDefine。
        /// 不合法的Enum名字忽略。
        /// 仅在 FromDefine 里面调用。
        /// </summary>
        /// <param name="var"></param>
        public void BuildEnumFor(VarDefine var)
        {
            if (FormMain.Instance.Tabs.SelectedTab == null)
            {
                return;
            }

            var          enumDefine = new EnumDefine(var.Parent, var.Name);
            DataGridView grid       = (DataGridView)FormMain.Instance.Tabs.SelectedTab.Controls[0];

            for (int i = 0; i < grid.ColumnCount; ++i)
            {
                if ((grid.Columns[i].Tag as ColumnTag).PathLast.Define == var)
                {
                    for (int j = 0; j < grid.RowCount - 1; ++j)
                    {
                        var valueName = grid[i, j].Value as string;
                        if (null == Tools.VerifyName(valueName, CheckNameType.CheckOnly))
                        {
                            // 增加enum定义。
                            enumDefine.ChangeValueName(new EnumDefine.ValueDefine(enumDefine, "", -1), valueName);
                        }
                    }
                }
            }
            var.Parent.AddEnumDefine(enumDefine);
            InsertEnumDefine(define.RowCount, enumDefine.FullName(), enumDefine);
        }
Esempio n. 2
0
        /*
         * private void UpdateData(Document doc, VarDefine var, string newVarName)
         * {
         *  HashSet<BeanDefine> deps = new HashSet<BeanDefine>();
         *  doc.BeanDefine.Depends(deps);
         *  if (deps.Contains(var.Parent))
         *  {
         *      GridData gridDataTmp = new GridData(doc);
         *      doc.BeanDefine.BuildGridColumns(gridDataTmp, 0, new ColumnTag(ColumnTag.ETag.Normal), -1);
         *      HashSet<Bean.VarData> varDatas = new HashSet<Bean.VarData>();
         *      var param = new Bean.UpdateParam()
         *      {
         *          UpdateType = Bean.EUpdate.CallAction,
         *          UpdateAction = (GridData grid, int col, ColumnTag.VarInfo varInfo, Bean.VarData varData) =>
         *          {
         *              if (varInfo.Define == var)
         *                  varDatas.Add(varData);
         *          },
         *      };
         *      foreach (var bean in doc.Beans)
         *      {
         *          int insertIndex = gridDataTmp.RowCount;
         *          gridDataTmp.InsertRow(insertIndex);
         *          int colIndex = 0;
         *          if (bean.Update(gridDataTmp, gridDataTmp.GetRow(insertIndex), ref colIndex, 0, param))
         *              break;
         *      }
         *      foreach (var varData in varDatas)
         *      {
         *          varData.Parent.RenameVar(varData.Name, newVarName);
         *      }
         *  }
         * }
         */

        private void UpdateEnumDefine(EnumDefine enumDefine)
        {
            if (null == enumDefine)
            {
                return;
            }

            for (int i = 0; i < define.RowCount; ++i)
            {
                DataGridViewCellCollection cells = define.Rows[i].Cells;
                if (cells["BeanLocked"].Tag == enumDefine)
                {
                    cells["VarName"].Value = enumDefine.FullName();
                    break;
                }
            }
        }