Example #1
0
 /// <summary>
 /// Loads the widget container (either the one located in the theme folder, or the default one if
 /// a theme widget container is missing), and adds the Widget to the widget container.
 /// </summary>
 public static WidgetContainer GetWidgetContainer(
     WidgetBase widgetControl)
 {
     return(GetWidgetContainer(widgetControl, DoesThemeWidgetContainerExist(true), GetThemeWidgetContainerVirtualPath(false)));
 }
        /// <summary>
        /// Loads the widget container (either the one located in the theme folder, or the default one if
        /// a theme widget container is missing), and adds the Widget to the widget container.
        /// </summary>
        public static WidgetContainer GetWidgetContainer(
            WidgetBase widgetControl, bool widgetContainerExists,
            string widgetContainerVirtualPath)
        {
            // If a custom WidgetContainer can't be found, create a new DefaultWidgetContainer instance as it
            // provides backwards compatibility with existing themes that may have depended on WidgetBase's
            // old rendering method.
            var widgetContainer = widgetContainerExists ? (WidgetContainer)widgetControl.Page.LoadControl(widgetContainerVirtualPath) : new DefaultWidgetContainer();

            widgetContainer.ID = "widgetContainer" + widgetControl.ID;
            widgetContainer.Widget = widgetControl;

            return widgetContainer;
        }
 /// <summary>
 /// Loads the widget container (either the one located in the theme folder, or the default one if
 /// a theme widget container is missing), and adds the Widget to the widget container.
 /// </summary>
 public static WidgetContainer GetWidgetContainer(
     WidgetBase widgetControl)
 {
     return GetWidgetContainer(widgetControl, DoesThemeWidgetContainerExist(true), GetThemeWidgetContainerVirtualPath(false));
 }
        /// <summary>
        /// Saves the new widget to the XML file.
        /// </summary>
        /// <param name="widget">
        /// The widget to add.
        /// </param>
        /// <param name="zone">
        /// The zone a widget is being added to.
        /// </param>
        private void SaveNewWidget(WidgetBase widget, string zone)
        {
            var doc = this.GetXmlDocument(zone);
            XmlNode node = doc.CreateElement("widget");
            node.InnerText = widget.Name;

            var id = doc.CreateAttribute("id");
            id.InnerText = widget.WidgetId.ToString();
            if (node.Attributes != null)
            {
                node.Attributes.Append(id);
            }

            var title = doc.CreateAttribute("title");
            title.InnerText = widget.Title;
            if (node.Attributes != null)
            {
                node.Attributes.Append(title);
            }

            var show = doc.CreateAttribute("showTitle");
            show.InnerText = "True";
            if (node.Attributes != null)
            {
                node.Attributes.Append(show);
            }

            var widgets = doc.SelectSingleNode("widgets");
            if (widgets != null)
            {
                widgets.AppendChild(node);
            }

            this.SaveXmlDocument(doc, zone);
        }