Esempio n. 1
0
        protected override void LayoutContentControls(LayoutGroupTemplateContainer templateContainer, IList <Control> controlsToLayout)
        {
            base.LayoutContentControls(templateContainer, controlsToLayout);
            return; LayoutGroupTemplateContainer layoutGroupTemplateContainer = (LayoutGroupTemplateContainer)templateContainer;
            if (layoutGroupTemplateContainer.ShowCaption)
            {
                Panel panel = new Panel();
                panel.Style.Add(HtmlTextWriterStyle.Padding, "2px 0px 2px 0px");
                ASPxRoundPanel roundPanel = new ASPxRoundPanel();
                roundPanel.Width      = Unit.Percentage(100);
                roundPanel.ShowHeader = layoutGroupTemplateContainer.ShowCaption;
                if (layoutGroupTemplateContainer.HasHeaderImage)
                {
                    ASPxImageHelper.SetImageProperties(roundPanel.HeaderImage, layoutGroupTemplateContainer.HeaderImageInfo);
                }
                roundPanel.ShowCollapseButton = true;
                roundPanel.CornerRadius       = 0;

                roundPanel.HeaderText = layoutGroupTemplateContainer.Caption;
                panel.Controls.Add(roundPanel);
                templateContainer.Controls.Add(panel);
                foreach (Control control in controlsToLayout)
                {
                    roundPanel.Controls.Add(control);
                }
            }
            else
            {
                foreach (Control control in controlsToLayout)
                {
                    templateContainer.Controls.Add(control);
                }
            }
        }
        private Control CreateCollapsibleCardGroup(LayoutGroupTemplateContainer templateContainer, LayoutItemCSSInfoBase layoutCssInfo)
        {
            ASPxRoundPanel cardPanel = new ASPxRoundPanel();

            cardPanel.ID             = WebIdHelper.GetCorrectedLayoutItemId(templateContainer.Model, "", "_CardTable");
            cardPanel.BorderWidth    = Unit.Empty;
            cardPanel.HeaderTemplate = new CustomTemplate(templateContainer);

            new CollapsibleCardGroupSynchronizer(templateContainer, cardPanel);
            if (layoutCssInfo.ParentDirection == FlowDirection.Horizontal)
            {
                cardPanel.CssClass = layoutCssInfo.EditorContainerCssClassName;
            }
            else
            {
                cardPanel.CssClass = layoutCssInfo.CardCssClassNameCore;
            }
            SetCustomCSSClass(templateContainer.Model, cardPanel);
            WebControl cardGroupContent = new WebControl(HtmlTextWriterTag.Div);

            cardGroupContent.CssClass = CardGroupContentCssClassName;
            if ((!templateContainer.IsOnTabPage || templateContainer.ParentGroupDirection == FlowDirection.Vertical))
            {
                cardGroupContent.CssClass += " CollapsibleContent";
                cardPanel.AllowCollapsingByHeaderClick = false;
                cardPanel.ShowCollapseButton           = true;
                cardPanel.HeaderStyle.CssClass         = "GroupHeader Label";


                if (templateContainer.HasHeaderImage)
                {
                    cardPanel.HeaderImage.AlternateText = templateContainer.Caption;
                    ASPxImageHelper.SetImageProperties(cardPanel.HeaderImage, templateContainer.HeaderImageInfo);
                }
                if (templateContainer.ShowCaption)
                {
                    if (WebApplicationStyleManager.EnableGroupUpperCase)
                    {
                        cardPanel.HeaderText = templateContainer.Caption.ToUpper();
                    }
                    else
                    {
                        cardPanel.HeaderText = templateContainer.Caption;
                    }
                }
                else
                {
                    cardPanel.HeaderText = "";
                }
                ((ISupportToolTip)this).SetToolTip(cardPanel, templateContainer.Model);
            }
            else
            {
                cardPanel.ShowHeader = false;
            }
            cardPanel.Controls.Add(cardGroupContent);
            templateContainer.Controls.Add(cardPanel);
            return(cardGroupContent);
        }
 private void panel_Unload(object sender, EventArgs e)
 {
     if (panel != null)
     {
         ((IModelLayoutGroupWeb)templateContainer.Model).IsCardGroupCollapsed = panel.Collapsed;
         templateContainer = null;
         panel.Unload     -= panel_Unload;
         panel             = null;
     }
 }
 public CollapsibleCardGroupSynchronizer(LayoutGroupTemplateContainer templateContainer, ASPxRoundPanel panel)
 {
     this.templateContainer = templateContainer;
     this.panel             = panel;
     panel.Collapsed        = ((IModelLayoutGroupWeb)templateContainer.Model).IsCardGroupCollapsed;
     if (WebApplication.OptimizationSettings.LockRecoverViewStateOnNavigationCallback || WebApplication.OptimizationSettings.UseFastCallbackHandlers)
     {
         panel.ClientSideEvents.CollapsedChanged = "function(s,e) { xaf.LayoutManagementController.CollapsiblePanelCollapsedChanged(s, e); }";
     }
     panel.Unload += panel_Unload;
 }
