private void load_archive(TreeNode current) { List_Strings.BeginUpdate(); List_Strings.Items.Clear(); if (current.Parent != null) { Split.Panel2.Enabled = true; current_table = int.Parse(current.Parent.Text.Substring(0, 2), System.Globalization.NumberStyles.HexNumber); current_archive = int.Parse(current.Text, System.Globalization.NumberStyles.HexNumber); TextTable table = (TextTable)current_controller.Tables[current_table]; List <string> current_strings = table.get_contents(current_archive); for (int i = 0; i < current_strings.Count; i++) { ListViewItem listview_item = new ListViewItem(); listview_item.Text = i.ToString("X2"); listview_item.SubItems.Add(current_strings[i]); List_Strings.Items.Add(listview_item); } } else { Split.Panel2.Enabled = false; } List_Strings.EndUpdate(); }
private void List_Strings_ItemActivate(object sender, EventArgs e) { if (List_Strings.SelectedItems.Count > 0) { TextTable text_table = (TextTable)current_controller.Tables[current_table]; ListViewItem item = List_Strings.SelectedItems[0]; int index = int.Parse(item.SubItems[0].Text, System.Globalization.NumberStyles.HexNumber); List <string> archive_strings = text_table.get_contents(current_archive); string active_string = archive_strings[index]; Form archive_box; if (text_table.get_type(current_archive) == 1) { archive_box = new Text_Edit_ArchiveT1(active_string); } else { int character = text_table.get_args(current_archive, index, 1); int voice = text_table.get_args(current_archive, index, 2); archive_box = new Text_Edit_ArchiveT2(active_string, character, voice); } using (var form = archive_box) { var result = form.ShowDialog(); if (result == DialogResult.OK) { ArchiveEdit data = (ArchiveEdit)form; archive_strings[index] = data.ArchiveText; text_table.set_contents(current_archive, archive_strings); text_table.set_args(current_archive, index, data.ArchiveArg1, 1); text_table.set_args(current_archive, index, data.ArchiveArg2, 2); current_controller.Tables[current_table] = text_table; item.SubItems[1].Text = data.ArchiveText; List_Strings.Update(); } } } }
private void search_text() { int last_index = search_index; for (int i = search_index; i < List_Strings.Items.Count; i++) { if (List_Strings.Items[i].SubItems[1].Text.Contains(SearchBox.Text)) { List_Strings.Items[i].Selected = true; List_Strings.Select(); List_Strings.EnsureVisible(i); search_index = i + 1; break; } } if (last_index == search_index) { search_index = 0; } }