示例#1
0
        protected override void OnStartDemo(SampleViewport viewport)
        {
            ////==================================================
            //html box
            var           htmlHost  = HtmlHostCreatorHelper.CreateHtmlHost(viewport, null, null);
            var           htmlBox   = new HtmlBox(htmlHost, 800, 400);
            StringBuilder stbuilder = new StringBuilder();

            stbuilder.Append("<html><head></head><body>");
            stbuilder.Append("<div>custom box1</div>");
            stbuilder.Append("<x id=\"my_custombox1\"></x>");
            stbuilder.Append("<div>custom box2</div>");
            stbuilder.Append("<x type=\"textbox\" id=\"my_custombox1\"></x>");
            stbuilder.Append("</body></html>");
            htmlBox.LoadHtmlString(stbuilder.ToString());
            viewport.AddChild(htmlBox);
            //==================================================

            //textbox
            var textbox = new LayoutFarm.CustomWidgets.TextBox(400, 100, true);

            textbox.SetLocation(0, 200);
            viewport.AddChild(textbox);
            textbox.Focus();
        }
示例#2
0
        protected override void OnStartDemo(SampleViewport viewport)
        {
            htmlHost = HtmlHostCreatorHelper.CreateHtmlHost(viewport, null, null);
            ////==================================================
            //html box
            {
                HtmlBox lightHtmlBox = new HtmlBox(htmlHost, 800, 50);
                lightHtmlBox.SetLocation(50, 450);
                viewport.AddChild(lightHtmlBox);
                //light box can't load full html
                //all light boxs of the same lightbox host share resource with the host
                string html = @"<div>OK1</div><div>OK2</div>";
                //if you want to use full html-> use HtmlBox instead
                lightHtmlBox.LoadHtmlFragmentString(html);
            }
            //==================================================
            {
                HtmlBox lightHtmlBox2 = new HtmlBox(htmlHost, 800, 50);
                lightHtmlBox2.SetLocation(0, 60);
                viewport.AddChild(lightHtmlBox2);
                //light box can't load full html
                //all light boxs of the same lightbox host share resource with the host
                string html2 = @"<div>OK3</div><div>OK4</div>";
                //if you want to use ful l html-> use HtmlBox instead
                lightHtmlBox2.LoadHtmlFragmentString(html2);
            }
            //==================================================
            {
                HtmlBox lightHtmlBox3 = new HtmlBox(htmlHost, 800, 50);
                lightHtmlBox3.SetLocation(0, 100);
                viewport.AddChild(lightHtmlBox3);
                //fragment dom
                //create dom then to thie light box
                lightHtmlBox3.LoadHtmlDom(CreateSampleHtmlDoc());
            }
            //==================================================
            //textbox
            var textbox = new LayoutFarm.CustomWidgets.TextBox(400, 150, true);

            textbox.SetLocation(0, 200);
            viewport.AddChild(textbox);
            textbox.Focus();
        }
示例#3
0
        protected override void OnStartDemo(SampleViewport viewport)
        {
            var htmlhost = HtmlHostCreatorHelper.CreateHtmlHost(viewport, null, null);
            ////==================================================
            //html box
            var htmlBox = new HtmlBox(htmlhost, 800, 400);

            htmlBox.SetLocation(30, 30);
            viewport.AddChild(htmlBox);
            string html = @"<html><head></head><body><div>OK1</div><div>OK2</div></body></html>";

            htmlBox.LoadHtmlString(html);
            //==================================================

            //textbox
            var textbox = new LayoutFarm.CustomWidgets.TextBox(400, 100, true);

            textbox.SetLocation(0, 200);
            viewport.AddChild(textbox);
            textbox.Focus();
        }
        protected override void OnStartDemo(SampleViewport viewport)
        {
            this.viewport = viewport;
            this.htmlhost = HtmlHostCreatorHelper.CreateHtmlHost(viewport, null, null);
            SetupHtmlMenuBox();
            //==================================================
            //box1 test area
            //html box
            this.testHtmlBox = new HtmlBox(htmlhost, 800, 400);
            testHtmlBox.SetLocation(30, 50);
            viewport.AddChild(testHtmlBox);
            string html = @"<html><head></head><body><div id='div1'>OK1</div><div>OK2</div></body></html>";

            testHtmlBox.LoadHtmlString(html);
            //==================================================
        }
示例#5
0
        protected override void OnStartDemo(SampleViewport viewport)
        {
            var appPath = System.Windows.Forms.Application.ExecutablePath;
            int pos     = appPath.IndexOf("\\bin\\");

            if (pos > -1)
            {
                string sub01 = appPath.Substring(0, pos);
                imgFolderPath = sub01 + "\\images";
            }
            //==================================================
            //html box
            var htmlBox = new HtmlBox(GetHtmlHost(viewport), 800, 600);

            viewport.AddChild(htmlBox);
            string html = "<html><head></head><body><div>OK1</div><div>3 Images</div><img src=\"sample01.png\"></img><img src=\"sample01.png\"></img><img src=\"sample01.png\"></img></body></html>";

            htmlBox.LoadHtmlString(html);
        }
