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 btOK_Click(object sender, EventArgs e) { TreeNodeObject ne = treeViewAll.SelectedNode as TreeNodeObject; if (ne != null) { IProperty ep = ne.OwnerPointer as IProperty; ReturnPropertyInfo = ep; } else { ReturnPropertyInfo = null; } if (FrequentlyUsedMethodsChanged) { XmlNode nodeType = _menus.GetTypeNode(); XmlNode nodeMethods = nodeType.SelectSingleNode(LimnorContextMenuCollection.XML_Properties); if (nodeMethods == null) { nodeMethods = nodeType.OwnerDocument.CreateElement(LimnorContextMenuCollection.XML_Properties); nodeType.AppendChild(nodeMethods); } nodeMethods.RemoveAll(); XmlNode nodePrimary = nodeMethods.OwnerDocument.CreateElement(LimnorContextMenuCollection.XML_Primary); nodeMethods.AppendChild(nodePrimary); for (int i = 0; i < lstP.Items.Count; i++) { XmlNode node = nodeMethods.OwnerDocument.CreateElement(LimnorContextMenuCollection.XML_Property); node.InnerText = lstP.Items[i].ToString(); nodePrimary.AppendChild(node); } XmlNode nodeSecondary = nodeMethods.OwnerDocument.CreateElement(LimnorContextMenuCollection.XML_Secondary); nodeMethods.AppendChild(nodeSecondary); for (int i = 0; i < lstS.Items.Count; i++) { XmlNode node = nodeMethods.OwnerDocument.CreateElement(LimnorContextMenuCollection.XML_Property); node.InnerText = lstS.Items[i].ToString(); nodeSecondary.AppendChild(node); } try { nodeMethods.OwnerDocument.Save(_menus.FilePath); _menus.RemoveMenuCollection(); } catch (Exception err) { MessageBox.Show(this, err.Message, "Error saving frequently used properties", MessageBoxButtons.OK, MessageBoxIcon.Error); FrequentlyUsedMethodsChanged = false; } } //=============== if (ReturnPropertyInfo == null) { this.DialogResult = DialogResult.Abort; } else { this.DialogResult = DialogResult.OK; } }
public override bool ExecuteMenuCommand(LimnorProject project, IClass holder, XmlNode node, MultiPanes pane, IMethod scopeMethod, IActionsHolder actsHolder) { DlgSelectEvent dlg = new DlgSelectEvent(); dlg.LoadData(_menuData); DialogResult ret = dlg.ShowDialog(pane.FindForm()); if (dlg.FrequentlyUsedMethodsChanged) { _menuData.RemoveMenuCollection(); pane.Loader.DesignPane.ResetContextMenu(); } if (ret == DialogResult.OK) { IEvent ei = dlg.ReturnEventInfo; if (ei != null) { EventPointer ep = ei as EventPointer; if (ep != null) { return(pane.AssignActions(ep, pane.FindForm())); } else { EventClass ec = ei as EventClass; if (ec != null) { EventClass ec2 = (EventClass)ec.Clone(); ec2.SetHolder(holder); CustomEventPointer cep = new CustomEventPointer(ec2, this.Owner); return(pane.AssignActions(cep, pane.FindForm())); } } } } return(false); }