public override NSMenu MenuForEvent(NSEvent theEvent) { CGPoint pt = this.ConvertPointToView(theEvent.LocationInWindow, null); nint row = this.GetRow(pt); if (row >= (nint)0) { NSObject obj = this.ItemAtRow((int)row); if (obj != null) { NSMenu menu = new NSMenu(); if (obj is VMCAServerNode) { VMCAServerNode serverNode = obj as VMCAServerNode; if (serverNode.IsLoggedIn) { NSMenuItem getVersion = new NSMenuItem("Get Server Version", serverNode.GetServerVersion); menu.AddItem(getVersion); NSMenuItem showRoot = new NSMenuItem("Show Root Certificate", serverNode.ShowRootCertificate); menu.AddItem(showRoot); NSMenuItem addCert = new NSMenuItem("Add Root Certificate", serverNode.AddRootCertificate); menu.AddItem(addCert); } } else if (obj is VMCAKeyPairNode) { VMCAKeyPairNode node = obj as VMCAKeyPairNode; NSMenuItem createKeyPair = new NSMenuItem("Create KeyPair", node.CreateKeyPair); menu.AddItem(createKeyPair); } else if (obj is VMCACSRNode) { VMCACSRNode node = obj as VMCACSRNode; NSMenuItem createSigningRequest = new NSMenuItem("Create Signing Request", node.HandleSigningRequest); menu.AddItem(createSigningRequest); } else if (obj is VMCAPersonalCertificatesNode) { VMCAPersonalCertificatesNode node = obj as VMCAPersonalCertificatesNode; NSMenuItem createCertificate = new NSMenuItem("Create Self Signed Certificate", node.CreateCertificate); menu.AddItem(createCertificate); NSMenuItem createCASingedCertificate = new NSMenuItem("Create CA Signed Certificate", node.CreateCASignedCertificate); menu.AddItem(createCASingedCertificate); } NSMenu.PopUpContextMenu(menu, theEvent, theEvent.Window.ContentView); } } return(base.MenuForEvent(theEvent)); }
public void DisplayRightPaneCSRView(NSObject item) { try { NSTableColumn col1 = new NSTableColumn("CreatedDate"); col1.HeaderCell.Title = "Created Date"; col1.Width = 150; col1.DataCell = new NSBrowserCell(); splitViewController.MainTableView.AddColumn(col1); NSTableColumn col2 = new NSTableColumn("Data"); col2.HeaderCell.Title = "Data"; col2.Width = 150; splitViewController.MainTableView.AddColumn(col2); VMCACSRNode node = item as VMCACSRNode; splitViewController.MainTableView.DataSource = new CSRDetailListView(node.ServerDTO.SigningRequests, (item as ChildScopeNode).ServerDTO); } catch (Exception e) { UIErrorHelper.ShowAlert("", e.Message); } }