Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }