public override NSMenu MenuForEvent(NSEvent theEvent) { NSTableViewDataSource ds = (NSTableViewDataSource)this.DataSource; NSMenu menu = new NSMenu(); if (SelectedRow >= (nint)0) { if (ds is AttributesEntryListView) { VMDirSchemaAttributeEntryNode node = (ds as AttributesEntryListView).Entries[(int)SelectedRow]; NSMenuItem properties = new NSMenuItem(VMDirSchemaConstants.VMDIRSCHEMA_PROPERTIES, node.ShowProperties); menu.AddItem(properties); } else if (ds is ObjectClassesListView) { VMDirSchemaClassEntryNode node = (ds as ObjectClassesListView).Entries[(int)SelectedRow]; NSMenuItem properties = new NSMenuItem(VMDirSchemaConstants.VMDIRSCHEMA_PROPERTIES, node.ShowProperties); menu.AddItem(properties); } else { //do nothing } } NSMenu.PopUpContextMenu(menu, theEvent, theEvent.Window.ContentView); return(base.MenuForEvent(theEvent)); }
public NSObject ObjectValueForTableColumn(NSTableView table, NSTableColumn col, int row) { NSString value = NSString.Empty; try { if (Entries != null) { VMDirSchemaAttributeEntryNode record = Entries[row]; switch (col.Identifier) { case VMDirSchemaConstants.VMDIRSCHEMA_NAME: value = (NSString)record.attrType.Name; break; case VMDirSchemaConstants.VMDIRSCHEMA_ATTR_SYNTAX: value = (NSString)record.attrType.Type; break; case VMDirSchemaConstants.VMDIRSCHEMA_DESC: value = (NSString)record.attrType.Description; break; } } } catch (Exception) { value = NSString.Empty; } return(value); }