예제 #1
0
 private void scaleTypeCombo_SelectionChanged(object sender, EventArgs e)
 {
     target.PointScaleType = (PointScaleTypes)scaleTypeCombo.SelectedIndex;
     target.CleanUp();
 }
예제 #2
0
        public bool MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
        {
            if (e.X > Left && (e.X - Left) < Width)
            {
                if (e.Y > Top && (e.Y - Top) < Height)
                {
                    int x = e.X - Left;
                    int y = e.Y - Top;
                    int i = 0;
                    if (e.Button == MouseButtons.Right)
                    {
                        ContextMenuStrip contextMenu = new ContextMenuStrip();

                        ToolStripMenuItem closeMenu    = new ToolStripMenuItem(Language.GetLocalizedText(212, "Close"));
                        ToolStripMenuItem copyMenu     = new ToolStripMenuItem(Language.GetLocalizedText(428, "Copy"));
                        ToolStripMenuItem domainColumn = new ToolStripMenuItem(Language.GetLocalizedText(1271, "Domain Column"));

                        ToolStripMenuItem sortOrder = new ToolStripMenuItem(Language.GetLocalizedText(1272, "Sort Order"));

                        ToolStripMenuItem sortOrderAZ = new ToolStripMenuItem(Language.GetLocalizedText(1273, "Alpha Ascending"));
                        ToolStripMenuItem sortOrderZA = new ToolStripMenuItem(Language.GetLocalizedText(1274, "Alpha Descending"));
                        ToolStripMenuItem sortOrder09 = new ToolStripMenuItem(Language.GetLocalizedText(1275, "Numeric Increasing"));
                        ToolStripMenuItem sortOrder90 = new ToolStripMenuItem(Language.GetLocalizedText(1276, "Numeric Decreasing"));

                        sortOrderAZ.Click += new EventHandler(sortOrderAZ_Click);
                        sortOrderZA.Click += new EventHandler(sortOrderZA_Click);
                        sortOrder09.Click += new EventHandler(sortOrder09_Click);
                        sortOrder90.Click += new EventHandler(sortOrder90_Click);

                        sortOrder.DropDownItems.Add(sortOrderAZ);
                        sortOrder.DropDownItems.Add(sortOrderZA);
                        sortOrder.DropDownItems.Add(sortOrder09);
                        sortOrder.DropDownItems.Add(sortOrder90);


                        closeMenu.Click += new EventHandler(closeMenu_Click);
                        copyMenu.Click  += new EventHandler(copyMenu_Click);
                        domainColumn.DropDownOpening += new EventHandler(domainColumn_DropDownOpening);

                        contextMenu.Items.Add(closeMenu);
                        contextMenu.Items.Add(copyMenu);
                        if (chartType != ChartTypes.Histogram)
                        {
                            contextMenu.Items.Add(sortOrder);
                            contextMenu.Items.Add(domainColumn);
                        }
                        contextMenu.Show(Cursor.Position);
                    }
                    else
                    {
                        if (barHitTest != null)
                        {
                            foreach (Rectangle rect in barHitTest)
                            {
                                if (rect.Contains(x, y))
                                {
                                    if ((Control.ModifierKeys & Keys.Control) != Keys.Control)
                                    {
                                        for (int j = 0; j < Stats.Buckets; j++)
                                        {
                                            if (i != j)
                                            {
                                                Stats.Selected[j] = false;
                                            }
                                        }
                                    }
                                    else
                                    {
                                    }

                                    if ((Control.ModifierKeys & Keys.Shift) == Keys.Shift)
                                    {
                                        if (lastClick > -1)
                                        {
                                            int dir = lastClick > i ? -1 : 1;

                                            for (int j = lastClick; j != i; j += dir)
                                            {
                                                Stats.Selected[j] = true;
                                            }
                                        }
                                        else
                                        {
                                            lastClick = i;
                                        }
                                    }
                                    else
                                    {
                                        lastClick = i;
                                    }
                                    Stats.Selected[i] = !Stats.Selected[i];
                                    //layer.filters.Add(stats);
                                    layer.CleanUp();
                                    CleanUp();
                                    break;
                                }
                                i++;
                            }
                        }
                    }

                    if (MaxUnits < Stats.Buckets)
                    {
                        int Chrome          = 25;
                        int border          = 10;
                        int height          = 150;
                        int ScrollAreaWidth = Width - (2 * border);
                        // Scroll bars are needed
                        ScrollBarVisible = true;

                        int scrollWidth = (int)((double)MaxUnits / (double)Stats.Buckets * ScrollAreaWidth);

                        int scrollStart = (int)((double)ScrollPosition / (double)Stats.Buckets * ScrollAreaWidth);

                        Rectangle rect = new Rectangle(border + scrollStart, height + 15 + Chrome, scrollWidth, 15);

                        if (rect.Contains(x, y))
                        {
                            scrolling               = true;
                            scrollLastMouseX        = e.X;
                            scrollPositionMouseDown = ScrollPosition;
                        }
                    }

                    Rectangle sortRect = new Rectangle(Width - 25, 2, 16, 16);
                    if (sortRect.Contains(x, y) && chartType == ChartTypes.BarChart)
                    {
                        // Clicked on sort
                        sortType = (sortType + 1) % 4;
                        Stats.Sort(sortType);
                        CleanUp();
                    }

                    capture = true;
                    return(true);
                }
            }
            return(false);
        }