Exemplo n.º 1
0
        /// <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;
            }
        }
Exemplo n.º 2
0
        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);
                }
            }
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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();
        }
Exemplo n.º 5
0
        public void OnPointerMoved(PointerState po)
        {
            if (po.IsInContact == false)
            {
                PartsTooltip.Location = CodePos <ScreenX, ScreenY> .From(po.Position.X, po.Position.Y);

                Redraw();
                findPartsForTooltip(po);
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// get screen position
        /// </summary>
        /// <param name="pane"></param>
        /// <returns></returns>
        public virtual ScreenPos GetScreenPos(IDrawArea pane, CodePos <TCX, TCY> codepos)
        {
            var lpos = new LayoutPos
            {
                X = PositionerX(codepos.X, codepos.Y),
                Y = PositionerY(codepos.X, codepos.Y),
            };

            return(ScreenPos.From(pane, lpos));
        }
Exemplo n.º 7
0
        /// <summary>
        /// Calc Layout position
        /// </summary>
        /// <param name="codepos"></param>
        /// <returns></returns>
        public virtual LayoutPos GetLayoutPos(CodePos <TCX, TCY> codepos)
        {
            var lpos = new LayoutPos
            {
                X = PositionerX(codepos.X, codepos.Y),
                Y = PositionerY(codepos.X, codepos.Y),
            };

            return(lpos);
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        private IEnumerable <Token> WordTokens(params string[] words)
        {
            int charCount = 0;

            foreach (string content in words)
            {
                var pos = new CodePos(0, charCount);
                charCount += content.Length + 1; // Add the length of the word, plus an imaginary space.

                yield return(new Token(pos, TokenType.Word, content));
            }
        }
Exemplo n.º 10
0
        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);
            }
        }
Exemplo n.º 11
0
        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();
        }
Exemplo n.º 12
0
 public static RuleResult Failed(CodePos pos, string reason) => new RuleResult
 {
     status = RuleStatus.Failed,
     error  = new CompileErrorException(pos, reason)
 };
Exemplo n.º 13
0
        /// <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)));
        }
Exemplo n.º 14
0
 public void SaveLocationAsOrigin()
 {
     PositionBackup = Location;
     LOG.WriteLine(LLV.INF, $"Move Start from {Location}");
 }
Exemplo n.º 15
0
            /// <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));
            }
Exemplo n.º 16
0
 public override ScreenPos GetScreenPos(IDrawArea pane, CodePos <Distance, Distance> codepos)
 {
     throw new NotSupportedException();
 }