Пример #1
0
        private void checkNameChange(object sender, EventArgs e)
        {
            EventArgNameChange anc = e as EventArgNameChange;

            if (anc != null)
            {
                if (string.IsNullOrEmpty(anc.NewName))
                {
                    MessageBox.Show(this.FindForm(), "The new name cannot be empty", "Change variable name", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else
                {
                    IList <MethodDiagramViewer> l = MethodViewer.GetViewer();
                    foreach (MethodDiagramViewer mv in l)
                    {
                        if (mv.IsNameUsed(anc.NewName))
                        {
                            anc.Cancel = true;
                            MessageBox.Show(this.FindForm(), "The new name is in use", "Change variable name", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            return;
                        }
                    }
                    _name = anc.NewName;
                    SetLabelText(anc.NewName);
                    MethodViewer.Changed = true;
                }
            }
        }
 protected override void OnBeforeNameChange(EventArgNameChange e)
 {
     if (NameChanging != null)
     {
         NameChanging(this, e);
     }
 }
        void INameCreationService.ValidateName(string name)
        {
            if (name == null || name.Length == 0)
            {
                throw new Exception("The name cannot be empty");
            }
            if (VobUtil.RootComponentSelected && VobUtil.CurrentComponent != null)
            {
                InterfaceVOB vob = VobUtil.VobService;
                if (vob != null)
                {
                    if (name != VobUtil.CurrentComponentName)
                    {
                        EventArgNameChange en = new EventArgNameChange(name, VobUtil.CurrentComponentName);
                        en.Attributes    = VobUtil.CurrentProjectName;
                        en.Owner         = VobUtil.CurrentComponent;
                        en.ComponentType = _componentType;
                        vob.SendNotice(enumVobNotice.BeforeRootComponentNameChange, en);
                        if (en.Cancel)
                        {
                            if (string.IsNullOrEmpty(en.Message))
                            {
                                throw new Exception("Invalid name: " + name);
                            }
                            else
                            {
                                throw new Exception(en.Message);
                            }
                        }
                    }
                }
            }

            // First character must be a letter
            if (!Char.IsLetter(name, 0))
            {
                throw new Exception("The first character of the name must be a letter");
            }
            for (int i = 0; i < name.Length; i++)
            {
                char ch = name[i];
                if (ch != '_')
                {
                    UnicodeCategory uc = Char.GetUnicodeCategory(ch);
                    switch (uc)
                    {
                    case UnicodeCategory.UppercaseLetter:
                    case UnicodeCategory.LowercaseLetter:
                    case UnicodeCategory.TitlecaseLetter:
                    case UnicodeCategory.DecimalDigitNumber:
                        break;

                    default:
                        throw new Exception("The name '" + name + "' is not a valid identifier.");
                    }
                }
            }
        }
        void Obj_OnNameChanged(object sender, EventArgs e)
        {
            EventArgNameChange nc = e as EventArgNameChange;

            if (nc != null)
            {
                Text = nc.NewName;
            }
            else
            {
                NodeObjectComponent noc = this.PropertyObject as NodeObjectComponent;
                Text = noc.Class.ComponentName;
            }
        }
        void Obj_OnNameChanging(object sender, EventArgs e)
        {
            EventArgNameChange en = (EventArgNameChange)e;
            TreeNode           nd = this.Parent;

            if (nd != null)
            {
                for (int i = 0; i < nd.Nodes.Count; i++)
                {
                    if (i != this.Index)
                    {
                        if (string.CompareOrdinal(nd.Nodes[i].Text, en.NewName) == 0)
                        {
                            MessageBox.Show("The project name is already used");
                            en.Cancel = true;
                        }
                    }
                }
            }
        }
        void Obj_OnNameChanging(object sender, EventArgs e)
        {
            EventArgNameChange en = (EventArgNameChange)e;
            TreeNode           nd = this.Parent;

            if (nd != null)
            {
                for (int i = 0; i < nd.Nodes.Count; i++)
                {
                    if (i != this.Index)
                    {
                        if (string.CompareOrdinal(nd.Nodes[i].Text, en.NewName) == 0)
                        {
                            MessageBox.Show(this.TreeView != null ? this.TreeView.FindForm() : null, "The component name is already used", "Reanme", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            en.Cancel = true;
                        }
                    }
                }
                if (!en.Cancel)
                {
                    NameCreation nc = new NameCreation();
                    if (!nc.IsValidName(en.NewName))
                    {
                        MessageBox.Show(this.TreeView != null ? this.TreeView.FindForm() : null, "Invalid component name", "Reanme", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        en.Cancel = true;
                    }
                }
                if (!en.Cancel)
                {
                    string sn = en.NewName.ToLowerInvariant();
                    if (WebPageCompilerUtility.IsReservedPhpWord(sn))
                    {
                        MessageBox.Show(this.TreeView != null ? this.TreeView.FindForm() : null, "Invalid component name. It is a reserved word.", "Reanme", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        en.Cancel = true;
                    }
                }
            }
        }
 protected virtual void OnBeforeNameChange(EventArgNameChange e)
 {
 }