Ejemplo n.º 1
0
        private static void InitializeWebUIElement(Form newForm, WebForm mainWebForm)
        {
            //Call the initialized event
            newForm.OnInitialized();
            var halfWidth         = Document.ClientWidth / 2;
            var halfHeight        = Document.ClientHeight / 2;
            var newFormHalfWidth  = newForm.Size.Width / 2;
            var newFormHalfHeight = newForm.Size.Height / 2;

            newForm.Location = new Point(halfWidth - newFormHalfWidth, halfHeight - newFormHalfHeight);
            //Center the form
            newForm.Focus();
            JQuery.FromSelector(".winform").ZIndex(1);
            mainWebForm.InternalJQElement.ZIndex(1000);
            if (newForm.FormBorderStyle == FormBorderStyle.Sizable)
            {
                newForm.UnderlyingWebForm.InternalJQElement.ResizableAnimated();
            }

            mainWebForm.InternalJQElement.AddClass("winform");
            mainWebForm.InternalJQElement.Draggable();

            //Add a close button
            var btnClose = new AnchorElement
            {
                Href        = "#",
                Class       = "close webform-close-btn",
                Style       = "color: #000000;",
                TextContent = "×"
            };

            btnClose.Click += (s, e) => CloseForm(newForm);
            mainWebForm.InternalJQElement.Append(btnClose);
        }
Ejemplo n.º 2
0
        public static void Test()
        {
            InputElement input = new InputElement();

            input.OnChange += (ev) =>
            {
                // Tests if ev.CurrentTarget.Value compiles
                Console.Log("ev.CurrentTarget.Value: " + ev.CurrentTarget.Value);

                // Tests if ev.IsMouseEvent() compiles
                Console.Log("IsMouseEvent: " + ev.IsMouseEvent());
            };

            AnchorElement anchor = new AnchorElement();

            anchor.OnClick += (ev) =>
            {
                // Tests if ev.CurrentTarget.Href compiles
                Console.Log("ev.CurrentTarget.Href: " + ev.CurrentTarget.Href);
            };

            // Test if Document.GetElementById<>() compiles
            DivElement div = Document.GetElementById <DivElement>("div1");

            // Tests if Element is still a superclass of all the element classes and the following code compiles
            Element element;

            element = new InputElement();
            element = new TextAreaElement();
        }
        public void Show(Vector2d position, Action callback)
        {
            DivElement simpleInputElement = Document.GetElementById <DivElement>("simpleinput");
            DivElement modalElement       = Document.GetElementById <DivElement>("simplemodal");

            modalElement.Style.Display          = "block";
            simpleInputElement.Style.Display    = "block";
            simpleInputElement.Style.MarginLeft = position.X.ToString() + "px";
            simpleInputElement.Style.MarginTop  = position.Y.ToString() + "px";

            textElement       = Document.GetElementById <SelectElement>("inputtext");
            textElement.Value = Text;

            DivElement titleDiv = Document.GetElementById <DivElement>("simpletitle");
            DivElement labelDiv = Document.GetElementById <DivElement>("inputlabel");

            titleDiv.InnerText = Title;
            labelDiv.InnerText = Label;



            textElement.AddEventListener("change", TextChanged, false);
            textElement.AddEventListener("click", IgnoreMe, true);

            //Window.AddEventListener("click", NonMenuClick, true);

            AnchorElement okButton     = Document.GetElementById <AnchorElement>("simpleinputok");
            AnchorElement cancelButton = Document.GetElementById <AnchorElement>("simpleinputcancel");

            okButton.AddEventListener("click", OkClicked, false);
            cancelButton.AddEventListener("click", CancelClicked, false);
            okCallback = callback;
        }
Ejemplo n.º 4
0
        protected override void OnMouseUp(MouseEventArgs e)
        {
            base.OnMouseUp(e);
            if (!this._dragging)
            {
                return;
            }
            this._dragging = false;
            AnchorElement tempTo;

            if (this._theSelected is AnchorElement element && (tempTo = element).IsDissociative)
            {
                // 检查是否有能够连接上的锚点
                foreach (NodeElement node in this._nodes)
                {
                    // 节点自身上的锚点不能相互连接
                    if (node == this._tempConnection.From.Owner)
                    {
                        continue;
                    }
                    AnchorElement candidate = node.AttachWith(tempTo);
                    if (candidate != null)
                    {
                        // 连接上了,则用候选锚点替换当前连接的tempTo锚点
                        // 释放当前tempTo锚点图像
                        // 将tempConnection加如到画布上上的连接集合
                        this._tempConnection.To = candidate;
                        this._connections.Add(this._tempConnection);
                    }
                }
            }
            // 无论如何都该释放掉临时连接
            this._tempConnection = null;
            this.Invalidate();
        }