Esempio n. 5
0
        protected override void LayoutContentControls(LayoutGroupTemplateContainer templateContainer, IList <Control> controlsToLayout)
        {
            LayoutGroupTemplateContainer layoutGroupTemplateContainer = (LayoutGroupTemplateContainer)templateContainer;

            if (layoutGroupTemplateContainer.ShowCaption)
            {
                // Outer Panel for setting the default style
                ASPxPanel outerPanel = new ASPxPanel();
                outerPanel.Style.Add(HtmlTextWriterStyle.Padding, "10px 5px 10px 5px");

                // Round Panel containing the Content Panel
                ASPxRoundPanel roundPanel = new ASPxRoundPanel();
                roundPanel.Width      = Unit.Percentage(100);
                roundPanel.ShowHeader = layoutGroupTemplateContainer.ShowCaption;
                if (layoutGroupTemplateContainer.HasHeaderImage)
                {
                    ASPxImageHelper.SetImageProperties(roundPanel.HeaderImage, layoutGroupTemplateContainer.HeaderImageInfo);
                }

                // Content Panel
                ASPxPanel contentPanel = new ASPxPanel();
                contentPanel.ClientInstanceName = templateContainer.Model.Id + "_ContentPanel";

                // Set the RoundPanel Header Template
                roundPanel.HeaderTemplate = new HeaderTemplateEx(layoutGroupTemplateContainer.Caption, contentPanel);

                // Populate the controls
                roundPanel.Controls.Add(contentPanel);
                outerPanel.Controls.Add(roundPanel);
                templateContainer.Controls.Add(outerPanel);
                foreach (Control control in controlsToLayout)
                {
                    contentPanel.Controls.Add(control);
                }
            }
            else
            {
                foreach (Control control in controlsToLayout)
                {
                    templateContainer.Controls.Add(control);
                }
            }
        }
Esempio n. 6
0
        public void ApplyGroupControlStyle(LayoutGroupTemplateContainer layoutGroupTemplateContainer)
        {
            var layoutStyle      = ((IModelLayoutStyle)layoutGroupTemplateContainer.Model);
            var containerControl = layoutGroupTemplateContainer.Controls.OfType <WebControl>().FirstOrDefault();

            if (containerControl != null)
            {
                var groupTemplateContainer = LayoutGroupTemplateContainer(containerControl, 0);
                if (groupTemplateContainer != null)
                {
                    ApplyStyle((IModelLayoutStyle)groupTemplateContainer.Model, (WebControl)groupTemplateContainer.Parent);
                    groupTemplateContainer = LayoutGroupTemplateContainer(containerControl, 1);
                    if (groupTemplateContainer != null)
                    {
                        ApplyStyle((IModelLayoutStyle)groupTemplateContainer.Model, (WebControl)groupTemplateContainer.Parent);
                    }
                }

                ApplyStyle(layoutStyle, containerControl);
            }
        }
