private void miSetEvents_Click(object sender, EventArgs e) { MethodDiagramViewer mv = MethodViewer.GetCurrentViewer(); ILimnorDesignerLoader loader = mv.Loader; DlgSelectEvent dlg = new DlgSelectEvent(); dlg.LoadData(_menuData); DialogResult ret = dlg.ShowDialog(this.FindForm()); if (dlg.FrequentlyUsedMethodsChanged) { _menuData.RemoveMenuCollection(); loader.DesignPane.ResetContextMenu(); } if (ret == DialogResult.OK) { IEvent ei = dlg.ReturnEventInfo; if (ei != null) { EventPointer ep = ei as EventPointer; if (ep == null) { EventClass ec = ei as EventClass; if (ec != null) { EventClass ec2 = (EventClass)ec.Clone(); ec2.SetHolder(this.ClassPointer); CustomEventPointer cep = new CustomEventPointer(ec2, this.ClassPointer); ei = cep; } } assignAction(ei); } } }
private void miSetProperty_Click(object sender, EventArgs e) { MenuItemDataProperty data = (MenuItemDataProperty)(((MenuItem)sender).Tag); MethodDiagramViewer mv = MethodViewer.GetCurrentViewer(); ActionClass act = OnCreateSetPropertyAction(data); if (act != null) { if (!(this.ClassPointer is LocalVariable)) { if (MethodEditContext.IsWebPage) { if (!MethodEditContext.CheckAction(act, this.FindForm())) { return; } } } act.SetScopeMethod(_methodClass); int x = (mv.Width / 4 - 20) / 2; int y = (mv.Height / 4 - 20) / 2; if (x < 30) { x = 30; } if (y < 30) { y = 30; } mv.AddNewAction(act, new Point(x, y)); } }
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; } } }
void _editBox_FinishEdit(object sender, EventArgs e) { string newName = _editBox.TextBoxText; if (!string.IsNullOrEmpty(newName)) { if (newName != _name) { IList <MethodDiagramViewer> l = MethodViewer.GetViewer(); foreach (MethodDiagramViewer dv in l) { if (dv.IsNameUsed(newName)) { _editBox.TextBoxText = _name; MessageBox.Show(this.FindForm(), string.Format("The name, {0}, is in use", newName), "Rename", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); _editBox.SetTextFocus(); return; } else { ChangeName(newName); } dv.Changed = true; } } } _editBox.Visible = false; ShowLabel(true); }
public void ChangeName(string newName) { LocalVariable lv = this.ClassPointer as LocalVariable; _name = newName; lv.SetName(_name); SetLabelText(_name); IList <MethodDiagramViewer> lst = MethodViewer.GetViewer(); foreach (MethodDiagramViewer dv in lst) { for (int i = 0; i < dv.Controls.Count; i++) { ActionViewerConstructor avc = dv.Controls[i] as ActionViewerConstructor; if (avc != null) { AB_Constructor bc = avc.ActionObject as AB_Constructor; ConstructorPointer cp = bc.ActionData.ActionMethod as ConstructorPointer; LocalVariable lv2 = cp.Owner as LocalVariable; if (lv2.IsSameObjectRef(lv)) { lv2.SetName(_name); avc.ActionName = "Create " + _name; break; } } } } }
private void assignAction(IEvent ep) { if (ep != null) { MethodDiagramViewer mv = MethodViewer.GetCurrentViewer(); mv.AddAssignActionsAction(ep); } }
private void miAssignEvent_Click(object sender, EventArgs e) { MenuItemDataEvent data = (MenuItemDataEvent)(((MenuItem)sender).Tag); MethodDiagramViewer mv = MethodViewer.GetCurrentViewer(); IEvent ep = data.CreateEventPointer(data.Owner); if (ep != null) { assignAction(ep); } }
private void createNewAction(MenuItemDataMethod data) { ILimnorDesignPane dp = Designer.Project.GetTypedData <ILimnorDesignPane>(Designer.ObjectMap.ClassId); IAction act = OnCreateAction(data, dp); if (act != null) { if (!(this.ClassPointer is LocalVariable)) { if (MethodEditContext.IsWebPage) { if (!MethodEditContext.CheckAction(act, this.FindForm())) { return; } } } MethodDiagramViewer mv = MethodViewer.GetCurrentViewer(); act.ScopeMethod = _methodClass; act.ActionHolder = MethodViewer.ActionsHolder; double x0, y0; ComponentIconEvent.CreateRandomPoint((double)((mv.Width - 20) / 2), out x0, out y0); if (x0 < 0) { x0 = 10; } if (y0 < 0) { y0 = 10; } ActionViewer av = MethodViewer.AddNewAction(act, new Point((mv.Width - 20) / 2 + (int)x0, (mv.Height - 20) / 2 + (int)y0)); if (av.Parent == null) { #if DEBUG MessageBox.Show("Adding action viewer failed (1)"); #endif mv.Controls.Add(av); } else { } } }
void miNewInstance_Click(object sender, EventArgs e) { MethodDiagramViewer mv = MethodViewer.GetCurrentViewer(); if (mv != null) { MemberComponentId lv = this.ClassPointer as MemberComponentId; ActionAssignComponent act = new ActionAssignComponent(MethodViewer.Method.RootPointer); act.ActionOwner = lv; act.ActionId = (UInt32)(Guid.NewGuid().GetHashCode()); act.ActionName = MethodViewer.RootClass.CreateNewActionName("Create" + lv.ObjectType.Name); Point p = mv.PointToClient(System.Windows.Forms.Cursor.Position); if (p.X < 0) { p.X = 10; } if (p.Y < 0) { p.Y = 10; } act.ValidateParameterValues(); mv.AddNewAction(act, p); } }
void miDelete_Click(object sender, EventArgs e) { LocalVariable lv = this.ClassPointer as LocalVariable; List <IAction> acts = lv.RootPointer.GetRelatedActions(lv.MemberId); bool bOK = (acts.Count == 0); if (bOK) { MethodDesignerHolder mdh = MethodViewer; if (mdh != null) { BranchList bl = mdh.ActionList; if (bl != null) { Dictionary <UInt32, IAction> actions = new Dictionary <uint, IAction>(); bl.GetActionsUseLocalVariable(lv.MemberId, actions); if (actions.Count > 0) { foreach (KeyValuePair <UInt32, IAction> kv in actions) { acts.Add(kv.Value); } bOK = false; } } } } if (!bOK) { List <ObjectTextID> objs = new List <ObjectTextID>(); foreach (IAction a in acts) { objs.Add(new ObjectTextID("Action", "", a.Display)); } dlgObjectUsage dlg = new dlgObjectUsage(); dlg.LoadData("There are actions using this object. These actions must be removed before this object can be removed.", "Remove object", objs); //currently no OK will be returned bOK = (dlg.ShowDialog(this.FindForm()) == DialogResult.OK); if (bOK) { IList <MethodDiagramViewer> l = MethodViewer.GetViewer(); foreach (MethodDiagramViewer mv in l) { //remove local/constructor actions belong to it List <IComponent> avList = new List <IComponent>(); for (int i = 0; i < mv.Controls.Count; i++) { ActionViewer av = mv.Controls[i] as ActionViewer; if (av != null) { foreach (IAction a in acts) { if (av.ActionObject.ContainsActionId(a.ActionId)) { avList.Add(av); } } } } if (avList.Count > 0) { mv.DeleteComponents(avList.ToArray()); } } } } if (bOK) { MethodViewer.RemoveLocalVariable(this); RemoveLabel(); Control p = this.Parent; if (p != null) { p.Controls.Remove(this); } MethodViewer.Changed = true; } }