private void m_txtInput_DragDrop(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) { string[] files = (string[])e.Data.GetData(DataFormats.FileDrop, false); foreach (string file in files) { string extension = Path.GetExtension(file); if (extension.Equals(".binFPGA")) { OpenBinFPGA openCmd = new OpenBinFPGA(); openCmd.FileName = file; openCmd.PrintProgress = true; CommandExecuter.Instance.Execute(openCmd); } else if (extension.Equals(".goa")) { RunScript runCmd = new RunScript(); runCmd.FileName = file; runCmd.PrintProgress = true; CommandExecuter.Instance.Execute(runCmd); } else if (extension.Equals(".xdl")) { ReadXDL readXDLCmd = new ReadXDL(); readXDLCmd.FileName = file; readXDLCmd.PrintProgress = true; CommandExecuter.Instance.Execute(readXDLCmd); } else if (extension.Equals(".viv_rpt")) { ReadVivadoFPGA readVivadoReportCmd = new ReadVivadoFPGA(); readVivadoReportCmd.FileName = file; readVivadoReportCmd.PrintProgress = true; CommandExecuter.Instance.Execute(readVivadoReportCmd); } else { MessageBox.Show("Unknown file extensions " + extension + " found. Other files are skipped. GoAhead suppors Drag&Drop of .binFPGA and .goa files", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } } }
private void m_menuFPGAOpenXDL_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Title = "Select an XDL File"; openFileDialog.Multiselect = false; openFileDialog.CheckFileExists = true; openFileDialog.Filter = "Xilinx Design Language|*.xdl"; string caller = "m_menuFPGAOpenXDL_Click"; if (StoredPreferences.Instance.FileDialogSettings.HasSetting(caller)) { openFileDialog.InitialDirectory = StoredPreferences.Instance.FileDialogSettings.GetSetting(caller); } // cancel if (openFileDialog.ShowDialog() != DialogResult.OK) { return; } if (string.IsNullOrEmpty(openFileDialog.FileName)) { return; } // store last user path StoredPreferences.Instance.FileDialogSettings.AddOrUpdateSetting(caller, Path.GetDirectoryName(openFileDialog.FileName)); ReadXDL cmd = new ReadXDL(); cmd.PrintProgress = true; cmd.FileName = openFileDialog.FileName; CommandExecuter.Instance.Execute(cmd); }