private readonly bool direction; // true= Up, false = Down public CurveShape(Canvas canvas, Point Start, Point End, bool direction) : base(canvas, Start, End) { bezierSegment = new BezierSegment(); Name = "CurvePathx" + Global_Mouse.EncodeTransmissionTimestamp(); props.name = Name; props._shape.Name = Name; props._pointHead.Name = Name; props._pointTail.Name = Name; props._arrow.Name = Name; this.direction = direction; RenderTransformOrigin = new Point(0, 1); controlPoint = new Point(); Draw(); }
public StraightShape(Canvas canvas, Point Start, Point End) : base(canvas, Start, End) { lineSegment = new LineSegment(); lineSegment.IsStroked = true; Name = "StraightPathx" + Global_Mouse.EncodeTransmissionTimestamp(); props.name = Name; props._shape.Name = Name; props._pointHead.Name = Name; props._pointTail.Name = Name; props._arrow.Name = Name; RenderTransformOrigin = new Point(0, 0.5); Height = 20; props._start.X = 0; props._start.Y = (Height / 2); props._end.Y = (Height / 2); Draw(); }
public RobotShape(Canvas pCanvas) { //th = new Thread(DrawCircle); //DrawCircle(); //th.IsBackground = true; //th.Start(); ToolTip = ""; ToolTipOpening += ChangeToolTipContent; props.isSelected = false; props.isHovering = false; ContextMenu = new ContextMenu(); //=================================== MenuItem editItem = new MenuItem(); editItem.Header = "Edit"; editItem.Click += EditMenu; //=================================== MenuItem removeItem = new MenuItem(); removeItem.Header = "Remove"; removeItem.Click += RemoveMenu; ContextMenu.Items.Add(editItem); ContextMenu.Items.Add(removeItem); //====================EVENT===================== //MouseLeave += MouseLeavePath; //MouseMove += MouseHoverPath; //MouseLeftButtonDown += MouseLeftButtonDownPath; //MouseRightButtonDown += MouseRightButtonDownPath; //===================CREATE===================== Name = "Robotx" + Global_Mouse.EncodeTransmissionTimestamp(); props.name = Name; props.position = new Point(); props.mainGrid = new Grid(); props.statusGrid = new Grid(); props.statusBorder = new Border(); props.rbID = new Label(); props.rbTask = new Label(); props.headLed = new Rectangle(); props.tailLed = new Rectangle(); props.eightCorner = new List <Point>(); for (int i = 0; i < 8; i++) { Point temp = new Point(); props.eightCorner.Add(temp); } props.rbRotateTransform = new RotateTransform(); props.rbTranslate = new TranslateTransform(); props.rbTransformGroup = new TransformGroup(); props.contentRotateTransform = new RotateTransform(); props.contentTranslate = new TranslateTransform(); props.contentTransformGroup = new TransformGroup(); //robotProperties = new Properties(this); //===================STYLE===================== //Robot border Width = 22; Height = 15; BorderThickness = new Thickness(1); BorderBrush = new SolidColorBrush(Colors.Linen); Background = new SolidColorBrush(Colors.Black); CornerRadius = new CornerRadius(3); RenderTransformOrigin = new Point(0.5, 0.5); //mainGrid props.mainGrid.Background = new SolidColorBrush(Colors.Transparent); for (int i = 0; i < 3; i++) { ColumnDefinition colTemp = new ColumnDefinition(); colTemp.Name = Name + "xL" + i; if ((i == 0) || (i == 2)) { colTemp.Width = new GridLength(1); } props.mainGrid.ColumnDefinitions.Add(colTemp); } //headLed props.headLed.Height = 7; props.headLed.Fill = new SolidColorBrush(Colors.DodgerBlue); Grid.SetColumn(props.headLed, 2); //tailLed props.tailLed.Height = 7; props.tailLed.Fill = new SolidColorBrush(Colors.OrangeRed); Grid.SetColumn(props.tailLed, 0); //statusBorder props.statusBorder.Width = 10; props.statusBorder.Height = 13; props.statusBorder.RenderTransformOrigin = new Point(0.5, 0.5); Grid.SetColumn(props.statusBorder, 1); //statusGrid for (int i = 0; i < 2; i++) { RowDefinition rowTemp = new RowDefinition(); rowTemp.Name = Name + "xR" + i; props.statusGrid.RowDefinitions.Add(rowTemp); } //rbID props.rbID.Padding = new Thickness(0); props.rbID.Margin = new Thickness(-5, 0, -5, 0); props.rbID.HorizontalAlignment = HorizontalAlignment.Center; props.rbID.VerticalAlignment = VerticalAlignment.Bottom; props.rbID.Content = "27"; props.rbID.Foreground = new SolidColorBrush(Colors.Yellow); props.rbID.FontFamily = new FontFamily("Calibri"); props.rbID.FontSize = 6; props.rbID.FontWeight = FontWeights.Bold; Grid.SetRow(props.rbID, 0); //rbTask props.rbTask.Padding = new Thickness(0); props.rbTask.Margin = new Thickness(-5, -1, -5, -1); props.rbTask.HorizontalAlignment = HorizontalAlignment.Center; props.rbTask.VerticalAlignment = VerticalAlignment.Top; props.rbTask.Content = "9999"; props.rbTask.Foreground = new SolidColorBrush(Colors.LawnGreen); props.rbTask.FontFamily = new FontFamily("Calibri"); props.rbTask.FontSize = 6; props.rbTask.FontWeight = FontWeights.Bold; Grid.SetRow(props.rbTask, 1); //===================CHILDREN=================== props.statusGrid.Children.Add(props.rbID); props.statusGrid.Children.Add(props.rbTask); props.statusBorder.Child = props.statusGrid; props.mainGrid.Children.Add(props.headLed); props.mainGrid.Children.Add(props.tailLed); props.mainGrid.Children.Add(props.statusBorder); props.rbTransformGroup.Children.Add(props.rbRotateTransform); props.rbTransformGroup.Children.Add(props.rbTranslate); RenderTransform = props.rbTransformGroup; props.contentTransformGroup.Children.Add(props.contentRotateTransform); props.contentTransformGroup.Children.Add(props.contentTranslate); props.statusBorder.RenderTransform = props.contentTransformGroup; props.canvas = pCanvas; Child = props.mainGrid; props.canvas.Children.Add(this); //====================FINAL===================== }