private CPCDSK.Document.Item GetSelectedItem() { if (lvFiles.SelectedIndices.Count == 0) { return(null); } int index = lvFiles.SelectedIndices[0]; CPCDSK.Document.Item item = Document.Items[index]; return(item); }
private void cbTrackLoaderItem_CheckedChanged(object sender, EventArgs e) { CPCDSK.Document.Item item = GetSelectedItem(); if (item == null) { return; } item.TrackLoaderItem = cbTrackLoaderItem.Checked; RefreshListViewItem(lvFiles.SelectedItems[0], item); SetModified(true); }
private void cbCopyToWinAPERomFolder_CheckedChanged(object sender, EventArgs e) { CPCDSK.Document.Item item = GetSelectedItem(); if (item == null) { return; } item.CopyToWinAPEROMFolder = cbCopyToWinAPERomFolder.Checked; RefreshListViewItem(lvFiles.SelectedItems[0], item); SetModified(true); }
private void ExecAdress_TextChanged(object sender, EventArgs e) { CPCDSK.Document.Item item = GetSelectedItem(); if (item == null) { return; } item.ExecAdress = GetInt(ExecAdress.Text); RefreshListViewItem(lvFiles.SelectedItems[0], item); SetModified(true); }
private void AmsdosFilename_TextChanged(object sender, EventArgs e) { CPCDSK.Document.Item item = GetSelectedItem(); if (item == null) { return; } item.AmsdosFilename = AmsdosFilename.Text.ToUpper(); RefreshListViewItem(lvFiles.SelectedItems[0], item); SetModified(true); }
private void lvFiles_SelectedIndexChanged(object sender, EventArgs e) { if (isControlUpdating) { return; } RefreshMoveButtonStates(); if (lvFiles.SelectedIndices.Count == 0) { ResetItemPropertiesUI(); gbFileProperties.Enabled = false; return; } isControlUpdating = true; gbFileProperties.Enabled = true; int index = lvFiles.SelectedIndices[0]; if (index >= 0) { CPCDSK.Document.Item item = Document.Items[index]; AmsdosFilename.Text = item.AmsdosFilename; if (item.ItemType == CPCDSK.Document.ItemType.Binary) { cbType.SelectedIndex = 0; } else { cbType.SelectedIndex = 1; } LoadAdress.Text = "0x" + String.Format("{0:X4}", item.LoadAdress); // Load Adress ExecAdress.Text = "0x" + String.Format("{0:X4}", item.ExecAdress); // Execution Adress cbCopyToWinAPERomFolder.Checked = item.CopyToWinAPEROMFolder; cbTrackLoaderItem.Checked = item.TrackLoaderItem; } isControlUpdating = false; }
private void cbType_SelectedIndexChanged(object sender, EventArgs e) { CPCDSK.Document.Item item = GetSelectedItem(); if (item == null) { return; } if (cbType.SelectedIndex == 0) { item.ItemType = CPCDSK.Document.ItemType.Binary; } else { item.ItemType = CPCDSK.Document.ItemType.Basic; } RefreshListViewItem(lvFiles.SelectedItems[0], item); SetModified(true); }
private void MoveDown_Click(object sender, EventArgs e) { if (lvFiles.SelectedIndices.Count == 0) { return; } int index = lvFiles.SelectedIndices[0]; if (index < (lvFiles.Items.Count - 1)) { CPCDSK.Document.Item item = Document.Items[index]; Document.Items.RemoveAt(index); Document.Items.Insert(index + 1, item); SetModified(true); RefreshUI(); lvFiles.SelectedIndices.Clear(); lvFiles.Items[index + 1].Selected = true; lvFiles.Items[index + 1].EnsureVisible(); } }
private void Reorder_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "All Order files (*.*)|*.*"; openFileDialog.Multiselect = false; openFileDialog.Title = "Select Order file(s)..."; openFileDialog.FileName = String.Empty; openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); if (openFileDialog.ShowDialog() == DialogResult.OK) { Plugin.ControllerEditor.Host.Log("Re-ordering..."); var filename = openFileDialog.FileName; var orderContent = File.ReadAllBytes(filename); var newItems = new List<CPCDSK.Document.Item>(Document.Items.Count); foreach (var oldAmsdosItem in Document.Items) { if ( oldAmsdosItem.TrackLoaderItem == false ) { newItems.Add(oldAmsdosItem); } } foreach( var fileIndex in orderContent ) { var oldItem = Document.Items[(int)(fileIndex)]; int foundCount = 0; foreach( var newItem in newItems ) { if ( newItem.ResourceID == oldItem.ResourceID ) { foundCount++; } } if (foundCount!=0) { PhactoryHost.Database.Resource resource = Plugin.ControllerEditor.Host.GetResource(oldItem.ResourceID); var duplicateItem = new CPCDSK.Document.Item(); duplicateItem.ResourceID = oldItem.ResourceID; duplicateItem.LoadAdress = oldItem.LoadAdress; duplicateItem.ExecAdress = oldItem.ExecAdress; duplicateItem.ItemType = oldItem.ItemType; duplicateItem.CopyToWinAPEROMFolder = oldItem.CopyToWinAPEROMFolder; duplicateItem.TrackLoaderItem = oldItem.TrackLoaderItem; duplicateItem.AmsdosFilename = oldItem.AmsdosFilename; duplicateItem.IsDuplicate = true; duplicateItem.DuplicatedIndex = foundCount + 1; Plugin.ControllerEditor.Host.Log("Duplicate created : " + resource.DisplayName + " (was File Index=" + ((int)fileIndex) + ")"); newItems.Add(duplicateItem); } else { newItems.Add(oldItem); } } Document.Items = newItems; Plugin.ControllerEditor.Host.Log("Reorder completed"); SetModified(true); RefreshUI(); } }
private void Reorder_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "All Order files (*.*)|*.*"; openFileDialog.Multiselect = false; openFileDialog.Title = "Select Order file(s)..."; openFileDialog.FileName = String.Empty; openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); if (openFileDialog.ShowDialog() == DialogResult.OK) { Plugin.ControllerEditor.Host.Log("Re-ordering..."); var filename = openFileDialog.FileName; var orderContent = File.ReadAllBytes(filename); var newItems = new List <CPCDSK.Document.Item>(Document.Items.Count); foreach (var oldAmsdosItem in Document.Items) { if (oldAmsdosItem.TrackLoaderItem == false) { newItems.Add(oldAmsdosItem); } } foreach (var fileIndex in orderContent) { var oldItem = Document.Items[(int)(fileIndex)]; int foundCount = 0; foreach (var newItem in newItems) { if (newItem.ResourceID == oldItem.ResourceID) { foundCount++; } } if (foundCount != 0) { PhactoryHost.Database.Resource resource = Plugin.ControllerEditor.Host.GetResource(oldItem.ResourceID); var duplicateItem = new CPCDSK.Document.Item(); duplicateItem.ResourceID = oldItem.ResourceID; duplicateItem.LoadAdress = oldItem.LoadAdress; duplicateItem.ExecAdress = oldItem.ExecAdress; duplicateItem.ItemType = oldItem.ItemType; duplicateItem.CopyToWinAPEROMFolder = oldItem.CopyToWinAPEROMFolder; duplicateItem.TrackLoaderItem = oldItem.TrackLoaderItem; duplicateItem.AmsdosFilename = oldItem.AmsdosFilename; duplicateItem.IsDuplicate = true; duplicateItem.DuplicatedIndex = foundCount + 1; Plugin.ControllerEditor.Host.Log("Duplicate created : " + resource.DisplayName + " (was File Index=" + ((int)fileIndex) + ")"); newItems.Add(duplicateItem); } else { newItems.Add(oldItem); } } Document.Items = newItems; Plugin.ControllerEditor.Host.Log("Reorder completed"); SetModified(true); RefreshUI(); } }