/// <summary> /// creates the controls needed for architecture - edit panel(s) structure, manage panels globally and so on and fills it into provided container /// </summary> /// <param name="container"></param> void CreatePanelHeading(WC.WebControl container) { WC.Panel heading = new WC.Panel(); if (activePanel is MPanel) { Label panelName = new Label(); panelName.CssClass = "panelHeading"; panelName.Text = activePanel.panelName; heading.Controls.Add(panelName); } if (CE.GlobalState == GlobalState.Architect) { LinkButton editMenuLink = new LinkButton(); editMenuLink.PostBackUrl = editMenuLink.GetRouteUrl("ArchitectEditMenuRoute", new { projectName = CE.project.Name }); editMenuLink.Text = "Edit menu structure"; editMenuLink.CausesValidation = false; heading.Controls.Add(editMenuLink); LinkButton editPanelsLink = new LinkButton(); editPanelsLink.PostBackUrl = editPanelsLink.GetRouteUrl("ArchitectEditPanelsRoute", new { projectName = CE.project.Name }); editPanelsLink.Text = "Include & exclude tables"; editPanelsLink.CausesValidation = false; heading.Controls.Add(editPanelsLink); if (activePanel is MPanel) { if (activePanel.type == PanelTypes.Editable) { LinkButton editEditableLink = new LinkButton(); editEditableLink.PostBackUrl = editEditableLink.GetRouteUrl("ArchitectEditEditableRoute", new { projectName = mm.ProjectName, panelid = Page.RouteData.Values["panelId"] }); editEditableLink.Text = "Edit panel structure"; editEditableLink.CausesValidation = false; heading.Controls.Add(editEditableLink); } else { LinkButton editNavLink = new LinkButton(); editNavLink.PostBackUrl = editNavLink.GetRouteUrl("ArchitectEditNavRoute", new { projectName = CE.project.Name, panelid = Page.RouteData.Values["panelId"] }); editNavLink.Text = "Edit panel structure"; editNavLink.CausesValidation = false; heading.Controls.Add(editNavLink); } } LinkButton reproposeLink = new LinkButton(); reproposeLink.CausesValidation = false; reproposeLink.Click += Repropose_Click; reproposeLink.Text = "Repropose"; reproposeLink.OnClientClick = "return confirm('Think twice')"; heading.Controls.Add(reproposeLink); } heading.CssClass = "panelHeading"; if (heading.Controls.Count > 0) { container.Controls.Add(heading); WC.Panel clear = new WC.Panel(); clear.CssClass = "clear"; container.Controls.Add(clear); } }