示例#1
0
        public HitTestArea GetHitArea(Point clientPoint, TableChartGroup g, TableChartCell c, double threshold)
        {
            var area = HitTestArea.None;
            var gs   = GetClientX(g.Start);
            var ge   = GetClientX(g.End);

            if (gs + threshold >= clientPoint.X && gs - threshold <= clientPoint.X)
            {
                area |= HitTestArea.GroupStart;
            }
            else if (ge + threshold >= clientPoint.X && ge - threshold <= clientPoint.X)
            {
                area |= HitTestArea.GroupEnd;
            }
            else if (gs + threshold < clientPoint.X && ge - threshold > clientPoint.X)
            {
                area |= HitTestArea.GroupBody;
            }

            if (c == null)
            {
                return(area);
            }
            var cs = GetClientY(c.Start);
            var ce = GetClientY(c.End);

            if (cs + threshold >= clientPoint.Y && cs - threshold <= clientPoint.Y)
            {
                area |= HitTestArea.CellStart;
            }
            else if (ce + threshold >= clientPoint.Y && ce - threshold <= clientPoint.Y)
            {
                area |= HitTestArea.CellEnd;
            }
            else if (cs + threshold < clientPoint.Y && ce - threshold > clientPoint.Y)
            {
                area |= HitTestArea.CellBody;
            }

            return(area);
        }
 public TableChartEventArgs(List <int> changedCells, TableChartGroup group)
 {
     _changedCells = changedCells;
     _group        = group;
 }
示例#3
0
 public void RequestModelUpdate(List <int> changedCells, TableChartGroup group)
 {
     OnDataChanged(new TableChartEventArgs(changedCells, group));
 }