Пример #1
0
        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);
            }
        }