private void DataDisplay_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right && swApp != null)
            {
                try {
                    ContextMenu m           = new ContextMenu();
                    int         current_row = Grid.HitTest(e.X, e.Y).RowIndex;
                    if (current_row >= 0)
                    {
                        part = Grid["Part", current_row].Value.ToString();
                        MenuItem m1 = new MenuItem(@"Open Model...", OnClickOpenModel);
                        MenuItem m2 = new MenuItem("-");
                        MenuItem od = new MenuItem(@"Open Drawing...", OnClickOpenDrawing);
                        od.Enabled = DrawingExists(part);
                        System.IO.FileInfo drw = find_doc(part);
                        m2.Enabled = drw.Exists;
                        MenuItem           m3 = new MenuItem(@"Open PDF..", OnOpenPDF);
                        System.IO.FileInfo f  = cd.GetPDF(drw);
                        m3.Enabled = f != null && f.Exists;
                        MenuItem m4 = new MenuItem(@"Create Drawing...", OnClickNewDrawing);
                        MenuItem m5 = new MenuItem("-");
                        MenuItem m6 = new MenuItem(@"Machine Priority...", OnClickMachinePriority);

                        m.MenuItems.Add(m1);
                        m.MenuItems.Add(m2);
                        m.MenuItems.Add(od);
                        m.MenuItems.Add(m3);
                        m.MenuItems.Add(m4);
                        m.MenuItems.Add(m5);
                        m.MenuItems.Add(m6);
                    }

                    m.Show(Grid, new Point(e.X, e.Y));
                } catch (Exception ex) {
                    //
                }
            }
        }