private void FrmAbout_Load(object sender, EventArgs e) { this.lblTitle.Text = string.Format( "{0} version {1}", this.GetType().Assembly.GetCustomAttribute <AssemblyTitleAttribute>().Title, this.GetType().Assembly.GetName().Version); this.txtLicense.Text = Resources.License; foreach (var assemblyName in this.GetType().Assembly.GetReferencedAssemblies()) { this.lstAssemblies.Items.Add( new ListViewItem( new[] { assemblyName.Name, assemblyName.Version.ToString(), assemblyName.FullName }, "Assembly.png")); } if (this.extensionManager.HasResource) { this.lstExtensions.Visible = true; this.lstExtensions.Groups.Clear(); var grpToolExtension = this.lstExtensions.Groups.Add("grpToolExtension", Resources.ToolExtensionGroupName); var grpExportExtension = this.lstExtensions.Groups.Add("grpExportExtension", Resources.ExportExtensionGroupName); this.ilExtensions.Images.Clear(); this.ilExtensions.Images.Add("plugin.png", Resources.plugin); // Displays all the extensions. foreach (var kvp in this.extensionManager.AllExtensions) { var extension = kvp.Value; var lvi = new ListViewItem(new[] { extension.DisplayName.Trim('.'), extension.Version.ToString(), extension.Manufacture, extension.Description }); if (extension.Kind == typeof(ToolExtension)) { lvi.Group = grpToolExtension; this.ilExtensions.Images.Add(extension.ID.ToString(), ((ToolExtension)extension).ToolIcon); lvi.ImageKey = extension.ID.ToString(); } else if (extension.Kind == typeof(ExportExtension)) { lvi.Group = grpExportExtension; lvi.ImageKey = "plugin.png"; } this.lstExtensions.Items.Add(lvi); } } else { this.lstExtensions.Visible = false; var noExtensionControl = new NoExtensionControl { Dock = DockStyle.Fill }; this.tpExtensions.Controls.Add(noExtensionControl); } }
private void InitializeExtensions() { if (this.extensionManager.HasResource) { splitContainer.Visible = true; lvExtensions.Groups.Clear(); var grpToolExtension = lvExtensions.Groups.Add("grpToolExtension", Resources.ToolExtensionGroupName); var grpExportExtension = lvExtensions.Groups.Add("grpExportExtension", Resources.ExportExtensionGroupName); lvExtensions.Items.Clear(); ilExtensions.Images.Clear(); ilExtensions.Images.Add("plugin.png", Resources.plugin); pnlSettings.Controls.Clear(); var firstExtensionId = extensionManager.AllExtensions.OrderBy(p => p.Value.DisplayName.Trim('.')).First().Key; // Create the Tool Extensions items. foreach (var kvp in extensionManager.AllExtensions) { var extension = kvp.Value; var itemText = extension.DisplayName.Trim('.'); var lvi = new ListViewItem(itemText); lvi.Name = extension.ID.ToString(); lvi.Tag = extension.ID; if (extension.Kind == typeof(ToolExtension)) { lvi.Group = grpToolExtension; ilExtensions.Images.Add(extension.ID.ToString(), ((ToolExtension)extension).ToolIcon); lvi.ImageKey = extension.ID.ToString(); } else if (extension.Kind == typeof(ExportExtension)) { lvi.Group = grpExportExtension; lvi.ImageKey = "plugin.png"; } lvExtensions.Items.Add(lvi); } lvExtensions.Sort(); if (grpToolExtension.Items.Count > 0) { var selectedItem = grpToolExtension.Items.Find(firstExtensionId.ToString(), false).First(); selectedItem.Selected = true; this.BindExtension((Guid)selectedItem.Tag); } else if (grpExportExtension.Items.Count > 0) { var selectedItem = grpExportExtension.Items.Find(firstExtensionId.ToString(), false).First(); selectedItem.Selected = true; this.BindExtension((Guid)selectedItem.Tag); } } else { splitContainer.Visible = false; var noExtensionControl = new NoExtensionControl { Dock = DockStyle.Fill }; this.tpExtensions.Controls.Add(noExtensionControl); } }