private void MakeTreeView() { try { treeOptions.BeginUpdate(); for (int i = 0; i < App.Instance.Extensions.Count; i++) { IExtension extension = App.Instance.Extensions[i]; IUIExtension uiExtension = extension.UIExtension; string extensionName = ""; if ("公司" == extension.Name) { extensionName = "公司参数设置"; } if ("个人" == extension.Name) { extensionName = "个人参数设置"; } if (!HaveRight(SQLDatabase.NowUserID, extensionName)) { continue; } if (uiExtension == null) { continue; } Control[] options = uiExtension.CreateSettingsView(); if (options == null || options.Length == 0) { continue; } TreeNode node = new TreeNode(extension.Name); node.Tag = extension; for (int j = 0; j < options.Length; j++) { TreeNode optioNd = new TreeNode(options[j].Text); optioNd.Tag = options[j]; node.Nodes.Add(optioNd); } node.Expand(); treeOptions.Nodes.Add(node); } } finally { treeOptions.EndUpdate(); } }
private void InitializeComponent() { _notebook = new Notebook(); for (int i = 0; i < App.Instance.Extensions.Count; i++) { IExtension extension = App.Instance.Extensions[i]; IUIExtension uiExtension = extension.UIExtension; if (uiExtension == null) { continue; } BaseWidget[] options = uiExtension.CreateSettingsView(); foreach (var opt in options) { opt.Extension = extension; _notebook.AppendPage(opt, new Gtk.Label(opt.Text)); } } VBox.Add(_notebook); this.DefaultResponse = ResponseType.Cancel; AddButton("Cancel", ResponseType.Cancel); AddButton("Ok", ResponseType.Ok); ShowAll(); Response += (o, args) => { if (args.ResponseId == ResponseType.Ok) { btnOK_Click(o, args); } else { btnCancel_Click(o, args); } Destroy(); }; }
private void OptionsForm_Load(object sender, EventArgs e) { try { treeOptions.BeginUpdate(); for (int i = 0; i < App.Instance.Extensions.Count; i++) { IExtension extension = App.Instance.Extensions[i]; IUIExtension uiExtension = extension.UIExtension; if (uiExtension == null) { continue; } Control[] options = uiExtension.CreateSettingsView(); if (options == null || options.Length == 0) { continue; } TreeNode node = new TreeNode(extension.Name); node.Tag = extension; for (int j = 0; j < options.Length; j++) { TreeNode optioNd = new TreeNode(options[j].Text); optioNd.Tag = options[j]; node.Nodes.Add(optioNd); } node.Expand(); treeOptions.Nodes.Add(node); } } finally { treeOptions.EndUpdate(); } }