mirror of
https://github.com/kwsch/PKHeX.git
synced 2026-08-27 19:04:21 -05:00
Implement Create Data Report
Required adding a pre-filtered method to the report form in order to process data. Probably gonna end up with stupid identifiers stretching everything, but at least it shows where everything is. Best to export to a csv table anyway.
This commit is contained in:
3
SAV/SAV_Database.Designer.cs
generated
3
SAV/SAV_Database.Designer.cs
generated
@@ -930,7 +930,8 @@ private void InitializeComponent()
|
||||
//
|
||||
this.Menu_Report.Name = "Menu_Report";
|
||||
this.Menu_Report.Size = new System.Drawing.Size(176, 22);
|
||||
this.Menu_Report.Text = "Box Data Report";
|
||||
this.Menu_Report.Text = "Create Data Report";
|
||||
this.Menu_Report.Click += new System.EventHandler(this.generateDBReport);
|
||||
//
|
||||
// P_Results
|
||||
//
|
||||
|
||||
@@ -88,7 +88,8 @@ public SAV_Database(Main f1)
|
||||
// Fetch from save file
|
||||
for (int i = 0; i < 930; i++)
|
||||
{
|
||||
PK6 pk6 = new PK6(PKX.decryptArray(Main.savefile.Skip(Main.SaveGame.Box + 0xE8*i).Take(0xE8).ToArray()), "Boxes");
|
||||
string Identifier = String.Format("B{0}:{1}", (i / 30 + 1).ToString("00"), (i % 30 + 1).ToString("00"));
|
||||
PK6 pk6 = new PK6(PKX.decryptArray(Main.savefile.Skip(Main.SaveGame.Box + 0xE8*i).Take(0xE8).ToArray()), Identifier);
|
||||
if (pk6.Species != 0)
|
||||
Database[0].Slot.Add(pk6);
|
||||
}
|
||||
@@ -199,6 +200,16 @@ private void resetFilters(object sender, EventArgs e)
|
||||
CB_GameOrigin.SelectedIndex = 0;
|
||||
CB_Generation.SelectedIndex = 0;
|
||||
}
|
||||
private void generateDBReport(object sender, EventArgs e)
|
||||
{
|
||||
if (Util.Prompt(MessageBoxButtons.YesNoCancel, "Generate a Report on all data?", "This may take a while...")
|
||||
!= DialogResult.Yes)
|
||||
return;
|
||||
|
||||
frmReport ReportForm = new frmReport();
|
||||
ReportForm.Show();
|
||||
ReportForm.PopulateData(Results.ToArray());
|
||||
}
|
||||
|
||||
// IO Usage
|
||||
private class DatabaseList
|
||||
|
||||
@@ -151,6 +151,24 @@ public void PopulateData(byte[] InputData, int BoxDataOffset)
|
||||
}
|
||||
BoxBar.Visible = false;
|
||||
}
|
||||
public void PopulateData(PK6[] data)
|
||||
{
|
||||
BoxBar.Step = 1;
|
||||
PokemonList PL = new PokemonList();
|
||||
foreach (PK6 p in data)
|
||||
PL.Add(new Preview(p));
|
||||
|
||||
dgData.DataSource = PL;
|
||||
dgData.AutoGenerateColumns = true;
|
||||
BoxBar.Maximum = data.Length + dgData.Columns.Count;
|
||||
for (int i = 0; i < dgData.Columns.Count; i++)
|
||||
{
|
||||
BoxBar.PerformStep();
|
||||
if (dgData.Columns[i] is DataGridViewImageColumn) continue; // Don't add sorting for Sprites
|
||||
dgData.Columns[i].SortMode = DataGridViewColumnSortMode.Automatic;
|
||||
}
|
||||
BoxBar.Visible = false;
|
||||
}
|
||||
private void promptSaveCSV(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
if (Util.Prompt(MessageBoxButtons.YesNo,"Save all the data to CSV?") == DialogResult.Yes)
|
||||
|
||||
Reference in New Issue
Block a user