Ejemplo n.º 1
0
        private ConstantsAndEnums.MediaType DragDropGetMediaType(TreeNode fileNode)
        {
            // Initialise the media type
            ConstantsAndEnums.MediaType MediaType = ConstantsAndEnums.MediaType.UnknownMedia;

            // Determine the mediatype based on the Node tag
            if (fileNode.Tag.GetType().ToString().Equals("OricExplorer.TapeInfo"))
            {
                MediaType = ConstantsAndEnums.MediaType.OricTape;
            }
            else if (fileNode.Tag.GetType().ToString().Equals("OricExplorer.Catalog"))
            {
                OricFileInfo programInfo = new OricFileInfo();
                programInfo = (OricFileInfo)fileNode.Tag;

                if (programInfo.MediaType == ConstantsAndEnums.MediaType.TapeFile)
                {
                    MediaType = ConstantsAndEnums.MediaType.TapeFile;
                }
            }

            return(MediaType);
        }
Ejemplo n.º 2
0
        private void treeFileList_DragDrop(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent("System.Windows.Forms.TreeNode", false))
            {
                Point pt = ((TreeView)sender).PointToClient(new Point(e.X, e.Y));

                TreeNode DestinationNode = ((TreeView)sender).GetNodeAt(pt);
                TreeNode SourceNode      = (TreeNode)e.Data.GetData("System.Windows.Forms.TreeNode");

                // Obtain Source media type
                ConstantsAndEnums.MediaType SourceMediaType = DragDropGetMediaType(SourceNode);

                // Obtain Destination media type
                ConstantsAndEnums.MediaType DestinationMediaType = DragDropGetMediaType(DestinationNode);

                // Perform drag and drop if valid media
                switch (DestinationMediaType)
                {
                case ConstantsAndEnums.MediaType.OricTape:
                case ConstantsAndEnums.MediaType.TapeFile:
                    if (DestinationMediaType == ConstantsAndEnums.MediaType.TapeFile)
                    {
                        DestinationNode = DestinationNode.Parent;
                    }

                    if (SourceMediaType == ConstantsAndEnums.MediaType.TapeFile || SourceMediaType == ConstantsAndEnums.MediaType.OricTape)
                    {
                        CopyTapeFilesToTape(SourceNode, DestinationNode);
                    }
                    break;

                default:
                    break;
                }
            }
        }