public ResourceList(ResourceEditorControl editor) { undoStack = new UndoStack(); name.Text = ResourceService.GetString("Global.Name"); name.Width = 250; type.Text = ResourceService.GetString("ResourceEditor.ResourceEdit.TypeColumn"); type.Width = 170; content.Text = ResourceService.GetString("ResourceEditor.ResourceEdit.ContentColumn"); content.Width = 300; Columns.AddRange(new ColumnHeader[] {name, type, content}); FullRowSelect = true; AutoArrange = true; Alignment = ListViewAlignment.Left; View = View.Details; GridLines = true; LabelEdit = true; Dock = DockStyle.Fill; HideSelection = false; BorderStyle = System.Windows.Forms.BorderStyle.None; images.Images.Add(WinFormsResourceService.GetIcon("Icons.16x16.ResourceEditor.string")); images.Images.Add(WinFormsResourceService.GetIcon("Icons.16x16.ResourceEditor.bmp")); images.Images.Add(WinFormsResourceService.GetIcon("Icons.16x16.ResourceEditor.icon")); images.Images.Add(WinFormsResourceService.GetIcon("Icons.16x16.ResourceEditor.cursor")); images.Images.Add(WinFormsResourceService.GetIcon("Icons.16x16.ResourceEditor.bin")); images.Images.Add(WinFormsResourceService.GetIcon("Icons.16x16.ResourceEditor.obj")); SmallImageList = images; // Set up sorting: // User can sort the list by name and by type, // whereas sorting by type also implicitly sorts by name. IListViewItemComparer textComparer = new ListViewTextColumnComparer(); IListViewItemComparer typeNameComparer = new ListViewMultipleColumnsComparer(textComparer, 1, textComparer, 0); sorter = new ListViewItemSorter(this, new IListViewItemComparer[] { textComparer, typeNameComparer, null }); sorter.SortColumnIndex = 0; sorter.SortOrder = SortOrder.Ascending; ContextMenuStrip = MenuService.CreateContextMenu(editor, "/SharpDevelop/ResourceEditor/ResourceList/ContextMenu"); }
protected override void Dispose(bool disposing) { try { if (disposing) { if (sorter != null) { sorter.Dispose(); sorter = null; } } } finally { base.Dispose(disposing); } }