/// <summary>
        /// Renders the specified writer.
        /// </summary>
        /// <param name="writer">The writer.</param>
        public void Render(TextWriter writer)
        {
            if (RenderMode != TagRenderMode.SelfClosing)
            {
                writer.Write(tagBuilder.ToString(TagRenderMode.StartTag));

                if (Template != null)
                {
                    Template(writer);
                }
                if (ChildElements.Any())
                {
                    ChildElements.ForEach(child => child.Render(writer));
                }
                else
                {
                    writer.Write(tagBuilder.InnerHtml);
                }

                writer.Write(tagBuilder.ToString(TagRenderMode.EndTag));
            }
            else
            {
                writer.Write(tagBuilder.ToString(TagRenderMode.SelfClosing));
            }
        }
예제 #2
0
        public virtual void MouseMove(Point mousePosition)
        {
            if (!IsVisible)
            {
                return;
            }

            ChildElements?.ForEach((e) =>
            {
                e.MouseMove(mousePosition);
            });
        }
예제 #3
0
        public override void Draw(SpriteBatch spriteBatch, Rectangle rectangle)
        {
            int xoffset = Margin + rectangle.X;

            ChildElements?.ForEach((e) =>
            {
                var rect             = e.Rectangle;
                Rectangle targetRect = new Rectangle(xoffset, rectangle.Y, rect.Width, rectangle.Height);
                xoffset    += (Margin + targetRect.Width);
                e.Rectangle = targetRect;
            });
            Rectangle = new Rectangle(Rectangle.Location, new Point(xoffset - rectangle.X, Rectangle.Height));
            base.Draw(spriteBatch, Rectangle);
        }
예제 #4
0
        public virtual void Draw(SpriteBatch spriteBatch, Rectangle rectangle)
        {
            if (!IsVisible)
            {
                return;
            }
            if (Background != null)
            {
                spriteBatch.Draw(Background, rectangle, MaskColor);
            }

            ChildElements?.ForEach((e) =>
            {
                e.Draw(spriteBatch);
            });
        }
예제 #5
0
        public override List <IError> Validate(List <IError> errors)
        {
            RequireRange(this, x => x.VersionMajor, 0, 4, errors);
            RequireRange(this, x => x.VersionMinor, 0, 99, errors);
            ValidateString(this, x => x.ManagementSoftwareManufacturer, 32, errors);
            ValidateString(this, x => x.ManagementSoftwareVersion, 32, errors);
            ValidateString(this, x => x.TaskControllerManufacturer, 32, errors);
            ValidateString(this, x => x.TaskControllerVersion, 32, errors);
            ValidateEnumerationValue(typeof(ISOTaskDataTransferOrigin), DataTransferOriginInt, errors);
            ChildElements.ForEach(i => i.Validate(errors));
            if (LinkList != null)
            {
                LinkList.Validate(errors);
            }

            return(errors);
        }