Esempio n. 7
0
 protected override void LayoutContentControls(LayoutGroupTemplateContainer layoutGroupTemplateContainer, IList <Control> controlsToLayout)
 {
     if (layoutGroupTemplateContainer.ShowCaption)
     {
         Panel panel = new Panel();
         panel.Style.Add(HtmlTextWriterStyle.Padding, "10px 5px 10px 5px");
         ASPxRoundPanel roundPanel = new ASPxRoundPanel();
         roundPanel.Width      = Unit.Percentage(100);
         roundPanel.HeaderText = layoutGroupTemplateContainer.Caption;
         if (layoutGroupTemplateContainer.HasHeaderImage)
         {
             ASPxImageHelper.SetImageProperties(roundPanel.HeaderImage, layoutGroupTemplateContainer.HeaderImageInfo);
         }
         AddControls(roundPanel.Controls, controlsToLayout);
         panel.Controls.Add(roundPanel);
         layoutGroupTemplateContainer.Controls.Add(panel);
     }
     else
     {
         AddControls(layoutGroupTemplateContainer.Controls, controlsToLayout);
     }
 }
        private Control CreateCardGroup(LayoutGroupTemplateContainer templateContainer, LayoutItemCSSInfoBase itemCssInfo)
        {
            Table cardTable = RenderHelper.CreateTable();

            cardTable.BorderWidth = Unit.Empty;
            if (itemCssInfo.ParentDirection == FlowDirection.Horizontal)
            {
                cardTable.CssClass = itemCssInfo.EditorContainerCssClassName;
            }
            else
            {
                cardTable.CssClass = itemCssInfo.CardCssClassNameCore;
            }
            SetCustomCSSClass(templateContainer.Model, cardTable);
            cardTable.ID = WebIdHelper.GetCorrectedLayoutItemId(templateContainer.Model, "", "_CardTable");
            TableRow headerRow = new TableRow();

            headerRow.VerticalAlign = VerticalAlign.Top;
            cardTable.Rows.Add(headerRow);
            TableRow contentRow = new TableRow();

            contentRow.VerticalAlign = VerticalAlign.Top;
            cardTable.Rows.Add(contentRow);
            WebControl header = CreateLayoutContentHeader(templateContainer, itemCssInfo.CardItem);

            if (header != null)
            {
                TableCell headerCell = new TableCell();
                headerRow.Cells.Add(headerCell);
                headerCell.Controls.Add(header);
            }
            TableCell contentCell = new TableCell();

            contentCell.CssClass = CardGroupContentCssClassName;
            contentRow.Cells.Add(contentCell);
            templateContainer.Controls.Add(cardTable);
            return(contentCell);
        }
        protected override void LayoutContentControls(LayoutGroupTemplateContainer templateContainer,
                                                      IList <Control> controlsToLayout)
        {
            Control               contentContainer = templateContainer;
            LayoutCSSInfo         layoutCssInfo    = templateContainer.LayoutManager.LayoutCSSInfo;
            LayoutItemCSSInfoBase itemCssInfo      = layoutCssInfo?.GetCssInfo(templateContainer.Model);

            if (itemCssInfo != null && itemCssInfo.CardItem)
            {
                if (((IModelLayoutGroupWeb)templateContainer.Model).IsCollapsibleCardGroup)
                {
                    contentContainer = CreateCollapsibleCardGroup(templateContainer, itemCssInfo);
                }
                else
                {
                    contentContainer = CreateCardGroup(templateContainer, itemCssInfo);
                }
            }
            else
            {
                WebControl header = CreateLayoutContentHeader(templateContainer, false);
                if (header != null)
                {
                    templateContainer.Controls.Add(header);
                }
            }

            foreach (Control control in controlsToLayout)
            {
                if (templateContainer.LayoutManager.DelayedItemsInitialization &&
                    control is LayoutItemTemplateContainerBase @base)
                {
                    @base.Instantiate();
                }

                contentContainer.Controls.Add(control);
            }
        }
        private WebControl CreateLayoutContentHeader(LayoutGroupTemplateContainer templateContainer, bool isCardItem)
        {
            WebControl div = null;

            if (templateContainer.ShowCaption && (!templateContainer.IsOnTabPage || templateContainer.ParentGroupDirection == FlowDirection.Vertical))
            {
                div          = new WebControl(HtmlTextWriterTag.Div);
                div.CssClass = "GroupHeader";
                if (templateContainer.HasHeaderImage)
                {
                    WebControl imageDiv    = new WebControl(HtmlTextWriterTag.Div);
                    ASPxImage  imageHeader = new ASPxImage();
                    imageDiv.Controls.Add(imageHeader);
                    imageHeader.CssClass = "Image";
                    ASPxImageHelper.SetImageProperties(imageHeader, templateContainer.HeaderImageInfo);
                    imageHeader.AlternateText = templateContainer.Caption;
                    div.Controls.Add(imageDiv);
                }
                WebControl labelDiv = new WebControl(HtmlTextWriterTag.Div);
                Label      label    = new Label();
                labelDiv.Controls.Add(label);
                if (isCardItem && WebApplicationStyleManager.IsNewStyle && WebApplicationStyleManager.EnableGroupUpperCase)
                {
                    label.Text = templateContainer.Caption.ToUpper();
                }
                else
                {
                    label.Text = templateContainer.Caption;
                }
                ((ISupportToolTip)this).SetToolTip(label, templateContainer.Model);
                templateContainer.CaptionControl = label;
                label.CssClass = "Label";
                div.Controls.Add(labelDiv);
            }
            return(div);
        }
 public CustomTemplate(LayoutGroupTemplateContainer templateContainer)
 {
     _templateContainer = templateContainer;
 }