/// <summary>
 /// Event handler for the context menu other hits on a node.
 /// </summary>
 /// <remarks>We show only a dummy context menu to demonstrate the basic principle.</remarks>
 private void graphEditorInputMode_PopulateNodeContextMenu(object sender,
                                                           PopulateItemContextMenuEventArgs <IModelItem> e)
 {
     if (!e.Handled)
     {
         IModelItem tableNode =
             graphEditorInputMode.FindItems(e.QueryLocation, new[] { GraphItemTypes.Node }, (item) => item.Lookup <ITable>() != null).FirstOrDefault();
         if (tableNode != null)
         {
             var cutItem = new ToolStripMenuItem
             {
                 Text = "ContextMenu for " + tableNode
             };
             e.Menu.Items.Add(cutItem);
             e.Handled = true;
         }
     }
 }
示例#2
0
 public static IModelItem FindItem(this GraphEditorInputMode mode, PointD location,
                                   GraphItemTypes[] tests, Predicate <IModelItem> filter, IInputModeContext context)
 {
     return(mode.FindItems(context, location, tests, filter).FirstOrDefault());
 }