Ejemplo n.º 5
0
 public Button() : base()
 {
     UnderlyingElement = new AnchorElement();
     //Add Materialize Button classes
     UnderlyingJQElement.AddClass("waves-effect waves-light btn");
     Create();
     UnderlyingJQElement.Click += OnClick;
 }
 public static void HandleClick(AnchorElement anchor, DomEvent evt, AjaxOptions ajaxOptions) {
     evt.PreventDefault();
     MvcHelpers.AsyncRequest(anchor.Href,
                             "post",
                             "",
                             anchor,
                             ajaxOptions);
 }
    private void HandleInputSockets(INodeInputHandler inputHandler)
    {
        AnchorElement anchor = CreateAnchor(new Vector2(0, 0.5f));

        foreach (IDirectionalInputSocket socket in inputHandler.InputSockets)
        {
            anchor.AddSocket(socket);
        }
    }
Ejemplo n.º 8
0
 public static void HandleClick(AnchorElement anchor, DomEvent evt, AjaxOptions ajaxOptions)
 {
     evt.PreventDefault();
     MvcHelpers.AsyncRequest(anchor.Href,
                             "post",
                             "",
                             anchor,
                             ajaxOptions);
 }
    private void HandleOutputSockets(INodeOutputHandler outputHandler)
    {
        AnchorElement anchor = CreateAnchor(new Vector2(1, 0.5f));

        foreach (IDirectionalOutputSocket socket in outputHandler.OutputSockets)
        {
            anchor.AddSocket(socket);
        }
    }
Ejemplo n.º 10
0
        private void HoveringMoving(MouseEventArgs e)
        {
            Point currentLocation = e.Location;

            Element.Element currentHovered = null;

            #region 节点Hover检查
            for (int idx = this._nodes.Count - 1; idx >= 0; idx--)
            {
                NodeElement node = this._nodes[idx];
                if (node.CaughtBy(currentLocation))
                {
                    currentHovered = node;
                    break;
                }
                else
                {
                    AnchorElement anchor = node.AnchorCaughtBy(currentLocation);
                    if (anchor != null)
                    {
                        currentHovered = anchor;
                        break;
                    }
                }
            }
            #endregion

            #region 连接Hover检查
            for (int idx = this._connections.Count - 1; idx >= 0; idx--)
            {
                ConnectionElement conn = this._connections[idx];
                if (conn.CaughtBy(currentLocation))
                {
                    currentHovered = conn;
                    break;
                }
            }
            #endregion

            #region 更新Hovered元素
            if (currentHovered != this._theHovered)
            {
                if (currentHovered != null)
                {
                    currentHovered.Hovered = true;
                }
                if (this._theHovered != null)
                {
                    this._theHovered.Hovered = false;
                }
                this._theHovered = currentHovered;
            }
            #endregion
        }
Ejemplo n.º 11
0
        /// <summary>
        /// Gets the rectangle region for the flyout.
        /// </summary>
        /// <returns>The flyout region.</returns>
        public Rect Rect()
        {
            if (AnchorElement == null)
            {
                return(new Rect());
            }

            var transform = AnchorElement.TransformToVisual(null);
            var point     = transform.TransformPoint(new Point());
            var size      = new Size(AnchorElement.ActualWidth, AnchorElement.ActualHeight);

            return(new Rect(point, size));
        }
    private AnchorElement CreateAnchor(Vector2 anchor)
    {
        AnchorElement anchorInstance = Instantiate(anchorPrefab);

        RectTransform rectTransform = (RectTransform)anchorInstance.transform;

        rectTransform.SetParent(transform);
        rectTransform.anchorMin        = anchor;
        rectTransform.anchorMax        = anchor;
        rectTransform.anchoredPosition = Vector3.zero;

        return(anchorInstance);
    }
        private void Close()
        {
            DivElement simpleInputElement = Document.GetElementById <DivElement>("simplemodal");

            simpleInputElement.Style.Display = "none";
            //Window.RemoveEventListener("click", NonMenuClick, true);
            textElement.RemoveEventListener("change", TextChanged, false);

            AnchorElement okButton     = Document.GetElementById <AnchorElement>("simpleinputok");
            AnchorElement cancelButton = Document.GetElementById <AnchorElement>("simpleinputcancel");

            okButton.RemoveEventListener("click", OkClicked, false);
            cancelButton.RemoveEventListener("click", CancelClicked, false);
        }
