protected override void OnMouseDown(MouseEventArgs e) { fMouseX = e.X; fMouseY = e.Y; switch (fMode) { case ChartControlMode.ccmDefault: var mAct = GetMouseAction(e, MouseEvent.meDown); switch (mAct.Action) { case MouseAction.maSelect: SelectBy(mAct.Person, true); break; case MouseAction.maDrag: Cursor = Cursors.SizeAll; fMode = ChartControlMode.ccmDragImage; break; } break; case ChartControlMode.ccmDragImage: break; case ChartControlMode.ccmControlsVisible: fTreeControls.MouseDown(e.X, e.Y); break; } base.OnMouseDown(e); }
protected override void OnMouseMove(MouseEventArgs e) { switch (fMode) { case ChartControlMode.Default: TreeChartPerson mPers; MouseAction mAct = GetMouseAction(e, MouseEvent.meMove, out mPers); if (mAct == MouseAction.Highlight) { SetHighlight(mPers); } else { SetHighlight(null); ITreeControl ctl = fTreeControls.Contains(e.X, e.Y); if (ctl != null) { fMode = ChartControlMode.ControlsVisible; ctl.UpdateState(); ctl.Visible = true; ctl.MouseMove(e.X, e.Y); fActiveControl = ctl; fToolTip.Show(ctl.Tip, this, e.X + Left, e.Y + Top, 1500); } } break; case ChartControlMode.DragImage: Point pt = e.Location; AdjustScroll(-(pt.X - fMouseX), -(pt.Y - fMouseY)); fMouseX = pt.X; fMouseY = pt.Y; break; case ChartControlMode.ControlsVisible: if (fActiveControl != null) { if (!(fActiveControl.Contains(e.X, e.Y) || fActiveControl.MouseCaptured)) { fMode = ChartControlMode.Default; fActiveControl.Visible = false; fToolTip.Hide(this); fActiveControl = null; } else { fActiveControl.MouseMove(e.X, e.Y); } } break; } base.OnMouseMove(e); }
protected override void OnMouseMove(MouseEventArgs e) { switch (fMode) { case ChartControlMode.ccmDefault: var mAct = GetMouseAction(e, MouseEvent.meMove); if (mAct.Action == MouseAction.maHighlight) { SetHighlight(mAct.Person); } else { SetHighlight(null); ITreeControl ctl = fTreeControls.Contains(e.X, e.Y); if (ctl != null) { fMode = ChartControlMode.ccmControlsVisible; ctl.Visible = true; ctl.MouseMove(e.X, e.Y); fActiveControl = ctl; var pt = new Point(e.X + Left, e.Y + Top); fToolTip.Show(ctl.Tip, this, pt, 1500); } } break; case ChartControlMode.ccmDragImage: AdjustScroll(-(e.X - fMouseX), -(e.Y - fMouseY)); fMouseX = e.X; fMouseY = e.Y; break; case ChartControlMode.ccmControlsVisible: if (fActiveControl != null) { if (!(fActiveControl.Contains(e.X, e.Y) || fActiveControl.MouseCaptured)) { fMode = ChartControlMode.ccmDefault; fActiveControl.Visible = false; fToolTip.Hide(this); fActiveControl = null; } else { fActiveControl.MouseMove(e.X, e.Y); } } break; } base.OnMouseMove(e); }
protected override void OnMouseUp(MouseEventArgs e) { Point scrPt = GetScrollRelativeLocation(e.Location); switch (fMode) { case ChartControlMode.ccmDefault: TreeChartPerson mPers; MouseAction mAct = GetMouseAction(e, MouseEvent.meUp, out mPers); switch (mAct) { case MouseAction.maNone: break; case MouseAction.maProperties: SelectBy(mPers, false); if (fSelected == mPers && fSelected.Rec != null) { DoPersonProperties(new MouseEventArgs(e.Buttons, Keys.None, e.Location)); } break; case MouseAction.maExpand: DoRootChanged(mPers); GenChart(mPers.Rec, TreeChartKind.ckBoth, true); break; case MouseAction.maPersonExpand: ToggleCollapse(mPers); break; case MouseAction.maInfo: DoInfoRequest(mPers); break; } break; case ChartControlMode.ccmDragImage: Cursor = Cursors.Default; fMode = ChartControlMode.ccmDefault; break; case ChartControlMode.ccmControlsVisible: fTreeControls.MouseUp(scrPt.X, scrPt.Y); break; } e.Handled = true; base.OnMouseUp(e); }
protected override void OnMouseUp(MouseEventArgs e) { switch (fMode) { case ChartControlMode.Default: TreeChartPerson mPers; MouseAction mAct = GetMouseAction(e, MouseEvent.meUp, out mPers); switch (mAct) { case MouseAction.None: break; case MouseAction.Properties: SelectBy(mPers, false); if (fSelected == mPers && fSelected.Rec != null) { DoPersonProperties(new MouseEventArgs(e.Button, 1, e.X, e.Y, 0)); } break; case MouseAction.Expand: DoRootChanged(mPers); GenChart(mPers.Rec, TreeChartKind.ckBoth, true); break; case MouseAction.PersonExpand: ToggleCollapse(mPers); break; case MouseAction.Info: DoInfoRequest(mPers); break; } break; case ChartControlMode.DragImage: Cursor = Cursors.Default; fMode = ChartControlMode.Default; break; case ChartControlMode.ControlsVisible: fTreeControls.MouseUp(e.X, e.Y); break; } base.OnMouseUp(e); }
protected override void OnMouseUp(MouseEventArgs e) { switch (fMode) { case ChartControlMode.ccmDefault: var mAct = GetMouseAction(e, MouseEvent.meUp); switch (mAct.Action) { case MouseAction.maNone: break; case MouseAction.maProperties: SelectBy(mAct.Person, false); if (fSelected == mAct.Person && fSelected.Rec != null) { DoPersonProperties(new MouseEventArgs(e.Button, 1, e.X, e.Y, 0)); } break; case MouseAction.maExpand: DoRootChanged(mAct.Person); GenChart(mAct.Person.Rec, TreeChartKind.ckBoth, true); break; case MouseAction.maPersonExpand: ToggleCollapse(mAct.Person); break; } break; case ChartControlMode.ccmDragImage: Cursor = Cursors.Default; fMode = ChartControlMode.ccmDefault; break; case ChartControlMode.ccmControlsVisible: fTreeControls.MouseUp(e.X, e.Y); break; } base.OnMouseUp(e); }
protected override void OnMouseDown(MouseEventArgs e) { Point pt = new Point(e.Location); fMouseX = pt.X; fMouseY = pt.Y; Point scrPt = GetScrollRelativeLocation(e.Location); switch (fMode) { case ChartControlMode.ccmDefault: TreeChartPerson mPers; MouseAction mAct = GetMouseAction(e, MouseEvent.meDown, out mPers); switch (mAct) { case MouseAction.maSelect: SelectBy(mPers, true); break; case MouseAction.maDrag: Cursor = Cursors.Move; // SizeAll; fMode = ChartControlMode.ccmDragImage; break; } break; case ChartControlMode.ccmDragImage: break; case ChartControlMode.ccmControlsVisible: fTreeControls.MouseDown(scrPt.X, scrPt.Y); break; } e.Handled = true; base.OnMouseDown(e); }
protected override void OnMouseDown(MouseEventArgs e) { Point pt = e.Location; fMouseX = pt.X; fMouseY = pt.Y; switch (fMode) { case ChartControlMode.Default: TreeChartPerson mPers; MouseAction mAct = GetMouseAction(e, MouseEvent.meDown, out mPers); switch (mAct) { case MouseAction.Select: SelectBy(mPers, true); break; case MouseAction.Drag: Cursor = Cursors.SizeAll; fMode = ChartControlMode.DragImage; break; } break; case ChartControlMode.DragImage: break; case ChartControlMode.ControlsVisible: fTreeControls.MouseDown(pt.X, pt.Y); break; } base.OnMouseDown(e); }
protected override void OnMouseMove(MouseEventArgs e) { //Point ctPt = new Point((int)e.Location.X, (int)e.Location.Y); Point scrPt = GetScrollRelativeLocation(e.Location); switch (fMode) { case ChartControlMode.ccmDefault: TreeChartPerson mPers; MouseAction mAct = GetMouseAction(e, MouseEvent.meMove, out mPers); if (mAct == MouseAction.maHighlight) { SetHighlight(mPers); } else { SetHighlight(null); ITreeControl ctl = fTreeControls.Contains(scrPt.X, scrPt.Y); if (ctl != null) { fMode = ChartControlMode.ccmControlsVisible; ctl.Visible = true; ctl.MouseMove(scrPt.X, scrPt.Y); fActiveControl = ctl; //pt = new Point(pt.X + Left, pt.Y + Top); //fToolTip.Show(ctl.Tip, this, pt, 1500); ToolTip = ctl.Tip; } } break; case ChartControlMode.ccmDragImage: Point pt = new Point(e.Location); AdjustScroll(-(pt.X - fMouseX), -(pt.Y - fMouseY)); fMouseX = pt.X; fMouseY = pt.Y; break; case ChartControlMode.ccmControlsVisible: if (fActiveControl != null) { if (!(fActiveControl.Contains(scrPt.X, scrPt.Y) || fActiveControl.MouseCaptured)) { fMode = ChartControlMode.ccmDefault; fActiveControl.Visible = false; //fToolTip.Hide(this); ToolTip = ""; fActiveControl = null; } else { fActiveControl.MouseMove(scrPt.X, scrPt.Y); } } break; } e.Handled = true; base.OnMouseMove(e); }