示例#6
0
        protected override void OnStartDemo(SampleViewport viewport)
        {
            //html box
            var contentMx = new LayoutFarm.ContentManagers.ImageContentManager();

            contentMx.ImageLoadingRequest += contentMx_ImageLoadingRequest;
            var host = HtmlHostCreatorHelper.CreateHtmlHost(viewport,
                                                            (s, e) => contentMx.AddRequestImage(e.ImageBinder),
                                                            contentMx_LoadStyleSheet);

            htmlBox = new HtmlBox(host, 1024, 800);
            viewport.AddChild(htmlBox);
            if (htmltext == null)
            {
                htmltext = @"<html><head></head><body>NOT FOUND!</body></html>";
            }

            htmlBox.LoadHtmlString(htmltext);
        }
        void SetupHtmlMenuBox()
        {
            //==================================================
            this.htmlMenuBox = new HtmlBox(htmlhost, 800, 40);
            htmlMenuBox.SetLocation(30, 0);
            viewport.AddChild(htmlMenuBox);
            string html = @"<html><head></head><body>
                    <div id='menubox'>
                        <span id='test_dom1'>click to toggle!</span>
                        <span id='test_dom2'>test document fragment</span>
                        <span id='test_dom3'>test showdow dom</span>
                    </div>
            </body></html>";

            htmlMenuBox.LoadHtmlString(html);
            //set event handlers
            var htmldoc     = htmlMenuBox.HtmlContainer.WebDocument as IHtmlDocument;
            var div_menuBox = htmldoc.getElementById("menubox") as IHtmlElement;

            if (div_menuBox == null)
            {
                return;
            }
            //test set innerHTML
            div_menuBox.attachEventListener("mousedown", (e) =>
            {
                var contextE = e.SourceHitElement as IHtmlElement;
                switch (contextE.id)
                {
                case "test_dom1":
                    {
                        //test toggle with innerHTML
                        var testHtmlDoc = testHtmlBox.HtmlContainer.WebDocument as IHtmlDocument;
                        var div1        = testHtmlDoc.getElementById("div1") as IHtmlElement;
                        if (div1 != null)
                        {
                            //test set innerHTML
                            div1.innerHTML = testToggle ?
                                             "<div>11111</div>" :
                                             "<div>22222</div>";
                            testToggle = !testToggle;
                        }
                    }
                    break;

                case "test_dom2":
                    {
                        //test toggle with DocumentFragment
                        var testHtmlDoc = testHtmlBox.HtmlContainer.WebDocument as IHtmlDocument;
                        var div1        = testHtmlDoc.getElementById("div1") as IHtmlElement;
                        if (div1 != null)
                        {
                            var docFragment = testHtmlDoc.createDocumentFragment();
                            if (testToggle)
                            {
                                var node1 = docFragment.createElement("div") as IHtmlElement;
                                node1.appendChild(
                                    docFragment.createTextNode("3333"));    //TODO: review this
                                docFragment.rootNode.appendChild(node1);
                            }
                            else
                            {
                                var node1 = docFragment.createElement("div") as IHtmlElement;
                                node1.appendChild(
                                    docFragment.createTextNode("4444"));    //TODO: review this
                                docFragment.rootNode.appendChild(node1);
                            }
                            div1.clear();
                            div1.appendChild(docFragment.rootNode);
                            testToggle = !testToggle;
                        }
                    }
                    break;

                case "test_dom3":
                    {
                        //shadow dom!
                        var testHtmlDoc = testHtmlBox.HtmlContainer.WebDocument as IHtmlDocument;
                        var div1        = testHtmlDoc.getElementById("div1") as IHtmlElement;
                        if (div1 != null)
                        {
                            var shadowRoot = testHtmlDoc.createShadowRootElement() as IHtmlElement;
                            if (testToggle)
                            {
                                var node1 = testHtmlDoc.createElement("div") as IHtmlElement;
                                node1.appendChild(
                                    testHtmlDoc.createTextNode("XXX"));    //TODO: review this
                                //add node1 to shadow root element
                                shadowRoot.appendChild(node1);
                            }
                            else
                            {
                                var node1 = testHtmlDoc.createElement("div") as IHtmlElement;
                                node1.appendChild(
                                    testHtmlDoc.createTextNode("YYY"));    //TODO: review this
                                //add node1 to shadow root element
                                shadowRoot.appendChild(node1);
                            }

                            div1.clear();
                            div1.appendChild(shadowRoot);
                            testToggle = !testToggle;
                        }
                    }
                    break;
                }
            });
        }