Ejemplo n.º 14
0
        public Button()
        {
            switch (WebApplication.CurrentTheme.Stylesheet)
            {
            case CSSFramework.Foundation6:
                InternalElement = new AnchorElement
                {
                    Class = "button"
                };
                break;

            case CSSFramework.PolyUi:
                InternalElement = new AnchorElement
                {
                    Class = "btn--default"
                };
                break;

            case CSSFramework.Kubism:
                InternalElement = new AnchorElement
                {
                    Class = "btn"
                };
                break;

            case CSSFramework.Bootstrap:
                InternalElement = new AnchorElement
                {
                    Class = "btn btn-primary"
                };
                break;

            case CSSFramework.MaterialBootstrap:
                InternalElement = new AnchorElement
                {
                    Class = "btn btn-primary btn-raised"
                };
                break;

            default:
                InternalElement = new AnchorElement
                {
                    Class = "button"
                };
                break;
            }
            Click += OnClick;
            PerformLayout();
        }
Ejemplo n.º 15
0
 private void CreateAnchor(AnchorElement anchor, Feature feature)
 {
     if (anchor != null)
     {
         GameObject go = new GameObject("Anchor Entity");
         go.transform.SetParent(feature.gameObject.transform);
         AnchorEntity anchorEntity = go.AddComponent <AnchorEntity> ();
         if (anchor.Point != null)
         {
             double[] pos = anchor.Point.ParsePos();
             anchorEntity.ID        = anchor.id;
             anchorEntity.latitude  = pos [0];
             anchorEntity.longitude = pos [1];
             feature.anchor         = anchorEntity;
             feature.Geolocation    = new GeoLocation(feature.anchor.longitude, feature.anchor.latitude);
         }
     }
 }
Ejemplo n.º 16
0
 void ToolWindow_DragDrop(object sender, DragEventArgs e)
 {
     foreach (string format in e.Data.GetFormats())
     {
         switch (format)
         {
         case "GuruComponents.Netrix.WebEditing.Elements.IElement":
             // usually elements are dropped automatically. This code shows how to handle the element immediately.
             // here only Anchor elements are handled
             object o = e.Data.GetData(typeof(IElement));
             if (o is AnchorElement)
             {
                 AnchorElement a = (AnchorElement)o;
                 a.href      = "http://www.netrixcomponent.net";
                 a.InnerText = "Netrix Component";
             }
             break;
         }
     }
 }
Ejemplo n.º 17
0
        public override Verb CreateVerb(string[] tokens)
        {
            Color(position, length, Operators);
            switch (tokens[1])
            {
            case "-":
                Element = new AbortElement();
                break;

            case ";":
                Element = new FailElement();
                break;

            case ":":
                Element = new FenceElement();
                break;

            case "^":
                Element = new AnchorElement();
                break;

            case "!":
                Element     = new NegateElement();
                Instruction = new NegateInstruction();
                break;

            case "&":
                Element = new UseCaseElement();
                break;

            case "\\":
                Element = new RecordSeparatorElement();
                break;

            default:
                return(null);
            }
            return(new NullOp());
        }
