/// <summary> /// Event handler for item dragging /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void listViewEntities_ItemDrag(object sender, ItemDragEventArgs e) { if (e.Item == null) { return; } ListViewItem Item = e.Item as ListViewItem; if (Item == null || Item.Tag == null || !(Item.Tag is DragAndDropPanelEntry)) { return; } DragAndDropPanelEntry Entry = Item.Tag as DragAndDropPanelEntry; switch (Entry.Type) { case DragAndDropPanelEntry.EntryType.Model: DoDragDrop(new ModelShapeCreator(EditorManager.Project.MakeRelative(Entry.Path)), DragDropEffects.Copy | DragDropEffects.Scroll); break; case DragAndDropPanelEntry.EntryType.StaticMesh: DoDragDrop(new StaticMeshShapeCreator(EditorManager.Project.MakeRelative(Entry.Path)), DragDropEffects.Copy | DragDropEffects.Scroll); break; } }
/// <summary> /// Helper function to add the actual listview entry /// </summary> /// <param name="Text"></param> /// <param name="Path"></param> /// <param name="Key"></param> private void AddEntry(DragAndDropPanelEntry Entry) { ListViewItem LVI = new ListViewItem(Entry.DisplayText); string Key = Entry.Thumbnailkey; if (!imageList.Images.ContainsKey(Key)) { Key = "<NoThumbnail>"; } LVI.ImageKey = Key; LVI.Tag = Entry; LVI.ToolTipText = EditorManager.Project.MakeRelative(Entry.Path); LVI.ForeColor = Entry.Type == DragAndDropPanelEntry.EntryType.Model ? Color.Navy : Color.Firebrick; listViewEntities.Items.Add(LVI); }
/// <summary> /// Helper function to add the actual listview entry /// </summary> /// <param name="Text"></param> /// <param name="Path"></param> /// <param name="Key"></param> private void AddEntry(DragAndDropPanelEntry Entry) { ListViewItem LVI = new ListViewItem(Entry.DisplayText); string Key = Entry.Thumbnailkey; if (!imageList.Images.ContainsKey(Key)) Key = "<NoThumbnail>"; LVI.ImageKey = Key; LVI.Tag = Entry; LVI.ToolTipText = EditorManager.Project.MakeRelative(Entry.Path); LVI.ForeColor = Entry.Type == DragAndDropPanelEntry.EntryType.Model ? Color.Navy : Color.Firebrick; listViewEntities.Items.Add(LVI); }