diff --git a/sources/RoboforkApp/DesignerCanvas.cs b/sources/RoboforkApp/DesignerCanvas.cs index 86d02ed..931fe69 100644 --- a/sources/RoboforkApp/DesignerCanvas.cs +++ b/sources/RoboforkApp/DesignerCanvas.cs @@ -399,11 +399,12 @@ namespace RoboforkApp else if (Operation == OperationState.NewDrawSetFreeNode) { bool RightClick = false; + bool LeftClick = false; if (IsStopDrawRoute(e)) RightClick = true; StartDrawPoint = e.MouseDevice.GetPosition(this); - CreateNode(StartDrawPoint, RightClick); + CreateNode(StartDrawPoint,LeftClick, RightClick); //NewSetFreeNodes(StartDrawPoint, RightClick); } //2017/03/04 NAM EDT END @@ -691,6 +692,24 @@ namespace RoboforkApp return; } + //2017/03/04 NAM EDT START + else + { + + bool RightClick = false; + bool LeftClick = false; + + + if (IsMouseLeftClick(e)) + LeftClick = true; + if (IsStopDrawRoute(e)) + RightClick = true; + + StartDrawPoint = e.MouseDevice.GetPosition(this); + CreateNode(StartDrawPoint, LeftClick, RightClick); + } + //2017/03/04 NAM EDT END + bool _isgoal = IsStartEndRoute(_goalPoint, LastPoint); if (_isgoal && isGoalDrawRoute == false) @@ -954,6 +973,18 @@ namespace RoboforkApp return false; } + //2017/03/05 NAM ADD START + private bool IsMouseLeftClick(MouseEventArgs e) + { + if (e.LeftButton == MouseButtonState.Pressed) + { + return true; + } + + return false; + } + //2017/03/05 NAM ADD END + /// /// Draw curver line and yellow node /// @@ -2133,26 +2164,29 @@ namespace RoboforkApp if (i == gGrpBlueNode.Children.Count - 1) { - // xoa line + // delete line if (gGrpNewLine.Children.Count > 0) { gGrpNewLine.Children.RemoveAt(i - 1); } - // xoa ucNode + // delete ucNode ucNode _ucNode = new ucNode(); _ucNode = ucNode_Lst[i]; this.Children.Remove(_ucNode); ucNode_Lst.RemoveAt(i); - // xoa node + // delete node gGrpBlueNode.Children.RemoveAt(i); + NewNodeInfo_List.RemoveAt(i); } else { // remove last Node int lastIdx = gGrpBlueNode.Children.Count - 1; + + NewNodeInfo_List.RemoveAt(lastIdx); gGrpBlueNode.Children.RemoveAt(lastIdx); gGrpNewLine.Children.RemoveAt(lastIdx - 1); @@ -2187,8 +2221,11 @@ namespace RoboforkApp } - + //NewInitNodeInfo_List(); + + + NewDspRouteInfo(); stt--; @@ -2336,7 +2373,7 @@ namespace RoboforkApp } - private void CreateNode(Point FreeNode, bool RightClick) + private void CreateNode(Point FreeNode, bool LeftClick, bool RightClick) { double radiusNode = RADIUS_NODE; @@ -2390,19 +2427,23 @@ namespace RoboforkApp else { //Check EditNode State - for (int i = 0; i < gGrpBlueNode.Children.Count; i++) - { - ellipseGeometry = (EllipseGeometry)gGrpBlueNode.Children[i]; - node = ellipseGeometry.Center; - bool isEditNode = CheckIsNode(FreeNode, node, RADIUS_NODE); - - if (isEditNode) + if(LeftClick) + { + for (int i = 0; i < gGrpBlueNode.Children.Count; i++) { - NewEditNode(node); - NewDspRouteInfo(); - return; + ellipseGeometry = (EllipseGeometry)gGrpBlueNode.Children[i]; + node = ellipseGeometry.Center; + bool isEditNode = CheckIsNode(FreeNode, node, RADIUS_NODE); + + if (isEditNode) + { + NewEditNode(node); + NewDspRouteInfo(); + return; + } } } + // them nut MessageBoxResult result = MessageBox.Show("Do You Want To Add This Node?", "Add Node", MessageBoxButton.OKCancel);