public OptionsPanel SwitchPanel(String optionCategory) { try { this.OptionsPanelPath.Text = ""; if (this._Panels.Count > 0) { OptionsPanel pn = null; for (int i = 0; i < this._Panels.Count; i++) { if (this._Panels[i].CategoryPath == optionCategory) { pn = this._Panels[i]; break; } } if (pn != null) { String displayName = pn.DisplayName; String[][] lpaths = this.GetPaths(optionCategory); String[] paths = lpaths[0]; if (paths.Length > 1) { TreeNode[] search = this.CatTree.Nodes.Find(paths[0], false); if (search != null && search.Length > 0) { this.OptionsPanelPath.Text += search[0].Text + " » "; int i = 1; int sub = paths.Length - 1; for (; i < sub; i++) { search = search[0].Nodes.Find(paths[i], false); if (search != null && search.Length > 0) { this.OptionsPanelPath.Text += search[0].Text + " » "; } } } } this.OptionsPanelPath.Text += displayName; if (this.OptionPanelContainer.Controls.Count == 0 || !this.OptionPanelContainer.Controls[0].Equals(pn)) { this.OptionPanelContainer.Controls.Clear(); this.OptionPanelContainer.Controls.Add(pn); pn.Visible = true; } return(pn); } } return(null); } catch { return(null); } }
private void AddPanel(OptionsPanel panel) { String optionCategory = panel.CategoryPath; String displayName = panel.DisplayName; String[][] lpaths = this.GetPaths(optionCategory); String[] paths = lpaths[0]; String[] labs = lpaths[1]; TreeNode pnode = null; TreeNode nnode = null; if (paths.Length > 1) { TreeNode[] search = this.CatTree.Nodes.Find(paths[0], false); if (search != null && search.Length > 0) { pnode = search[0]; } else { this.CatTree.Nodes.Add(paths[0], labs[0], paths[0], paths[0]); pnode = this.CatTree.Nodes[this.CatTree.Nodes.Count - 1]; } int i = 1; int sub = paths.Length - 1; for (; i < sub; i++) { search = pnode.Nodes.Find(paths[i], false); if (search != null && search.Length > 0) { pnode = search[0]; } else { pnode.Nodes.Add(paths[i], labs[i], String.Join("\\", paths, 0, i + 1), String.Join("\\", paths, 0, i + 1)); pnode = pnode.Nodes[pnode.Nodes.Count - 1]; } } if (i < sub) { pnode = null; } } if (pnode != null) { nnode = new TreeNode(displayName); nnode.Name = optionCategory; nnode.ImageKey = String.Join("\\", paths); nnode.SelectedImageKey = String.Join("\\", paths); pnode.Nodes.Add(nnode); if (panel != null) { panel.OptionsChanged += new EventHandler(this.panel_OptionsChanged); panel.Dock = DockStyle.Fill; panel.PanelAdded(this); this.EnableDescrControl(panel); } } else if (paths.Length == 1) { nnode = new TreeNode(displayName); nnode.Name = optionCategory; this.CatTree.Nodes.Add(nnode); if (panel != null) { panel.OptionsChanged += new EventHandler(this.panel_OptionsChanged); panel.Dock = DockStyle.Fill; panel.PanelAdded(this); this.EnableDescrControl(panel); } } }
private void AddPanel(OptionsPanel panel) { String optionCategory = panel.CategoryPath; String displayName = panel.DisplayName; String[][] lpaths = this.GetPaths(optionCategory); String[] paths = lpaths[0]; String[] labs = lpaths[1]; TreeNode pnode = null; TreeNode nnode = null; if (paths.Length > 1) { TreeNode[] search = this.CatTree.Nodes.Find(paths[0], false); if (search != null && search.Length > 0) { pnode = search[0]; } else { this.CatTree.Nodes.Add(paths[0], labs[0], paths[0], paths[0]); pnode = this.CatTree.Nodes[this.CatTree.Nodes.Count - 1]; } int i = 1; int sub = paths.Length - 1; for (; i < sub; i++) { search = pnode.Nodes.Find(paths[i], false); if (search != null && search.Length > 0) { pnode = search[0]; } else { pnode.Nodes.Add(paths[i], labs[i], String.Join("\\", paths, 0, i + 1), String.Join("\\", paths, 0, i + 1)); pnode = pnode.Nodes[pnode.Nodes.Count - 1]; } } if (i < sub) { pnode = null; } } if (pnode != null) { nnode = new TreeNode(displayName); nnode.Name = optionCategory; nnode.ImageKey = String.Join("\\", paths); nnode.SelectedImageKey = String.Join("\\", paths); pnode.Nodes.Add(nnode); if (panel != null) { panel.OptionsChanged += new EventHandler(this.panel_OptionsChanged); panel.Dock = DockStyle.Fill; panel.PanelAdded(this); this.EnableDescrControl(panel); } } else if (paths.Length == 1) { nnode = new TreeNode(displayName); nnode.Name = optionCategory; this.CatTree.Nodes.Add(nnode); if (panel != null) { panel.OptionsChanged += new EventHandler(this.panel_OptionsChanged); panel.Dock = DockStyle.Fill; panel.PanelAdded(this); this.EnableDescrControl(panel); } } }
public OptionsPanelEventArgs(OptionsPanel panel) { this._Panel = panel; }