public mainwindow(IXwtRender xwtrender)
        {
            this.xwtrender = xwtrender;

            this.Title   = $"Xwt Demo Application {Xwt.Toolkit.CurrentEngine.Type}";
            this.Width   = 150; this.Height = 150;
            this.Padding = 0;

            this.CloseRequested += (s, e) => { if (!closing)
                                               {
                                                   e.AllowClose = this.close();
                                               }
            };

            var menu = new Menu();
            var file = new MenuItem("_File");

            file.SubMenu = new Menu();
            file.SubMenu.Items.Add(UIHelpers.NewMenuItem("New window", new_mainwindow));
            file.SubMenu.Items.Add(UIHelpers.NewMenuItem("New testdoc", new_testdoc));
            file.SubMenu.Items.Add(UIHelpers.NewMenuItem("New toolbar", new_toolbar));
            file.SubMenu.Items.Add(UIHelpers.NewMenuItem("New google", new_webview));
            file.SubMenu.Items.Add(UIHelpers.NewMenuItem("New opentk", new_opentk));
            file.SubMenu.Items.Add(UIHelpers.NewMenuItem("New opentk2", new_opentk2));
            file.SubMenu.Items.Add(UIHelpers.NewMenuItem("New properties", new_properties));
            //   file.SubMenu.Items.Add(new MenuItem("_Open"));
            //    file.SubMenu.Items.Add(new MenuItem("_New"));
            var mi = new MenuItem("_Close");

            mi.Clicked += (s, e) => { if (this.close())
                                      {
                                          base.Close();
                                      }
                                      ; };
            file.SubMenu.Items.Add(mi);
            menu.Items.Add(file);


            var dockmenu = new MenuItem("Dock")
            {
                SubMenu = new Menu()
            };

            dockmenu.SubMenu.Items.Add(UIHelpers.NewMenuItem("save layout to disk", save_layout));
            dockmenu.SubMenu.Items.Add(UIHelpers.NewMenuItem("load layout from disk", load_layout));
            menu.Items.Add(dockmenu);

            this.MainMenu = menu;
            this.Content  = dock = new DockPanel(this, Program.Xwt);

            try
            {
                dock.LoadXml(settingsfile, true, Deserialize);
            }
            catch
            {
                dock.Dock(new testdockitem());
                dock.Dock(new testtoolitem(this), DockPosition.Top);
                dock.Dock(new IDockContent[] { new testtoolitem(this), new testtoolitem(this), new testtoolitem(this), new testtoolitem(this), new testtoolitem(this) }, DockPosition.Top);
            }
        }
 void new_mainwindow(object sender, EventArgs e)
 {
     UIHelpers.NewWindow();
 }