Ejemplo n.º 18
0
        internal static HtmlElement CreateFor(XElement element)
        {
            HtmlElement result = null;

            switch (element.Name.LocalName.ToLower())
            {
            case "form":
                result = new FormElement(element);
                break;

            case "input":
                string type = element.GetAttribute("type") ?? "";
                switch (type.ToLower())
                {
                case "radio":
                    result = new RadioInputElement(element);
                    break;

                case "checkbox":
                    result = new CheckboxInputElement(element);
                    break;

                case "image":
                    result = new ImageInputElement(element);
                    break;

                case "submit":
                case "button":
                    result = new ButtonInputElement(element);
                    break;

                case "file":
                    result = new FileUploadElement(element);
                    break;

                case "email":
                    result = new EmailInputElement(element);
                    break;

                case "url":
                    result = new UrlInputElement(element);
                    break;

                case "datetime-local":
                case "date":
                case "month":
                case "week":
                case "time":
                    result = new DateTimeInputElement(element);
                    break;

                case "number":
                case "range":
                    result = new NumberInputElement(element);
                    break;

                case "color":
                    result = new ColorInputElement(element);
                    break;

                default:
                    result = new InputElement(element);
                    break;
                }
                break;

            case "textarea":
                result = new TextAreaElement(element);
                break;

            case "select":
                result = new SelectElement(element);
                break;

            case "option":
                result = new OptionElement(element);
                break;

            case "iframe":
            case "frame":
                var src = element.GetAttributeCI("src");
                if (!string.IsNullOrWhiteSpace(src))
                {
                    result = new FrameElement(element);
                }
                else
                {
                    result = default(HtmlElement);
                }
                break;

            case "a":
                result = new AnchorElement(element);
                break;

            case "label":
                result = new LabelElement(element);
                break;

            case "button":
                result = new ButtonInputElement(element);
                break;

            default:
                result = new HtmlElement(element);
                break;
            }
            return(result);
        }
        protected override string GenerateCode(ITypeDefinition currentClass)
        {
            List <PropertyOrFieldWrapper> filtered = parameterList
                                                     .Where(p => p.IsIncluded)
                                                     .OrderBy(p => p.Index)
                                                     .ToList();

            var test = refactoringContext.GetNode();
            var insertedConstructor = refactoringContext.GetNode().PrevSibling as ConstructorDeclaration;

            if (insertedConstructor == null)
            {
                // We are not inside of a constructor declaration
                return(null);
            }

            using (Script script = refactoringContext.StartScript()) {
                BlockStatement originalCtorBody = insertedConstructor.Body;

                foreach (PropertyOrFieldWrapper w in filtered)
                {
                    if (w.AddCheckForNull)
                    {
                        // true = reference, null = generic or unknown
                        if (w.Type.IsReferenceType != false)
                        {
                            script.AddTo(originalCtorBody,
                                         new IfElseStatement(
                                             new BinaryOperatorExpression(new IdentifierExpression(w.ParameterName), BinaryOperatorType.Equality, new PrimitiveExpression(null)),
                                             new ThrowStatement(new ObjectCreateExpression(new SimpleType("ArgumentNullException"), new List <Expression>()
                            {
                                new PrimitiveExpression(w.ParameterName, '"' + w.ParameterName + '"')
                            }))
                                             )
                                         );
                        }
                        else
                        {
                            script.AddTo(originalCtorBody,
                                         new IfElseStatement(
                                             new UnaryOperatorExpression(UnaryOperatorType.Not, new MemberReferenceExpression(new IdentifierExpression(w.MemberName), "HasValue")),
                                             new ThrowStatement(new ObjectCreateExpression(new SimpleType("ArgumentNullException"), new List <Expression>()
                            {
                                new PrimitiveExpression(w.ParameterName, '"' + w.ParameterName + '"')
                            }))
                                             )
                                         );
                        }
                    }
                    if (w.AddRangeCheck)
                    {
                        script.AddTo(originalCtorBody,
                                     new IfElseStatement(
                                         new BinaryOperatorExpression(
                                             new BinaryOperatorExpression(new IdentifierExpression(w.ParameterName), BinaryOperatorType.LessThan, new IdentifierExpression("lower")),
                                             BinaryOperatorType.ConditionalOr,
                                             new BinaryOperatorExpression(new IdentifierExpression(w.ParameterName), BinaryOperatorType.GreaterThan, new IdentifierExpression("upper"))
                                             ),
                                         new ThrowStatement(
                                             new ObjectCreateExpression(
                                                 new SimpleType("ArgumentOutOfRangeException"),
                                                 new List <Expression>()
                        {
                            new PrimitiveExpression(w.ParameterName, '"' + w.ParameterName + '"'), new IdentifierExpression(w.ParameterName), new BinaryOperatorExpression(new PrimitiveExpression("Value must be between "), BinaryOperatorType.Add, new BinaryOperatorExpression(new IdentifierExpression("lower"), BinaryOperatorType.Add, new BinaryOperatorExpression(new PrimitiveExpression(" and "), BinaryOperatorType.Add, new IdentifierExpression("upper"))))
                        }
                                                 )
                                             )
                                         )
                                     );
                    }
                }

                foreach (PropertyOrFieldWrapper w in filtered)
                {
                    script.AddTo(originalCtorBody,
                                 new ExpressionStatement(new AssignmentExpression(new MemberReferenceExpression(new ThisReferenceExpression(), w.MemberName), AssignmentOperatorType.Assign, new IdentifierExpression(w.ParameterName)))
                                 );
                }
            }

            AnchorElement parameterListElement = insertionContext.ActiveElements
                                                 .OfType <AnchorElement>()
                                                 .FirstOrDefault(item => item.Name.Equals("parameterList", StringComparison.OrdinalIgnoreCase));

            if (parameterListElement != null)
            {
                StringBuilder pList = new StringBuilder();

                var parameters = filtered
                                 .Select(p => new ParameterDeclaration(refactoringContext.CreateShortType(p.Type), p.ParameterName))
                                 .ToList();

                using (StringWriter textWriter = new StringWriter(pList)) {
                    // Output parameter list as string
                    var formattingOptions             = CSharpFormattingPolicies.Instance.GetProjectOptions(refactoringContext.Compilation.GetProject());
                    CSharpOutputVisitor outputVisitor = new CSharpOutputVisitor(textWriter, formattingOptions.OptionsContainer.GetEffectiveOptions());
                    for (int i = 0; i < parameters.Count; i++)
                    {
                        if (i > 0)
                        {
                            textWriter.Write(",");
                        }
                        outputVisitor.VisitParameterDeclaration(parameters[i]);
                    }
                }

                parameterListElement.Text = pList.ToString();
            }

            return(null);
        }
