public void MouseMove(double x, double y) { MousePoint = new Cairo.PointD (x / (Zoom * Renderer.UnitMultipilier), y / (Zoom * Renderer.UnitMultipilier)); IsMoving = true; if (SelectedTool != null) SelectedTool.OnMouseMove (); DeltaPoint = new PointD (-PreviousMousePoint.X + MousePoint.X, -PreviousMousePoint.Y + MousePoint.Y); for (int i = 0; i < SectionViews.Count; i++) { var sectionView = SectionViews [i]; if(sectionView.ContainsPoint(MousePoint.X,MousePoint.Y)) { MouseOverSection = sectionView; MouseOverSection.IsMouseOver = true; if(mouseOverTool == null || sectionView.DefaultToolName != mouseOverTool.Name) { mouseOverTool = ToolBoxService.GetToolByName(sectionView.DefaultToolName); } if(SelectedTool == null || mouseOverTool != SelectedTool ) { mouseOverTool.OnMouseMove(); if(IsPressed) IsDirty = true; } } else { if(!IsPressed) sectionView.IsMouseOver = false; } } WorkspaceService.InvalidateDesignArea (); PreviousMousePoint = MousePoint; }
public void SetToolByName(string toolName) { SelectedTool = ToolDictionary[toolName]; SelectedTool.CreateMode = true; }
public void SetToolByControlView(ControlViewBase control) { if(ToolDictionary.ContainsKey(control.DefaultToolName)) SelectedTool = ToolDictionary[control.DefaultToolName]; }
public void SetTool(BaseTool tool) { SelectedTool = tool; }
public void AddTool(BaseTool tool) { ToolDictionary.Add(tool.Name,tool); }
public void UnselectTool() { SelectedTool = null; }