public override void OnEvent(EventContext EventCtx) { StateManager.StateResult StateRet = m_StateMgr.OnEvent(EventCtx); if (StateManager.StateResult.eDone == StateRet) PtApp.Get().CmdResolver.OnDone(); }
protected override EventResult OnMouseMove(EventContext Context) { Debug.Assert(Context != null); if (null == Context) return EventResult.eContinue; DMStateCommand cmd = m_ParentState.CommandExeCtx.Command as DMStateCommand; if (cmd != null) cmd.UpdateGraphics(Context.MouseWorldPoint); PtApp.GetActiveView().UpdateView(); //SnapContext snapCtx = new SnapContext(); //snapCtx.InitalizeSnapContext(Context.m_MousePoint); //SnapMatcher macher = new SnapMatcher(snapCtx); //PositionIntent itent = new PositionIntent(); //macher.Match(Context.m_MousePoint, itent); //if (itent.IsValid()) // SetCursorShape(itent.GetCursorShape()); //else // SetCursorShape("Drawing.cur"); return EventResult.eContinue; }
public override void MouseWheel(EventContext Ctx) { Debug.Assert(Ctx != null); if (null == Ctx) return; int Delta = Ctx.Delta; if (0 == Delta) return; double dScale = 0; double mouseSpace = 120; if(Delta > 0) // Zoom in { dScale = 1 / (1 + (Delta / mouseSpace) * 0.2); } else // Delta < 0, Zoom out { dScale = 1 + (-Delta / mouseSpace) * 0.2; } double newDeviceToWorldScale = m_DeviceToWorld.GetAllScaling() / dScale; double minScale = PtApp.ActiveDocument.DataScheme.MinZoomScale; double maxScale = PtApp.ActiveDocument.DataScheme.MaxZoomScale; if (newDeviceToWorldScale < minScale) newDeviceToWorldScale = minScale; if (newDeviceToWorldScale > maxScale) newDeviceToWorldScale = maxScale; m_DeviceToWorld.SetScaling(newDeviceToWorldScale, Ctx.MouseWorldPoint); PtApp.ActiveView.UpdateView(); }
protected override EventResult OnMouseMove(EventContext Context) { SpacePointSelectState state = m_ParentState as SpacePointSelectState; if (state != null) { GePoint point = Context.MouseWorldPoint; state.OnMouseMove(point); } return EventResult.eContinue; }
protected override EventResult OnLeftDoubleClick(EventContext Context) { SpacePointSelectState state = m_ParentState as SpacePointSelectState; if(state != null) { GePoint point = Context.MouseWorldPoint; state.OnLeftDoubleClick(point); } return EventResult.eDone; }
protected override EventResult OnLeftDoubleClick(EventContext Context) { m_MousePoint = Context.MouseWorldPoint; DMStateCommand cmd = m_ParentState.CommandExeCtx.Command as DMStateCommand; if (cmd != null) cmd.ShowDialog(); return EventResult.eDone; }
public override void Drag(EventContext Ctx) { GePoint CurrentPoint = Ctx.MouseWorldPoint; Vector distance = CurrentPoint - m_DragLastPoint; m_Instance.MovePoints(distance, -1); m_DragLastPoint = (GePoint)CurrentPoint.Clone(); m_Instance.Compute(); UpdateView(); }
public override void Drag(EventContext Ctx) { Debug.Assert(Ctx != null); if (null == Ctx) return; GePoint CurrentPoint = Ctx.MouseWorldPoint; GePoint CircleCenter = m_Instance.CenterPoint; double NewRadius = CircleCenter.DistanceTo(CurrentPoint); m_Instance.SetRaduis(CurrentPoint); m_Instance.Compute(); UpdateView(); }
public override void Drag(EventContext Ctx) { Debug.Assert(Ctx != null && m_DragLastPoint != null); if (null == Ctx || null == m_DragLastPoint) return; GePoint CurrentPoint = Ctx.MouseWorldPoint; Vector distance = CurrentPoint - m_DragLastPoint; m_Instance.MovePoints(distance, m_index); m_DragLastPoint = (GePoint)CurrentPoint.Clone(); m_Instance.Compute(); UpdateView(); }
public override void Drag(EventContext Ctx) { Debug.Assert(Ctx != null); if (null == Ctx) return; GePoint currentPoint = Ctx.MouseWorldPoint; //Ctx.MouseWorldPoint; if (currentPoint != null && !currentPoint.IsEqualTo(m_LastPoint)) { Matrix44 trans = Matrix44.Identity; trans.SetTranslation(m_LastPoint - currentPoint); m_DeviceToWorld.LeftMultiply(trans); // The last world point desn't change after panning. //m_LastPoint = currentPoint; PtApp.ActiveView.UpdateView(); } }
protected override EventResult OnMouseMove(EventContext Ctx) { Debug.Assert(Ctx != null); if (null == Ctx) return EventResult.eContinue; GePoint currentPoint = Ctx.MouseWorldPoint; //Ctx.MouseWorldPoint; if (m_bIsDragging && currentPoint != null && !currentPoint.IsEqualTo(m_LastPoint)) { Matrix44 trans = Matrix44.Identity; Vector dir = new Vector(m_LastPoint, currentPoint); Vector rotateAxis = UnitVector.kZAxis.Vector.Cross(dir); PtApp.ActiveView.DeviceToWorldMatrix.SetRotate( 30 * FRMath.MathUtil.PI / 180 , rotateAxis.UnitVector, PtApp.ActiveView.ViewCenter); m_LastPoint = Ctx.MouseWorldPoint; PtApp.ActiveView.UpdateView(); } return EventResult.eContinue; }
protected override EventResult OnLeftButtionDown(EventContext Context) { m_bIsDragging = true; // manipulator start drag // Move the selections from preview set to selected set. SelectionSet SelectedSet = PtApp.ActiveView.SelectionMgr.GetSelectedSelectionSet(); SelectedSet.Clear(); SelectedSet.Union(PtApp.ActiveView.SelectionMgr.GetPreviewSelectionSet()); PtApp.ActiveView.SelectionMgr.GetPreviewSelectionSet().Clear(); // We just support drag a selection FRList<Selection> Selections = SelectedSet.Selections; if(Selections.Count == 1) { if (Selections[0].GetManipulator() != null) { SetCursorShape(Selections[0].GetManipulator().GetCursorShape()); Selections[0].GetManipulator().StartDrag(Context); } } return EventResult.eContinue; }
public override void Drag(EventContext Ctx) { Debug.Assert(Ctx != null && m_DragLastPoint != null); if (null == Ctx || null == m_DragLastPoint) return; GePoint CurrentPoint = Ctx.MouseWorldPoint; SnapContext snapCtx = SnapContext.InitalizeSnapContextFromPreSelection(CurrentPoint); SnapMatcher macher = new SnapMatcher(snapCtx); m_Intent = new PositionIntent(); m_Intent.SetPoint(CurrentPoint); macher.Match(CurrentPoint, m_Intent); GePoint NewCenter = null; if (m_Intent.IsValid()) { m_CursorShape = m_Intent.GetCursorShape(); NewCenter = m_Intent.GetPoint(); } else { m_CursorShape = "Move.cur"; GePoint OldCenter = m_Instance.CenterPoint; NewCenter = OldCenter + (CurrentPoint - m_DragLastPoint); } m_Instance.SetCenter(NewCenter); m_DragLastPoint = (GePoint)CurrentPoint.Clone(); m_Instance.Compute(); UpdateView(); }
public virtual void StartDrag(EventContext Ctx) { }
public virtual void MouseWheel(EventContext Ctx) { }
public virtual void EndDrag(EventContext Ctx) { }
private void SetMouseContext(MouseEventArgs e, EventContext MouseContext) { Debug.Assert(MouseContext != null); GePoint mouseDevicePoint = new GePoint(e.X, e.Y); MouseContext.SetMouseDevicePoint(mouseDevicePoint); //MouseContext.m_MousePoint = DeviceToWorld(mouseDevicePoint); // new GePoint(e.X, e.Y); MouseButtons button = e.Button; if (button == MouseButtons.Left) MouseContext.SetButtonType(EventContext.ButtonType.eLeft); else if (button == MouseButtons.Right) MouseContext.SetButtonType(EventContext.ButtonType.eRight); else if (button == MouseButtons.Middle) MouseContext.SetButtonType(EventContext.ButtonType.eMiddle); else MouseContext.SetButtonType(EventContext.ButtonType.eNone); }
private void OnMouseUp(object sender, MouseEventArgs e) { EventContext MouseContext = new EventContext(); SetMouseContext(e, MouseContext); if (e.Button == MouseButtons.Left) MouseContext.Type = EventContext.EventType.eLeftButtonUp; else if (e.Button == MouseButtons.Middle) MouseContext.Type = EventContext.EventType.eMiddleButtonUp; PtApp.Get().OnEvent(MouseContext); }
private void OnMouseDoubleClick(object sender, MouseEventArgs e) { EventContext MouseContext = new EventContext(); SetMouseContext(e, MouseContext); if (e.Button == MouseButtons.Left) { MouseContext.Type = EventContext.EventType.eLeftDoubleClick; } else if (e.Button == MouseButtons.Right) { MouseContext.Type = EventContext.EventType.eRightDoubleClick; } PtApp.Get().OnEvent(MouseContext); }
protected override EventResult OnLeftButtionDown(EventContext Ctx) { m_LastPoint = Ctx.MouseWorldPoint; m_bIsDragging = true; return EventResult.eContinue; }
protected override EventResult OnLeftButtionUp(EventContext Ctx) { m_bIsDragging = false; return EventResult.eContinue; }
public override void StartDrag(EventContext Ctx) { Debug.Assert(Ctx != null); if (null == Ctx) return; m_DragStartPoint = (GePoint)Ctx.MouseWorldPoint.Clone(); m_DragLastPoint = (GePoint)Ctx.MouseWorldPoint.Clone(); }
public override void EndDrag(EventContext Ctx) { SymbolConstraint symConst = null; int pointIndex = 0; if (m_Intent != null && m_Intent.IsValid()) { if (m_Intent.GetGeometryConstraint() != null) { SymbolPointConstraint pointConst = m_Intent.GetGeometryConstraint() as SymbolPointConstraint; if (pointConst != null) { symConst = pointConst.GetSymbolConstraint(); if (symConst != null) { if (m_Instance.GetFragment().IsFirstPriorToSecond(m_Instance, symConst)) { symConst = null; // There is circle if we create forward. } } // We don't need to delete the temporary symbol point constraint // Suppose the GM can collect it. } } } // Change the data model in request CircleCenterMoveRequest req = new CircleCenterMoveRequest( m_Instance, m_Instance.GetCenterPoint().Point, symConst, pointIndex); req.Execute(); m_Node.CanBeSelected = true; }
private void OnMouseMove(object sender, MouseEventArgs e) { EventContext MouseContext = new EventContext(); SetMouseContext(e, MouseContext); MouseContext.Type = EventContext.EventType.eMouseMove; PtApp.Get().OnEvent(MouseContext); }
public override void StartDrag(EventContext Ctx) { Debug.Assert(Ctx != null); if (null == Ctx) return; m_DragStartPoint = (GePoint)Ctx.MouseWorldPoint.Clone(); m_DragLastPoint = (GePoint)Ctx.MouseWorldPoint.Clone(); m_Node.CanBeSelected = false; m_Intent = null; }
protected override EventResult OnLeftButtionClick(EventContext Context) { m_MousePoint = Context.MouseWorldPoint; return EventResult.eDone; }
public override void StartDrag(EventContext Ctx) { //if (Ctx.MouseWorldPoint != null) // m_LastPoint = Ctx.MouseWorldPoint; if (Ctx.MouseDevicePoint != null) m_LastPoint = Ctx.MouseWorldPoint; }
public void OnMouseWheel(object sender, MouseEventArgs e) { EventContext MouseContext = new EventContext(); SetMouseContext(e, MouseContext); MouseContext.Type = EventContext.EventType.eMouseWheel; MouseContext.Delta = e.Delta; PtApp.Get().OnEvent(MouseContext); }
private void OnMouseClick(object sender, MouseEventArgs e) { EventContext MouseContext = new EventContext(); SetMouseContext(e, MouseContext); if (e.Button == MouseButtons.Left) MouseContext.Type = EventContext.EventType.eLeftButtionClick; else MouseContext.Type = EventContext.EventType.eRightButtonClick; PtApp.Get().OnEvent(MouseContext); }
protected override EventResult OnMouseWheel(EventContext Context) { PtApp.GetActiveView().GetTranslationManipulator().MouseWheel(Context); return EventResult.eContinue; }