Ejemplo n.º 20
0
		void updateChatPicUI()
		{
			if (elementsInitialised)
			{
				if (hasTopPhoto)
				{
					if (chatPicHolder != null)
					{
						chatPicHolder.Style.Display = "none";
					}
					return;
				}
				if (hasChatPic)
				{
					if (chatPicHolder == null)
					{
						chatPicHolder = Document.CreateElement("div");
					//	chatPicHolder.ClassName = "ChatClientChatPicHolder";
					//	chatPicHolder.Style.Position = "relative";
					//	chatPicHolder.Style.Width = "300px";
					//	if (Misc.BrowserIsIE)
					//		chatPicHolder.Style.Height = "102px";
					//	else
					//		chatPicHolder.Style.Height = "101px";
					//	chatPicHolder.Style.BorderBottom = "1px solid #cba21e";
						MesssagesElementHolder.InsertBefore(chatPicHolder, MesssagesElementHolder.ChildNodes[0]);

						chatPicAnchor = (AnchorElement)Document.CreateElement("a");

						chatPicImage = (ImageElement)Document.CreateElement("img");
						chatPicImage.ClassName = "ChatClientChatPicImage";
					//	chatPicImage.Style.Position = "absolute";
					//	chatPicImage.Style.Top = "1px";
					//	chatPicImage.Style.Left = "0px";
					//	chatPicImage.Style.Width = "300px";
					//	chatPicImage.Style.Height = "100px";
						//chatPicImage.Style.BorderWidth = "0px";
						//chatPicImage.Style.BorderBottom = "1px solid #cba21e";

						chatPicAnchor.AppendChild(chatPicImage);
						chatPicHolder.AppendChild(chatPicAnchor);
					}

					chatPicImage.Src = Misc.GetPicUrlFromGuid(chatPic);

					DomEvent.ClearHandlers(chatPicImage);
					DomEvent.AddHandler(chatPicImage, "mouseover", delegate { Script.Eval("stmun(" + chatPicStmuParams + ");"); });
					DomEvent.AddHandler(chatPicImage, "mouseout", delegate { Script.Literal("htm();"); });

					chatPicAnchor.Href = chatPicUrl;
				}
				else
				{
					if (chatPicHolder != null)
						chatPicHolder.Style.Display = "none";
				}
			}
		}
