private void anyTextBox_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) { TextBox targetTextBox = (TextBox)sender; FileDescControls c = (FileDescControls)targetTextBox.Tag; if (e.Data.GetDataPresent(typeof(System.String))) { string value = (string)e.Data.GetData(typeof(System.String)); // Perform drag-and-drop, depending upon the effect. if (e.Effect == DragDropEffects.Copy || e.Effect == DragDropEffects.Move) { value = RepositoryClass.MakeFullFilePath(lastSourceDirectory, value); value = adjustForRepositoryPath(value); targetTextBox.Text = value; if (c.index == 0 && assetNameTextBox.Text.Length == 0) { string fileName = Path.GetFileNameWithoutExtension(value); assetNameTextBox.Text = Path.GetFileNameWithoutExtension(fileName) + "_" + AssetTypeDesc.AssetTypeEnumFileName((AssetTypeEnum)assetTypeComboBox.SelectedIndex + 1); } setSomethingChanged(); } } }
private void assetTypeComboBox_SelectedIndexChanged(object sender, EventArgs e) { if (!inhibit) { setAssetType(AssetTypeDesc.AssetTypeEnumFromName(assetTypeComboBox.Text)); } }
private void encacheAssetDefinition(out List <string> filesToCopy, out List <string> fileDestinations) { assetDefinition = new AssetDefinition(); assetDefinition.Name = assetNameTextBox.Text; assetDefinition.Description = descriptionTextBox.Text; assetDefinition.TypeEnum = AssetTypeDesc.AssetTypeEnumFromName(assetTypeComboBox.Text); assetDefinition.Category = categoryComboBox.Text; assetDefinition.Properties = savedProperties; int fileNumber = 0; filesToCopy = new List <string>(); fileDestinations = new List <string>(); foreach (FileDescControls desc in allControls) { AssetTypeFileDesc d = desc.desc; if (desc.useTextBox) { if (desc.textBox.Text.Length > 0) { string s = desc.textBox.Text.ToString(); string targetFile = MakeDestinationFile(assetDefinition.TypeEnum, s, d.FileTypeEnum, fileNumber); AssetFile file = new AssetFile(targetFile, d.FileTypeEnum); if (copyFromSource(s)) { filesToCopy.Add(s); fileDestinations.Add(file.TargetFile); } assetDefinition.Files.Add(file); fileNumber++; } } else { for (int i = 0; i < desc.listBox.Items.Count; i++) { AssetFile file = new AssetFile(); file.FileTypeEnum = d.FileTypeEnum; string s = desc.listBox.Items[i].ToString(); string targetFile = MakeDestinationFile(assetDefinition.TypeEnum, s, d.FileTypeEnum, fileNumber); file.TargetFile = targetFile; if (copyFromSource(s)) { filesToCopy.Add(s); fileDestinations.Add(file.TargetFile); } assetDefinition.Files.Add(file); fileNumber++; } } } assetDefinition.ComputeStatus(); }
public Importer() { inhibit = true; InitializeComponent(); for (AssetTypeEnum i = AssetTypeEnum.Mesh; i <= AssetTypeEnum.Other; i++) { assetTypeComboBox.Items.Add(AssetTypeDesc.AssetTypeEnumName(i)); } List <string> log = RepositoryClass.Instance.InitializeRepository(); CheckLogAndMaybeExit(log); updateRepositoryPath(); somethingChanged = false; cameFromFile = false; setEnables(); categoryPanel.Visible = false; genOffset = filesListBox.Left + filesListBox.Width; inhibit = false; }
private void createControlsForAssetType(AssetTypeEnum typeEnum) { SuspendLayout(); RemoveDynamicControls(); allControls = new List <FileDescControls>(); AssetTypeDesc type = AssetTypeDesc.FindAssetTypeDesc(typeEnum); int index = 0; int y = 180; foreach (AssetTypeFileDesc desc in type.FileTypes) { FileDescControls c; y = createAssetTypeFileControls(index, y, desc, out c); allControls.Add(c); index++; } ResumeLayout(false); PerformLayout(); }
private void displayAssetDefinition() { assetNameTextBox.Text = assetDefinition.Name; descriptionTextBox.Text = assetDefinition.Description; assetTypeComboBox.Text = AssetTypeDesc.AssetTypeEnumName(assetDefinition.TypeEnum); setupCategoryComboBox(assetDefinition.TypeEnum); setCategory(assetDefinition.Category); createControlsForAssetType(assetDefinition.TypeEnum); int fileIndex = 0; foreach (FileDescControls desc in allControls) { if (fileIndex >= assetDefinition.Files.Count) { break; } AssetTypeFileDesc d = desc.desc; AssetFile file = assetDefinition.Files[fileIndex]; if (desc.useTextBox) { if (d.FileTypeEnum == file.FileTypeEnum) { desc.textBox.Text = file.TargetFile; fileIndex++; } } else { while (fileIndex < assetDefinition.Files.Count) { file = assetDefinition.Files[fileIndex]; if (d.FileTypeEnum != file.FileTypeEnum) { break; } desc.listBox.Items.Add(file.TargetFile); fileIndex++; } } } }
private void buttonSelect_Click(object sender, EventArgs e) { Button button = (Button)sender; FileDescControls c = (FileDescControls)button.Tag; AssetTypeFileDesc desc = c.desc; // Invoke the file open dialog openSourceFileDialog.FileName = ""; List <string> extensions = AssetFile.AllExtensionsForEnum(desc.FileTypeEnum); string extList = ""; string extListHidden = ""; foreach (string ext in extensions) { if (extList.Length > 0) { extList += ";"; } extList += "*" + ext; if (extListHidden.Length > 0) { extListHidden += ";"; } extListHidden += "*" + ext + ";" + "*" + ext.ToUpper(); } string filter = string.Format("All {0} Files ({1})|{2}|All Files (*.*)|*.*", AssetFile.AssetFileEnumName(desc.FileTypeEnum), extList, extListHidden); openSourceFileDialog.Filter = filter; openSourceFileDialog.Multiselect = c.listBox != null; if (openSourceFileDialog.ShowDialog() == DialogResult.OK) { foreach (string fileName in openSourceFileDialog.FileNames) { string extension = Path.GetExtension(fileName); if (c.index == 0 && assetNameTextBox.Text.Length == 0) { assetNameTextBox.Text = Path.GetFileNameWithoutExtension(fileName) + "_" + AssetTypeDesc.AssetTypeEnumFileName((AssetTypeEnum)assetTypeComboBox.SelectedIndex + 1); } // if (extension.ToLower() == ".mesh") { // string materialName; // string skeletonName; // RepositoryClass.Instance.ReadMeshMaterialAndSkeleton(fileName, out materialName, out skeletonName); // } maybeUpdateSourceDirectory(fileName); string adjustedFileName = adjustForRepositoryPath(fileName); if (c.useTextBox) { c.textBox.Text = adjustedFileName; } else { deleteMatchingListBoxItem(c.listBox, adjustedFileName); c.listBox.Items.Add(adjustedFileName); } } setSomethingChanged(); } }