Beispiel #1
0
        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;
            }
        }
Beispiel #2
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;
            }
        }
Beispiel #3
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);
        }