Ejemplo n.º 21
0
		void updateTopPhotoUI()
		{
			if (elementsInitialised)
			{
				if (hasTopPhoto)
				{
					if (topPhotoHolder == null)
					{
						topPhotoHolder = Document.CreateElement("div");
						topPhotoHolder.Style.Position = "relative";
						topPhotoHolder.Style.Width = "280px";
						topPhotoHolder.Style.Height = "120px";
						MesssagesElementHolder.InsertBefore(topPhotoHolder, MesssagesElementHolder.ChildNodes[0]);

						topPhotoAnchor = (AnchorElement)Document.CreateElement("a");
						topPhotoAnchor.Style.Position = "absolute";
						topPhotoAnchor.Style.Top = "9px";
						topPhotoAnchor.Style.Left = "96px";
						
						topPhotoImage = (ImageElement)Document.CreateElement("img");
						topPhotoImage.ClassName = "BorderBlack All";
						topPhotoImage.Style.Width = "100px";
						topPhotoImage.Style.Height = "100px";

						topPhotoAnchor.AppendChild(topPhotoImage);
						topPhotoHolder.AppendChild(topPhotoAnchor);

						DOMElement txtSpan = Document.CreateElement("span");
						txtSpan.Style.TextAlign = "right";
						txtSpan.InnerHTML = "<small><a href=\"/pages/frontpagephotos\">Get&nbsp;yours<br />here!</a></small>";
						txtSpan.Style.Position = "absolute";
						txtSpan.Style.Top = "7px";
						txtSpan.Style.Left = "225px";
						txtSpan.ClassName = "CleanLinks";
						topPhotoHolder.AppendChild(txtSpan);

						DOMElement txtSpan1 = Document.CreateElement("span");
						txtSpan1.Style.TextAlign = "left";
						txtSpan1.InnerHTML = "<small>Chat&nbsp;about<br />this:</small>";
						txtSpan1.Style.Position = "absolute";
						txtSpan1.Style.Top = "7px";
						txtSpan1.Style.Left = "5px";
						topPhotoHolder.AppendChild(txtSpan1);
					}

					topPhotoImage.Src = Misc.GetPicUrlFromGuid(topPhoto.PhotoIcon);
					//topPhotoImage.Src = Misc.GetPicUrlFromGuid(topPhoto.PhotoThumb);
					//topPhotoImage.Style.Width = topPhoto.PhotoThumbWidth.ToString() + "px";
					//topPhotoImage.Style.Height = topPhoto.PhotoThumbHeight.ToString() + "px";

					DomEvent.ClearHandlers(topPhotoImage);
					DomEvent.AddHandler(topPhotoImage, "mouseover", delegate { Script.Eval("stm('<img src=" + Misc.GetPicUrlFromGuid(topPhoto.PhotoWeb) + " width=" + topPhoto.PhotoWebWidth.ToString() + " height=" + topPhoto.PhotoWebHeight.ToString() + " class=Block />');"); });
					DomEvent.AddHandler(topPhotoImage, "mouseout", delegate { Script.Literal("htm();"); });

					topPhotoAnchor.Href = topPhoto.PhotoUrl;



				}

			}
		}
