mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/PCK-Studio.git
synced 2026-05-22 01:46:30 +00:00
124 lines
3.6 KiB
C#
124 lines
3.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace MinecraftUSkinEditor
|
|
{
|
|
public partial class LOCEditor : MetroFramework.Forms.MetroForm
|
|
{
|
|
#region Variables
|
|
DataTable tbl;
|
|
LOC currentLoc;
|
|
|
|
public class displayId
|
|
{
|
|
public string id;
|
|
public string defaultName;
|
|
}
|
|
#endregion
|
|
|
|
|
|
public LOCEditor(LOC loc)
|
|
{
|
|
InitializeComponent();
|
|
|
|
tbl = new DataTable();
|
|
currentLoc = loc;
|
|
tbl.Columns.Add(new DataColumn("Language") { ReadOnly = true });
|
|
tbl.Columns.Add("Display Name");
|
|
dataGridViewLocEntryData.DataSource = tbl;
|
|
DataGridViewColumn column = dataGridViewLocEntryData.Columns[1];
|
|
column.Width = 600;
|
|
|
|
}
|
|
|
|
private void LOCEditor_Load(object sender, EventArgs e)
|
|
{
|
|
foreach(string id in currentLoc.ids.names)
|
|
treeViewLocEntries.Nodes.Add(id);
|
|
}
|
|
|
|
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
|
|
{
|
|
tbl.Rows.Clear();
|
|
|
|
foreach (LOC.Language l in currentLoc.langs)
|
|
tbl.Rows.Add(l.name, l.names[e.Node.Index]);
|
|
|
|
try
|
|
{
|
|
if (treeViewLocEntries.SelectedNode != null)
|
|
{
|
|
buttonReplaceAll.Enabled = true;
|
|
}
|
|
else
|
|
{
|
|
buttonReplaceAll.Enabled = false;
|
|
}
|
|
}catch (Exception)
|
|
{
|
|
buttonReplaceAll.Enabled = false;
|
|
}
|
|
}
|
|
|
|
private void deleteDisplayIDToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
if(treeViewLocEntries.SelectedNode != null)
|
|
{
|
|
int index = treeViewLocEntries.SelectedNode.Index;
|
|
|
|
currentLoc.ids.names.RemoveAt(index);
|
|
|
|
foreach (LOC.Language l in currentLoc.langs)
|
|
l.names.RemoveAt(index);
|
|
|
|
treeViewLocEntries.Nodes.RemoveAt(index);
|
|
}
|
|
}
|
|
|
|
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
|
|
{
|
|
for(int i = 0; i < tbl.Rows.Count; i++)
|
|
{
|
|
currentLoc.langs[i].names[treeViewLocEntries.SelectedNode.Index] = (string)tbl.Rows[i][1];
|
|
}
|
|
}
|
|
|
|
private void treeView1_KeyDown(object sender, KeyEventArgs e)
|
|
{
|
|
if (e.KeyData == Keys.Delete) //checks to make sure pressed key was del
|
|
{
|
|
if (treeViewLocEntries.SelectedNode != null)
|
|
{
|
|
int index = treeViewLocEntries.SelectedNode.Index;
|
|
|
|
currentLoc.ids.names.RemoveAt(index);
|
|
|
|
foreach (LOC.Language l in currentLoc.langs)
|
|
l.names.RemoveAt(index);
|
|
|
|
treeViewLocEntries.Nodes.RemoveAt(index);
|
|
}
|
|
}
|
|
}
|
|
|
|
private void buttonReplaceAll_Click(object sender, EventArgs e)
|
|
{
|
|
for (int i = 0; i < tbl.Rows.Count; i++)
|
|
{
|
|
tbl.Rows[i][1] = textBoxReplaceAll.Text;
|
|
}
|
|
for (int i = 0; i < tbl.Rows.Count; i++)
|
|
{
|
|
currentLoc.langs[i].names[treeViewLocEntries.SelectedNode.Index] = (string)tbl.Rows[i][1];
|
|
}
|
|
}
|
|
}
|
|
}
|