private void RenderAllTabs(SchemaObjectBase data, Scene currentScene) { string defaultKey = string.Empty; // this.tabStrip.SelectedKey; Dictionary <string, SchemaPropertyValueCollection> tabGroup = data.Properties.GroupByTab(); this.tabStrip.TabPages.Clear(); foreach (SchemaTabDefine tab in data.Schema.Tabs) { SchemaPropertyValueCollection properties = null; if (tabGroup.TryGetValue(tab.Name, out properties) == false) { properties = new SchemaPropertyValueCollection(); } Control panel = this.RenderOnePanel(tab, properties, currentScene); RelaxedTabPage item = new RelaxedTabPage() { Title = tab.Description, }; item.Controls.Add(panel); this.tabStrip.TabPages.Add(item); } if (this.tabStrip.TabPages.Count > 0) { this.tabStrip.ActiveTabPageIndex = 0; } }
private void RenderTabs(HashSet <string> schemaTypes, SchemaPropertyValueCollection propertyValues, HashSet <string> tabNames) { if (tabNames.Count > 0) { var tabs = ObjectSchemaSettings.GetConfig().Schemas[schemaTypes.First()].Tabs; foreach (string item in tabNames) { RelaxedTabPage tabPage = new RelaxedTabPage() { Title = tabs[item].Description, TagKey = item }; this.tabs.TabPages.Add(tabPage); PropertyForm pForm = new PropertyForm() { AutoSaveClientState = false }; pForm.ID = tabPage.TagKey + "_Form"; pForm.ReadOnly = this.EditEnabled == false; //// if (currentScene.Items[this.tabStrip.ID].Recursive == true) //// pForm.ReadOnly = currentScene.Items[this.tabStrip.ID].ReadOnly; var pageValues = TabGroup(propertyValues, item).ToPropertyValues(); pForm.Properties.CopyFrom(pageValues); pForm.ShowCheckBoxes = true; PropertyLayoutSectionCollection layouts = new PropertyLayoutSectionCollection(); layouts.LoadLayoutSectionFromConfiguration("DefalutLayout"); pForm.Layouts.InitFromLayoutSectionCollection(layouts); pForm.Style["width"] = "100%"; pForm.Style["height"] = "400"; tabPage.Controls.Add(pForm); } this.tabs.ActiveTabPageIndex = 0; } }
private Control RenderOnePanel(SchemaTabDefine tab, SchemaPropertyValueCollection properties, bool readOnly) { RelaxedTabPage tabPage = new RelaxedTabPage() { Title = tab.Description, TagKey = tab.Name }; this.tabs.TabPages.Add(tabPage); PropertyForm pForm = new PropertyForm() { AutoSaveClientState = false }; pForm.ID = tab.Name + "_Form"; //// if (currentScene.Items[this.tabStrip.ID].Recursive == true) //// pForm.ReadOnly = currentScene.Items[this.tabStrip.ID].ReadOnly; pForm.Properties.CopyFrom(properties.ToPropertyValues()); PropertyLayoutSectionCollection layouts = new PropertyLayoutSectionCollection(); layouts.LoadLayoutSectionFromConfiguration("DefalutLayout"); pForm.Layouts.InitFromLayoutSectionCollection(layouts); pForm.Style["width"] = "100%"; pForm.Style["height"] = "400"; tabPage.Controls.Add(pForm); pForm.ReadOnly = readOnly; return(tabPage); }