Ejemplo n.º 22
0
        protected override string GenerateCode(LanguageProperties language, IClass currentClass)
        {
            IDocumentLine line   = editor.Document.GetLineForOffset(anchor.Offset);
            string        indent = DocumentUtilitites.GetWhitespaceAfter(editor.Document, line.Offset);

            List <PropertyOrFieldWrapper> filtered = this.varList.SelectedItems.OfType <PropertyOrFieldWrapper>()
                                                     .OrderBy(p => p.Index)
                                                     .ToList();

            BlockStatement block = new BlockStatement();

            foreach (PropertyOrFieldWrapper w in filtered)
            {
                if (w.AddCheckForNull)
                {
                    // true = reference, null = generic or unknown
                    if (w.Type.IsReferenceType != false)
                    {
                        block.AddChild(
                            new IfElseStatement(
                                new BinaryOperatorExpression(new IdentifierExpression(w.ParameterName), BinaryOperatorType.Equality, new PrimitiveExpression(null)),
                                new ThrowStatement(new ObjectCreateExpression(new TypeReference("ArgumentNullException"), new List <Expression>()
                        {
                            new PrimitiveExpression(w.ParameterName, '"' + w.ParameterName + '"')
                        }))
                                )
                            );
                    }
                    else
                    {
                        block.AddChild(
                            new IfElseStatement(
                                new UnaryOperatorExpression(new MemberReferenceExpression(new IdentifierExpression(w.MemberName), "HasValue"), UnaryOperatorType.Not),
                                new ThrowStatement(new ObjectCreateExpression(new TypeReference("ArgumentNullException"), new List <Expression>()
                        {
                            new PrimitiveExpression(w.ParameterName, '"' + w.ParameterName + '"')
                        }))
                                )
                            );
                    }
                }
                if (w.AddRangeCheck)
                {
                    block.AddChild(
                        new IfElseStatement(
                            new BinaryOperatorExpression(
                                new BinaryOperatorExpression(new IdentifierExpression(w.ParameterName), BinaryOperatorType.LessThan, new IdentifierExpression("lower")),
                                BinaryOperatorType.LogicalOr,
                                new BinaryOperatorExpression(new IdentifierExpression(w.ParameterName), BinaryOperatorType.GreaterThan, new IdentifierExpression("upper"))
                                ),
                            new ThrowStatement(
                                new ObjectCreateExpression(
                                    new TypeReference("ArgumentOutOfRangeException"),
                                    new List <Expression>()
                    {
                        new PrimitiveExpression(w.ParameterName, '"' + w.ParameterName + '"'), new IdentifierExpression(w.ParameterName), new BinaryOperatorExpression(new PrimitiveExpression("Value must be between "), BinaryOperatorType.Concat, new BinaryOperatorExpression(new IdentifierExpression("lower"), BinaryOperatorType.Concat, new BinaryOperatorExpression(new PrimitiveExpression(" and "), BinaryOperatorType.Concat, new IdentifierExpression("upper"))))
                    }
                                    )
                                )
                            )
                        );
                }
            }

            foreach (PropertyOrFieldWrapper w in filtered)
            {
                block.AddChild(new ExpressionStatement(new AssignmentExpression(new MemberReferenceExpression(new ThisReferenceExpression(), w.MemberName), AssignmentOperatorType.Assign, new IdentifierExpression(w.ParameterName))));
            }

            AnchorElement parameterListElement = context.ActiveElements
                                                 .OfType <AnchorElement>()
                                                 .FirstOrDefault(item => item.Name.Equals("parameterList", StringComparison.OrdinalIgnoreCase));

            if (parameterListElement != null)
            {
                StringBuilder pList = new StringBuilder();

                var parameters = filtered
                                 .Select(p => new ParameterDeclarationExpression(ConvertType(p.Type), p.ParameterName))
                                 .ToList();

                for (int i = 0; i < parameters.Count; i++)
                {
                    if (i > 0)
                    {
                        pList.Append(", ");
                    }
                    pList.Append(language.CodeGenerator.GenerateCode(parameters[i], ""));
                }

                parameterListElement.Text = pList.ToString();
            }

            StringBuilder builder = new StringBuilder();

            foreach (var element in block.Children.OfType <AbstractNode>())
            {
                builder.Append(language.CodeGenerator.GenerateCode(element, indent));
            }

            return(builder.ToString().Trim());
        }
Ejemplo n.º 23
0
 public LinkLabel()
 {
     InternalElement        = new AnchorElement();
     InternalElement.Click += OnClick;
     PerformLayout();
 }
Ejemplo n.º 24
0
        private HtmlElement CreateFor(XElement element)
        {
            HtmlElement result;

            switch (element.Name.LocalName.ToLower())
            {
            case "form":
                result = new FormElement(element);
                break;

            case "input":
                string type = element.GetAttribute("type") ?? "";
                switch (type.ToLower())
                {
                case "radio":
                    result = new RadioInputElement(element);
                    break;

                case "checkbox":
                    result = new CheckboxInputElement(element);
                    break;

                case "submit":
                case "image":
                case "button":
                    string buttonType = element.GetAttribute("type");
                    result = new ButtonInputElement(element);
                    break;

                case "file":
                    result = new FileUploadElement(element);
                    break;

                default:
                    result = new InputElement(element);
                    break;
                }
                break;

            case "textarea":
                result = new TextAreaElement(element);
                break;

            case "select":
                result = new SelectElement(element);
                break;

            case "option":
                result = new OptionElement(element);
                break;

            case "iframe":
            case "frame":
                result = new FrameElement(element);
                break;

            case "a":
                result = new AnchorElement(element);
                break;

            case "label":
                result = new LabelElement(element);
                break;

            case "button":
                result = new ButtonInputElement(element);
                break;

            default:
                result = new HtmlElement(element);
                break;
            }
            _allActiveElements.Add(result);
            return(result);
        }
