// Create a template from the content string and // put it in the selected view. public override void SetEditableDesignerRegionContent(EditableDesignerRegion region, string content) { if (content == null) { return; } // Get a reference to the designer host IDesignerHost host = (IDesignerHost)Component.Site.GetService(typeof(IDesignerHost)); if (host != null) { // Create a template from the content string ITemplate template = ControlParser.ParseTemplate(host, content); // Determine which region should get the template // Either 'Content0' or 'Content1' if (region.Name.EndsWith("0")) { myControl.View1 = template; } else if (region.Name.EndsWith("1")) { myControl.View2 = template; } } }
public override string GetEditableDesignerRegionContent(EditableDesignerRegion region) { IDesignerHost service = (IDesignerHost)CurrentControl.Site.GetService(typeof(IDesignerHost)); if (service != null) { if (region.Name == "Items") { StringBuilder sb = new StringBuilder(); foreach (ControlBase c in CurrentControl.Items) { sb.Append(ControlPersister.PersistControl(c, service)); } //sb.Append(ControlPersister.PersistControl(CurrentControl.Items[1], service)); //sb.Append("<ext:CheckBox runat=\"server\" Text=\"Click to postback\" Checked=\"True\" AutoPostBack=\"True\" Label=\"CheckBox\" ID=\"CheckBox1\" __designer:mapid=\"4\" OnCheckedChanged=\"CheckBox1_CheckedChanged\"></ext:CheckBox>"); //sb.Append("<ext:CheckBox runat=\"server\" Text=\"Click to postback\" Checked=\"True\" AutoPostBack=\"True\" Label=\"CheckBox\" ID=\"CheckBox1\" OnCheckedChanged=\"CheckBox1_CheckedChanged\"></ext:CheckBox>"); return(sb.ToString()); } else if (region.Name == "Toolbars") { StringBuilder sb = new StringBuilder(); foreach (Toolbar c in CurrentControl.Toolbars) { sb.Append(ControlPersister.PersistControl(c, service)); } return(sb.ToString()); } } return(String.Empty); }
public override void SetEditableDesignerRegionContent(EditableDesignerRegion region, string content) { IDesignerHost service = (IDesignerHost)base.Component.Site.GetService(typeof(IDesignerHost)); if (service != null) { if (region.Name == "Content") { Tab tab = CurrentControl.Tabs[CurrentControl.ActiveTabIndex]; Control[] parsedControls = ControlParser.ParseControls(service, content); tab.Items.Clear(); for (int i = 0, length = parsedControls.Length; i < length; i++) { ControlBase c = parsedControls[i] as ControlBase; if (c != null) { tab.Items.Add(c); } } //CurrentControl.Tabs[CurrentControl.ActiveTabIndex] = ControlParser.ParseControls(service, content)[0] as Tab; } } }
public override void SetEditableDesignerRegionContent(EditableDesignerRegion region, string content) { if (content == null) { return; } IDesignerHost host = (IDesignerHost)Component.Site.GetService(typeof(IDesignerHost)); if (host != null) { string[] parameters = region.Name.Split('_'); if (parameters.Length == 2 && parameters[0] == "Body") { int index = int.Parse(parameters[1]); if (this.layout.Items.Count > 0) { ContentPanel panel = this.layout.Items[index] as ContentPanel; if (panel != null) { ITemplate template = ControlParser.ParseTemplate(host, content); panel.Body = template; } Tag.SetDirty(true); } } } }
public override string GetDesignTimeHtml(DesignerRegionCollection regions) { string title = CurrentControl.Title; if (String.IsNullOrEmpty(title)) { title = String.Format("[{0}]", CurrentControl.ID); } EditableDesignerRegion itemsRegion = new EditableDesignerRegion(this, "Items", true); regions.Add(itemsRegion); string itemsContent = String.Format("<div style=\"border:solid 1px #ccc;\"><div style=\"font-size:11px;background-color:#ddd;\">Items</div><div style=\"padding:2px;\" {0}=\"{1}\">{2}</div></div>", DesignerRegion.DesignerRegionAttributeName, "0", GetEditableDesignerRegionContent(itemsRegion)); string toolbarsContent = ""; if (CurrentControl.Toolbars.Count > 0) { EditableDesignerRegion toolbarsRegion = new EditableDesignerRegion(this, "Toolbars", true); regions.Add(toolbarsRegion); toolbarsContent = String.Format("<div style=\"border:solid 1px #ccc;margin-bottom:5px;\"><div style=\"font-size:11px;background-color:#ddd;\">Toolbars</div><div style=\"padding:2px;\" {0}=\"{1}\">{2}</div></div>", DesignerRegion.DesignerRegionAttributeName, "1", GetEditableDesignerRegionContent(toolbarsRegion)); } return(String.Format(TEMPLATE, title, toolbarsContent, itemsContent)); }
// Create a template from the content string and put it // in the selected view. Called by the designer host public override void SetEditableDesignerRegionContent(EditableDesignerRegion Region, string content) { if (content == null) { return; } // Get a reference to the designer host System.ComponentModel.Design.IDesignerHost host = (System.ComponentModel.Design.IDesignerHost)(Component.Site.GetService(typeof(System.ComponentModel.Design.IDesignerHost))); if (host != null) { // Create a template from the content string ITemplate template = ControlParser.ParseTemplate(host, content); if (template != null) { switch (Region.Name) { case "FirstPanel": Control.FirstPanel = template; break; case "SecondPanel": Control.SecondPanel = template; break; } } } }
// Get the content string for the selected region. Called by the designer host public override string GetEditableDesignerRegionContent(EditableDesignerRegion Region) { // Get a reference to the designer host System.ComponentModel.Design.IDesignerHost host = (System.ComponentModel.Design.IDesignerHost)(Component.Site.GetService(typeof(System.ComponentModel.Design.IDesignerHost))); if (host != null) { ITemplate template = null; switch (Region.Name) { case "FirstPanel": template = Control.FirstPanel; break; case "SecondPanel": template = Control.SecondPanel; break; } // Persist the template in the design host if (template != null) { return(ControlPersister.PersistTemplate(template, host)); } } return(string.Empty); }
public override string GetEditableDesignerRegionContent(EditableDesignerRegion region) { IDesignerHost service = (IDesignerHost)CurrentControl.Site.GetService(typeof(IDesignerHost)); if (service != null) { if (region.Name == "Items") { StringBuilder sb = new StringBuilder(); foreach (ControlBase c in CurrentControl.Items) { sb.Append(ControlPersister.PersistControl(c, service)); } return(sb.ToString()); } else if (region.Name == "Toolbars") { StringBuilder sb = new StringBuilder(); foreach (Toolbar c in CurrentControl.Toolbars) { sb.Append(ControlPersister.PersistControl(c, service)); } return(sb.ToString()); } } return(String.Empty); }
public override string GetEditableDesignerRegionContent(EditableDesignerRegion region) { IDesignerHost host = (IDesignerHost)Component.Site.GetService(typeof(IDesignerHost)); if (host != null && region != null) { string[] parameters = region.Name.Split('_'); if (parameters.Length == 2 && parameters[0] == "Body") { int activeIndex = int.Parse(parameters[1]); if (activeIndex >= 0) { ContentPanel panel = this.layout.Items[activeIndex] as ContentPanel; if (panel != null) { ITemplate contentTemplate = panel.Body; if (contentTemplate != null) { return(ControlPersister.PersistTemplate(contentTemplate, host)); } } } } } return(String.Empty); }
private string GetEditableDesignerAttribute() { EditableDesignerRegion region = new EditableDesignerRegion(this, "Body", true); designerRegions.Add(region); return(string.Format("{0}=\"{1}\"", DesignerRegion.DesignerRegionAttributeName, designerRegions.Count - 1)); }
/// <summary> /// GetDesignTimeHtml /// </summary> /// <param name="regions"></param> /// <returns></returns> /// <remarks> /// GetDesignTimeHtml /// </remarks> public override string GetDesignTimeHtml(DesignerRegionCollection regions) { this.CreateChildControls(); for (int i = 0; i < this.nbRegions; i++) { DesignerRegion r; if (this.currentRegion == i) { r = new EditableDesignerRegion(this, i.ToString()); } else { r = new DesignerRegion(this, i.ToString()); } regions.Add(r); } if ((this.currentRegion >= 0) && (this.currentRegion < this.nbRegions)) { regions[this.currentRegion].Highlight = true; } UpdateDesignTimeHtml(); return(base.GetDesignTimeHtml(regions)); }
public override void SetEditableDesignerRegionContent(EditableDesignerRegion region, string content) { IDesignerHost service = (IDesignerHost)base.Component.Site.GetService(typeof(IDesignerHost)); if (service != null) { Control[] parsedControls = ControlParser.ParseControls(service, content); if (region.Name == "Items") { CurrentControl.Items.Clear(); for (int i = 0; i < parsedControls.Length; i++) { ControlBase c = parsedControls[i] as ControlBase; if (c != null) { CurrentControl.Items.Add(c); } } } else if (region.Name == "Toolbars") { CurrentControl.Toolbars.Clear(); for (int i = 0; i < parsedControls.Length; i++) { Toolbar c = parsedControls[i] as Toolbar; if (c != null) { CurrentControl.Toolbars.Add(c); } } } } }
public override void SetEditableDesignerRegionContent(EditableDesignerRegion region, string content) { if (region == null) { throw new ArgumentNullException("region"); } string regionName = region.Name; Debug.Assert(regionName[0] == 'c' || regionName[0] == 'h', "Expected regionName to start with c or h, not " + regionName); bool setTabContent = regionName[0] == 'c'; regionName = regionName.Substring(1); // figure out which tab we have. TabPanel activeTab = (TabPanel)TabContainer.FindControl(regionName); Debug.Assert(activeTab != null, "Couldn't find tab " + regionName); IDesignerHost host = (IDesignerHost)GetService(typeof(IDesignerHost)); Debug.Assert(host != null, "Failed to get IDesignerHost?!?"); // push the content into the right template PersistTemplateContent(activeTab, host, content, (setTabContent ? "ContentTemplate" : "HeaderTemplate")); }
public override void SetEditableDesignerRegionContent(EditableDesignerRegion region, string content) { if (content == null) { return; } IDesignerHost host = (IDesignerHost)Component.Site.GetService(typeof(IDesignerHost)); if (host != null) { string[] parameters = region.Name.Split('_'); if (parameters.Length == 2 && parameters[0] == "Body") { int index = int.Parse(parameters[1]); if (this.tabPanelControl != null && this.tabPanelControl.Items.Count > 0) { PanelBase tab = this.tabPanelControl.Items[index] as PanelBase; if (tab != null && tab is IContent) { ITemplate template = ControlParser.ParseTemplate(host, content); ((IContent)tab).Content = template; } this.Tag.SetDirty(true); } } } }
public override string GetEditableDesignerRegionContent(EditableDesignerRegion region) { IDesignerHost host = (IDesignerHost)Component.Site.GetService(typeof(IDesignerHost)); if (host != null && region != null) { string[] parameters = region.Name.Split('_'); if (parameters.Length == 2 && parameters[0] == "Body") { int activeIndex = int.Parse(parameters[1]); if (activeIndex >= 0) { PanelBase tab = this.tabPanelControl.Items[activeIndex] as PanelBase; if (tab != null && tab is IContent) { ITemplate contentTemplate = ((IContent)tab).Content; if (contentTemplate != null) { return(ControlPersister.PersistTemplate(contentTemplate, host)); } } } } } return(String.Empty); }
public override void SetEditableDesignerRegionContent (EditableDesignerRegion region, string content) { int regionIndex = Int32.Parse(region.Name.Substring(7)); if (content == null) { //if (regionIndex == 0) // _Control.View1 = null; //else if (regionIndex == 1) // _Control.View2 = null; //return; } IDesignerHost host = (IDesignerHost)Component.Site.GetService(typeof(IDesignerHost)); if (host != null) { //ITemplate template = ControlParser.ParseTemplate(host, content); //if (template != null) //{ // if (regionIndex == 0) // myControl.View1 = template; // else if (regionIndex == 1) // myControl.View2 = template; //} } }
protected virtual void BuildRegions(DesignerRegionCollection regions) { EditableDesignerRegion edr0 = new EditableDesignerRegion(this, "Content", false); regions.Add(edr0); regions[0].Highlight = true; }
public override void SetEditableDesignerRegionContent(EditableDesignerRegion region, string content) { if (string.Compare(this._content, content, StringComparison.Ordinal) != 0) { this._content = content; base.Tag.SetDirty(true); } }
public override string GetDesignTimeHtml(DesignerRegionCollection regions) { if (CurrentControl.Tabs.Count == 0) { return(GetEmptyDesignTimeHtml()); } // 1. Add tabs title list StringBuilder sb = new StringBuilder(); int tabIndex = 0; foreach (Tab tab in CurrentControl.Tabs) { HtmlNodeBuilder nb = new HtmlNodeBuilder("div"); if (!String.IsNullOrEmpty(tab.Title)) { nb.InnerProperty = tab.Title; } else { nb.InnerProperty = String.Format("[{0}]", tab.ID); } string styleStr = "padding:0 5px;margin-right:5px;display:inline;"; if (CurrentControl.ActiveTabIndex == tabIndex) { styleStr += "background-color:#666;"; } nb.SetProperty("style", styleStr); nb.SetProperty(DesignerRegion.DesignerRegionAttributeName, tabIndex.ToString()); DesignerRegion region = new DesignerRegion(this, "Tab_" + tabIndex, true); region.Properties["TabIndex"] = tabIndex.ToString(); regions.Add(region); sb.Append(nb.ToString()); tabIndex++; } string tabsHtml = sb.ToString(); // 2. Add current active tab content // Note: Currently, we have add (CurrentControl.Tabs.Count - 1) items into regions, // So This editable region's index is CurrentControl.Tabs.Count. EditableDesignerRegion editableRegion = new EditableDesignerRegion(this, "Content", true); regions.Add(editableRegion); //editableRegion.Properties["ActiveTabIndex"] = CurrentControl.ActiveTabIndex.ToString(); string contentHtml = String.Format("<div {0}='{1}'>{2}</div>", DesignerRegion.DesignerRegionAttributeName, CurrentControl.Tabs.Count, GetEditableDesignerRegionContent(editableRegion)); return(String.Format(PANEL_TEMPLATE, tabsHtml, contentHtml)); }
public override string GetEditableDesignerRegionContent(EditableDesignerRegion region) { IDesignerHost service = (IDesignerHost)base.Component.Site.GetService(typeof(IDesignerHost)); if (service != null) { int rowIndex = Convert.ToInt32(region.Properties["RowIndex"]); StringBuilder sb = new StringBuilder(); foreach (ControlBase c in CurrentControl.Rows[rowIndex].Items) { sb.Append(ControlPersister.PersistControl(c, service)); } return(sb.ToString()); #region old code // table不会自动更新,还不如先不用 ////int rowIndex = Convert.ToInt32(region.Name.Substring(EDITOR_REGION_PREFIX.Length)); //int rowIndex = Convert.ToInt32(region.Properties["RowIndex"]); //ControlBaseCollection controls = CurrentControl.Rows[rowIndex].Items; //StringBuilder sb = new StringBuilder(); //sb.Append("<table cellpadding='0' cellspacing='0' border='0' style='width:100%;'><tbody><tr>"); //string columnWidthStr = (1.0 / controls.Count * 100).ToString("F0") + "%"; //if (controls.Count == 0) //{ // sb.Append("<td style='width:100%;'></td>"); //} //else //{ // foreach (ControlBase c in controls) // { // sb.AppendFormat("<td style='width:{0};'>", columnWidthStr); // sb.Append(ControlPersister.PersistControl(c, service)); // sb.Append("</td>"); // } //} //sb.Append("</tr></tbody></table>"); ////sb.Append(ControlPersister.PersistControl(CurrentControl.Rows[rowIndex].Fields[columnIndex], service)); //return sb.ToString(); #endregion } return(String.Empty); }
public override string GetDesignTimeHtml(DesignerRegionCollection regions) { EditableDesignerRegion region = new EditableDesignerRegion(this, "Text") { Description = System.Design.SR.GetString("LocalizeDesigner_RegionWatermark") }; region.Properties[typeof(Control)] = base.Component; regions.Add(region); return(string.Format(CultureInfo.InvariantCulture, "<span {0}=0></span>", new object[] { DesignerRegion.DesignerRegionAttributeName })); }
public override string GetDesignTimeHtml(DesignerRegionCollection regions) { EditableDesignerRegion editableRegion = new EditableDesignerRegion(this, "Content", true); regions.Add(editableRegion); string content = String.Format("<div {0}='{1}'>{2}</div>", DesignerRegion.DesignerRegionAttributeName, 0, GetEditableDesignerRegionContent(editableRegion)); return(content); }
public override string GetEditableDesignerRegionContent(EditableDesignerRegion region) { ITemplate template = this.GetTemplate(this._changePassword); if (template == null) { return(this.GetEmptyDesignTimeHtml()); } IDesignerHost service = (IDesignerHost)this.GetService(typeof(IDesignerHost)); return(ControlPersister.PersistTemplate(template, service)); }
public override void SetEditableDesignerRegionContent(EditableDesignerRegion region, string content) { PropertyDescriptor descriptor = TypeDescriptor.GetProperties(base.Component)[region.Name]; IDesignerHost service = (IDesignerHost)this.GetService(typeof(IDesignerHost)); ITemplate template = ControlParser.ParseTemplate(service, content); using (DesignerTransaction transaction = service.CreateTransaction("SetEditableDesignerRegionContent")) { descriptor.SetValue(base.Component, template); transaction.Commit(); } }
public override string GetDesignTimeHtml(DesignerRegionCollection regions) { EditableDesignerRegion region = new EditableDesignerRegion(this, "Content"); regions.Add(region); Font captionFont = SystemFonts.CaptionFont; Color controlText = SystemColors.ControlText; Color control = SystemColors.Control; string str = base.Component.GetType().Name + " - " + base.Component.Site.Name; return(string.Format(CultureInfo.InvariantCulture, "<table cellspacing=0 cellpadding=0 style=\"border:1px solid black; width:100%; height:200px\">\r\n <tr>\r\n <td style=\"width:100%; height:25px; font-family:Tahoma; font-size:{2}pt; color:{3}; background-color:{4}; padding:5px; border-bottom:1px solid black;\">\r\n {0}\r\n </td>\r\n </tr>\r\n <tr>\r\n <td style=\"width:100%; height:175px; vertical-align:top;\" {1}=\"0\">\r\n </td>\r\n </tr>\r\n </table>", new object[] { str, DesignerRegion.DesignerRegionAttributeName, captionFont.SizeInPoints, ColorTranslator.ToHtml(controlText), ColorTranslator.ToHtml(control) })); }
public override string GetEditableDesignerRegionContent(EditableDesignerRegion region) { if (this._content == null) { this._content = base.Tag.GetContent(); } if (this._content == null) { return(string.Empty); } return(this._content.Trim()); }
public override string XGetDesignTimeHtml(DesignerRegionCollection regions) { EditableDesignerRegion region = new EditableDesignerRegion(this, "Body", false); regions.Add(region); StringWriter writer = new StringWriter(CultureInfo.CurrentCulture); HtmlTextWriter htmlWriter = new HtmlTextWriter(writer); FieldSet c = (FieldSet)this.Control; string width = " width: {0};".FormatWith(c.Width.ToString()); string height = " height: {0}px;".FormatWith((c.Height.Value - 39).ToString()); string buttons = ""; buttons += (c.CheckboxToggle && !c.Collapsible) ? "<input name=\"ext-comp-1002-checkbox\" type=\"checkbox\">" : ""; buttons += (c.Collapsible && !c.CheckboxToggle) ? "<div class=\"x-tool x-tool-toggle\"> </div>" : ""; /* * 0 - ClientID * 1 - Title * 2 - Width * 3 - Height * 4 - Buttons * 5 - BodyStyle */ object[] args = new object[6]; args[0] = c.ClientID; args[1] = c.Title; args[2] = width; args[3] = height; args[4] = buttons; args[5] = c.BodyStyle; LiteralControl topCtrl = new LiteralControl(string.Format(this.HtmlBegin, args)); topCtrl.RenderControl(htmlWriter); HtmlGenericControl div = (HtmlGenericControl)c.ContentContainer; div.Attributes[DesignerRegion.DesignerRegionAttributeName] = "0"; div.InnerHtml = this.GetEditableDesignerRegionContent(region); div.RenderControl(htmlWriter); LiteralControl bottomCtrl = new LiteralControl(this.HtmlEnd); bottomCtrl.RenderControl(htmlWriter); return(writer.ToString()); }
public override void SetEditableDesignerRegionContent(EditableDesignerRegion region, string content) { if (content == null) { return; } IDesignerHost host = (IDesignerHost)Component.Site.GetService(typeof(IDesignerHost)); if (host != null) { ITemplate template = ControlParser.ParseTemplate(host, content); if (template == null) { this.viewPort.Content = template; this.viewPort.ContentContainer.Controls.Clear(); this.ChangeService(); return; } Control control = ControlParser.ParseControl(host, content); if (control is Layout) { bool needRefresh = this.viewPort.LayoutControl == null; this.viewPort.Content = template; this.viewPort.ContentContainer.Controls.Clear(); this.viewPort.ContentContainer.Controls.Add(control); if (needRefresh) { this.ChangeService(); } } else { /* * NOTE: We need to call ChangeService for clear content template if user drop not layout * But if control have ActionList then after drop this ActionList will be shown * If we call ChangeService at this moment than VS will crash because trying show * ActionList not exists control * * Need find solution for fixed it */ // this.ChangeService(); } } }
public override string GetEditableDesignerRegionContent(EditableDesignerRegion region) { if (region is LoginViewDesignerRegion) { ITemplate template = ((LoginViewDesignerRegion)region).Template; if (template != null) { IDesignerHost service = (IDesignerHost)base.Component.Site.GetService(typeof(IDesignerHost)); return(ControlPersister.PersistTemplate(template, service)); } } return(base.GetEditableDesignerRegionContent(region)); }
public override void SetEditableDesignerRegionContent(EditableDesignerRegion region, string content) { if (content == null) { return; } IDesignerHost host = (IDesignerHost)Component.Site.GetService(typeof(IDesignerHost)); if (host != null) { string[] parameters = region.Name.Split('_'); if (parameters.Length == 3 && parameters[0] == "Body") { BorderLayoutRegion layoutRegion = GetLayoutRegionByName(parameters[1]); if (layoutRegion != null && layoutRegion.Items.Count > 0) { IContent contentPanel = null; int activeIndex = int.Parse(parameters[2]); if (layoutRegion.Items[0] is Panel) { contentPanel = layoutRegion.Items[0] as Panel; } else if (layoutRegion.Items[0] is TabPanel) { TabPanel tabPanel = layoutRegion.Items[0] as TabPanel; if (activeIndex < tabPanel.Items.Count) { contentPanel = tabPanel.Items[activeIndex] as IContent; } } if (contentPanel == null) { return; } ITemplate template = ControlParser.ParseTemplate(host, content); TypeDescriptor.GetProperties(contentPanel)["Body"].SetValue( contentPanel, template); contentPanel.Content = template; this.Tag.SetDirty(true); } } } }
public virtual void SetEditableDesignerRegionContent(EditableDesignerRegion region, string content) {}
public virtual string GetEditableDesignerRegionContent(EditableDesignerRegion region) {}