/// <summary> /// Initialize feature /// </summary> public override void OnInitialInstance() { base.OnInitialInstance(); Pane.Target = Pane["ToolBox"]; // Tool box background Parts.Add(Pane.Target, new PartsToolBox { }, LAYER.ToolButtonBox); var x = ScreenX.From(0); var y = ScreenY.From(48); var btnSize = ScreenSize.From(24, 24); var marginY = ScreenY.From(8); for (var i = 0; i < Buttons.Count; i++) { var btn = Buttons[i]; btn.Name = string.IsNullOrEmpty(btn.Name) ? btn.GetType().Name : btn.Name; btn.Size = btnSize; btn.Location = CodePos <ScreenX, ScreenY> .From(x, y); var dmy = btn.Load(View); // dmy = thread control Parts.Add(Pane.Target, btn, LAYER.ToolButtons); y += btnSize.Height + marginY; } }
public override void OnInitialInstance() { base.OnInitialInstance(); Pane.Target = Pane.Main; for (var a = Angle.Zero; a.Deg < 360; a += Angle.FromDeg(360 / 12)) { var parts = new PartsTestGeneral { Location = CodePos <Distance, Angle> .From(Distance.FromMeter(300), a), PositionerX = MyPositionerX, PositionerY = MyPositionerY, CoderX = MyCoderX, CoderY = MyCoderY, }; if (a.Deg < 180) { Parts.Add(Pane.Target, parts, LAYER.SampleLayer1); } else { Parts.Add(Pane.Target, parts, LAYER.SampleLayer2); } } }
public CodePos <Distance, Distance> SetLocation(Angle A) { var lpos = GetLayoutPos(A); Location = CodePos <Distance, Distance> .From(TargetProcess.CoderX(lpos.X, lpos.Y), TargetProcess.CoderY(lpos.X, lpos.Y)); return(Location); }
public virtual void DrawTooltip(EventTokenTriggerTooltip token) { PartsTooltip.Text = token.Text; PartsTooltip.IsUpperPositionDefault = token.IsUpperPositionDefault; PartsTooltip.Location = CodePos <ScreenX, ScreenY> .From(token.Position.X, token.Position.Y); Redraw(); }
public void OnPointerMoved(PointerState po) { if (po.IsInContact == false) { PartsTooltip.Location = CodePos <ScreenX, ScreenY> .From(po.Position.X, po.Position.Y); Redraw(); findPartsForTooltip(po); } }
public void Move(IDrawArea pane, ScreenSize offset) { var s0 = GetScreenPos(pane, PositionBackup); var s1 = s0 + offset; var l1 = LayoutPos.From(pane, s1); var cl = CoderX(l1.X, l1.Y); var ca = CoderY(l1.X, l1.Y); Location = CodePos <Distance, Angle> .From(cl, ca); }
public override void Draw(DrawProperty dp) { var s0 = GetScreenPos(dp.Pane, CodePos <Distance, Angle> .From(Distance.Zero, Angle.Zero)); var s1 = GetScreenPos(dp.Pane); dp.Graphics.DrawLine(s0 - ScreenX.From(-10000), s0 + ScreenX.From(10000), Colors.Gray); dp.Graphics.DrawLine(s0 - ScreenY.From(-10000), s0 + ScreenY.From(10000), Colors.Gray); dp.Graphics.DrawLine(s0, s1, Colors.Red); dp.Graphics.FillCircle(s1, DotR, Colors.Magenta); if (IsSelected) { dp.Graphics.DrawCircle(s1, DotR, Colors.Blue, 5.0f); } }
public void CreateProcess(EventTokenProcessPartsTrigger token) { var pt = new PartsJitProcess { ID = token.Process.ID, Location = CodePos <Distance, Distance> .From((Distance)token.Process.ChildVriables["LocationX"].Value, (Distance)token.Process.ChildVriables["LocationY"].Value), Width = (Distance)token.Process.ChildVriables["Width"].Value, Height = (Distance)token.Process.ChildVriables["Height"].Value, PositionerX = DistancePositionerX, PositionerY = DistancePositionerY, CoderX = DistanceCoderX, CoderY = DistanceCoderY, }; Parts.Add(PaneJitParts, pt, LAYER.JitProcess); Redraw(); }
/// <summary> /// Get code position from screen position /// </summary> /// <param name="pane"></param> /// <param name="spos">screen position</param> /// <returns></returns> public CodePos <TCX, TCY> GetCodePos(IDrawArea pane, ScreenPos spos) { var lpos = LayoutPos.From(pane, spos); return(CodePos <TCX, TCY> .From(CoderX(lpos.X, lpos.Y), CoderY(lpos.X, lpos.Y))); }
/// <summary> /// The constructor /// </summary> public PartsMask() { Location = CodePos <ScreenX, ScreenY> .From(ScreenX.From(0), ScreenY.From(0)); RB = CodePos <ScreenX, ScreenY> .From(ScreenX.From(0), ScreenY.From(0)); }