Ejemplo n.º 25
0
		public static bool WhenLoggedInAnchor(AnchorElement anchor)
		{
			PageImplementation.LogInTransfer(anchor.Href);
			return false;
		}
Ejemplo n.º 26
0
 public Line(AnchorElement from, AnchorElement to, Canvas canvas)
     : base(from, to, canvas)
 {
 }
Ejemplo n.º 27
0
        private void LeftMouseDown(MouseEventArgs e)
        {
            Point currentLocation = e.Location;

            this._clickLocation = currentLocation;
            Element.Element currentSelected = null;

            #region 节点Select检查
            for (int idx = this._nodes.Count - 1; idx >= 0; idx--)
            {
                NodeElement node = this._nodes[idx];
                if (node.CaughtBy(currentLocation))
                {
                    currentSelected = node;
                    break;
                }
                else
                {
                    AnchorElement anchor = node.AnchorCaughtBy(currentLocation);
                    if (anchor != null)
                    {
                        currentSelected = anchor;
                        break;
                    }
                }
            }
            #endregion

            #region 连接Select检查
            for (int idx = this._connections.Count - 1; idx >= 0; idx--)
            {
                ConnectionElement conn = this._connections[idx];
                if (conn.CaughtBy(currentLocation))
                {
                    currentSelected = conn;
                    break;
                }
            }
            #endregion

            #region 更新当前被选择的元素
            if (currentSelected != this._theSelected)
            {
                if (currentSelected != null)
                {
                    currentSelected.Selected = true;
                }
                if (this._theSelected != null)
                {
                    this._theSelected.Selected = false;
                }
                this._theSelected = currentSelected;
            }
            #endregion

            this._dragging = true;
            // 若为锚点,则开始进行连接行为
            if (!(this._theSelected is AnchorElement from))
            {
                return;
            }
            AnchorElement     tempTo   = ElementFactory.AnchorElement(currentLocation.X, currentLocation.Y, null, this);
            ConnectionElement tempConn = ElementFactory.ConnectionElement(@from, tempTo, this);
            this._tempConnection = tempConn;
            @from.Selected       = false;
            tempTo.Selected      = true;
            this._theSelected    = tempTo;
        }
Ejemplo n.º 28
0
 public extern static AngularAnchorElement Angular(this AnchorElement el);
Ejemplo n.º 29
0
        private static void LoadPlayArea()
        {
            var menuDiv = new DivElement
            {
                Id = "menu"
            };

            var pressStartTitle = new AnchorElement
            {
                Href      = "javascript:BridgeTetris.Tetris.play()",
                InnerHTML = "Press Space to Play."
            };

            menuDiv.AppendChild(BridgeTetris.Tetris.InsideParagraph(pressStartTitle, "start"));

            var nextPieceCanvas = new CanvasElement
            {
                Id = "upcoming"
            };

            menuDiv.AppendChild(BridgeTetris.Tetris.InsideParagraph(nextPieceCanvas));

            var scoreParagraph = new List <Node>();

            scoreParagraph.Add(new LabelElement
            {
                InnerHTML = "score "
            });

            scoreParagraph.Add(new SpanElement
            {
                Id        = "score",
                InnerHTML = "00000"
            });

            menuDiv.AppendChild(BridgeTetris.Tetris.InsideParagraph(scoreParagraph));

            var rowsParagraph = new List <Node>();

            rowsParagraph.Add(new LabelElement
            {
                InnerHTML = "rows "
            });

            rowsParagraph.Add(new SpanElement
            {
                Id        = "rows",
                InnerHTML = "0"
            });

            menuDiv.AppendChild(BridgeTetris.Tetris.InsideParagraph(rowsParagraph));

            var tetrisCourtCanvas = new CanvasElement
            {
                Id     = "canvas",
                Width  = 200,
                Height = 400
            };

            var tetrisDiv = new DivElement
            {
                Id = "tetris"
            };

            tetrisDiv.AppendChild(menuDiv);
            tetrisDiv.AppendChild(tetrisCourtCanvas);

            Document.Body.AppendChild(tetrisDiv);
        }
Ejemplo n.º 30
0
 public static ConnectionElement ConnectionElement(AnchorElement from, AnchorElement to, Canvas canvas)
 {
     return(new Line(from, to, canvas));
 }