Dynamically generate slot grids

Gen1/2 INT: 20 slots => 4 wide x 5 high
Gen7lgpe: 25 slots => 5x5
otherwise: 6x5
(maintain 5 rows)

Database(s): 6x11

Could probably wrap the initialization logic (grabbing savefile, etc)
but works for now

This is all in prep for box sprite resizing (56x68 as evident by lgpe
sprites); figured I'd add some display flexibility to handle prior games
with non-30/box layouts.

shave off a couple pixels for popup box view to make the edges of the
box directly at the edge (-2 bot, -1 right side)
This commit is contained in:
Kurt
2019-10-02 20:04:12 -07:00
parent 93ebbb10a7
commit 43e8b08ba8
13 changed files with 221 additions and 2688 deletions

View File

@@ -28,442 +28,12 @@ protected override void Dispose(bool disposing)
/// </summary>
private void InitializeComponent()
{
this.PAN_Box = new System.Windows.Forms.Panel();
this.bpkx30 = new System.Windows.Forms.PictureBox();
this.bpkx29 = new System.Windows.Forms.PictureBox();
this.bpkx28 = new System.Windows.Forms.PictureBox();
this.bpkx27 = new System.Windows.Forms.PictureBox();
this.bpkx26 = new System.Windows.Forms.PictureBox();
this.bpkx25 = new System.Windows.Forms.PictureBox();
this.bpkx24 = new System.Windows.Forms.PictureBox();
this.bpkx23 = new System.Windows.Forms.PictureBox();
this.bpkx22 = new System.Windows.Forms.PictureBox();
this.bpkx21 = new System.Windows.Forms.PictureBox();
this.bpkx20 = new System.Windows.Forms.PictureBox();
this.bpkx19 = new System.Windows.Forms.PictureBox();
this.bpkx18 = new System.Windows.Forms.PictureBox();
this.bpkx17 = new System.Windows.Forms.PictureBox();
this.bpkx16 = new System.Windows.Forms.PictureBox();
this.bpkx15 = new System.Windows.Forms.PictureBox();
this.bpkx14 = new System.Windows.Forms.PictureBox();
this.bpkx13 = new System.Windows.Forms.PictureBox();
this.bpkx12 = new System.Windows.Forms.PictureBox();
this.bpkx11 = new System.Windows.Forms.PictureBox();
this.bpkx10 = new System.Windows.Forms.PictureBox();
this.bpkx9 = new System.Windows.Forms.PictureBox();
this.bpkx8 = new System.Windows.Forms.PictureBox();
this.bpkx7 = new System.Windows.Forms.PictureBox();
this.bpkx6 = new System.Windows.Forms.PictureBox();
this.bpkx5 = new System.Windows.Forms.PictureBox();
this.bpkx4 = new System.Windows.Forms.PictureBox();
this.bpkx3 = new System.Windows.Forms.PictureBox();
this.bpkx2 = new System.Windows.Forms.PictureBox();
this.bpkx1 = new System.Windows.Forms.PictureBox();
this.B_BoxRight = new System.Windows.Forms.Button();
this.B_BoxLeft = new System.Windows.Forms.Button();
this.CB_BoxSelect = new System.Windows.Forms.ComboBox();
this.PAN_Box.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.bpkx30)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx29)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx28)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx27)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx26)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx25)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx24)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx23)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx22)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx21)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx20)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx19)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx18)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx17)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx16)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx15)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx14)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx13)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx12)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx11)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx10)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx9)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx8)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx1)).BeginInit();
this.pokeGrid1 = new PKHeX.WinForms.Controls.PokeGrid();
this.SuspendLayout();
//
// PAN_Box
//
this.PAN_Box.BackgroundImage = global::PKHeX.WinForms.Properties.Resources.box_wp_default;
this.PAN_Box.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.PAN_Box.Controls.Add(this.bpkx30);
this.PAN_Box.Controls.Add(this.bpkx29);
this.PAN_Box.Controls.Add(this.bpkx28);
this.PAN_Box.Controls.Add(this.bpkx27);
this.PAN_Box.Controls.Add(this.bpkx26);
this.PAN_Box.Controls.Add(this.bpkx25);
this.PAN_Box.Controls.Add(this.bpkx24);
this.PAN_Box.Controls.Add(this.bpkx23);
this.PAN_Box.Controls.Add(this.bpkx22);
this.PAN_Box.Controls.Add(this.bpkx21);
this.PAN_Box.Controls.Add(this.bpkx20);
this.PAN_Box.Controls.Add(this.bpkx19);
this.PAN_Box.Controls.Add(this.bpkx18);
this.PAN_Box.Controls.Add(this.bpkx17);
this.PAN_Box.Controls.Add(this.bpkx16);
this.PAN_Box.Controls.Add(this.bpkx15);
this.PAN_Box.Controls.Add(this.bpkx14);
this.PAN_Box.Controls.Add(this.bpkx13);
this.PAN_Box.Controls.Add(this.bpkx12);
this.PAN_Box.Controls.Add(this.bpkx11);
this.PAN_Box.Controls.Add(this.bpkx10);
this.PAN_Box.Controls.Add(this.bpkx9);
this.PAN_Box.Controls.Add(this.bpkx8);
this.PAN_Box.Controls.Add(this.bpkx7);
this.PAN_Box.Controls.Add(this.bpkx6);
this.PAN_Box.Controls.Add(this.bpkx5);
this.PAN_Box.Controls.Add(this.bpkx4);
this.PAN_Box.Controls.Add(this.bpkx3);
this.PAN_Box.Controls.Add(this.bpkx2);
this.PAN_Box.Controls.Add(this.bpkx1);
this.PAN_Box.Location = new System.Drawing.Point(0, 25);
this.PAN_Box.Name = "PAN_Box";
this.PAN_Box.Size = new System.Drawing.Size(251, 160);
this.PAN_Box.TabIndex = 66;
//
// bpkx30
//
this.bpkx30.BackColor = System.Drawing.Color.Transparent;
this.bpkx30.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx30.Location = new System.Drawing.Point(207, 126);
this.bpkx30.Name = "bpkx30";
this.bpkx30.Size = new System.Drawing.Size(42, 32);
this.bpkx30.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx30.TabIndex = 59;
this.bpkx30.TabStop = false;
//
// bpkx29
//
this.bpkx29.BackColor = System.Drawing.Color.Transparent;
this.bpkx29.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx29.Location = new System.Drawing.Point(166, 126);
this.bpkx29.Name = "bpkx29";
this.bpkx29.Size = new System.Drawing.Size(42, 32);
this.bpkx29.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx29.TabIndex = 58;
this.bpkx29.TabStop = false;
//
// bpkx28
//
this.bpkx28.BackColor = System.Drawing.Color.Transparent;
this.bpkx28.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx28.Location = new System.Drawing.Point(125, 126);
this.bpkx28.Name = "bpkx28";
this.bpkx28.Size = new System.Drawing.Size(42, 32);
this.bpkx28.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx28.TabIndex = 57;
this.bpkx28.TabStop = false;
//
// bpkx27
//
this.bpkx27.BackColor = System.Drawing.Color.Transparent;
this.bpkx27.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx27.Location = new System.Drawing.Point(84, 126);
this.bpkx27.Name = "bpkx27";
this.bpkx27.Size = new System.Drawing.Size(42, 32);
this.bpkx27.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx27.TabIndex = 56;
this.bpkx27.TabStop = false;
//
// bpkx26
//
this.bpkx26.BackColor = System.Drawing.Color.Transparent;
this.bpkx26.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx26.Location = new System.Drawing.Point(43, 126);
this.bpkx26.Name = "bpkx26";
this.bpkx26.Size = new System.Drawing.Size(42, 32);
this.bpkx26.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx26.TabIndex = 55;
this.bpkx26.TabStop = false;
//
// bpkx25
//
this.bpkx25.BackColor = System.Drawing.Color.Transparent;
this.bpkx25.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx25.Location = new System.Drawing.Point(2, 126);
this.bpkx25.Name = "bpkx25";
this.bpkx25.Size = new System.Drawing.Size(42, 32);
this.bpkx25.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx25.TabIndex = 54;
this.bpkx25.TabStop = false;
//
// bpkx24
//
this.bpkx24.BackColor = System.Drawing.Color.Transparent;
this.bpkx24.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx24.Location = new System.Drawing.Point(207, 95);
this.bpkx24.Name = "bpkx24";
this.bpkx24.Size = new System.Drawing.Size(42, 32);
this.bpkx24.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx24.TabIndex = 53;
this.bpkx24.TabStop = false;
//
// bpkx23
//
this.bpkx23.BackColor = System.Drawing.Color.Transparent;
this.bpkx23.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx23.Location = new System.Drawing.Point(166, 95);
this.bpkx23.Name = "bpkx23";
this.bpkx23.Size = new System.Drawing.Size(42, 32);
this.bpkx23.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx23.TabIndex = 52;
this.bpkx23.TabStop = false;
//
// bpkx22
//
this.bpkx22.BackColor = System.Drawing.Color.Transparent;
this.bpkx22.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx22.Location = new System.Drawing.Point(125, 95);
this.bpkx22.Name = "bpkx22";
this.bpkx22.Size = new System.Drawing.Size(42, 32);
this.bpkx22.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx22.TabIndex = 51;
this.bpkx22.TabStop = false;
//
// bpkx21
//
this.bpkx21.BackColor = System.Drawing.Color.Transparent;
this.bpkx21.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx21.Location = new System.Drawing.Point(84, 95);
this.bpkx21.Name = "bpkx21";
this.bpkx21.Size = new System.Drawing.Size(42, 32);
this.bpkx21.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx21.TabIndex = 50;
this.bpkx21.TabStop = false;
//
// bpkx20
//
this.bpkx20.BackColor = System.Drawing.Color.Transparent;
this.bpkx20.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx20.Location = new System.Drawing.Point(43, 95);
this.bpkx20.Name = "bpkx20";
this.bpkx20.Size = new System.Drawing.Size(42, 32);
this.bpkx20.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx20.TabIndex = 49;
this.bpkx20.TabStop = false;
//
// bpkx19
//
this.bpkx19.BackColor = System.Drawing.Color.Transparent;
this.bpkx19.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx19.Location = new System.Drawing.Point(2, 95);
this.bpkx19.Name = "bpkx19";
this.bpkx19.Size = new System.Drawing.Size(42, 32);
this.bpkx19.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx19.TabIndex = 48;
this.bpkx19.TabStop = false;
//
// bpkx18
//
this.bpkx18.BackColor = System.Drawing.Color.Transparent;
this.bpkx18.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx18.Location = new System.Drawing.Point(207, 64);
this.bpkx18.Name = "bpkx18";
this.bpkx18.Size = new System.Drawing.Size(42, 32);
this.bpkx18.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx18.TabIndex = 47;
this.bpkx18.TabStop = false;
//
// bpkx17
//
this.bpkx17.BackColor = System.Drawing.Color.Transparent;
this.bpkx17.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx17.Location = new System.Drawing.Point(166, 64);
this.bpkx17.Name = "bpkx17";
this.bpkx17.Size = new System.Drawing.Size(42, 32);
this.bpkx17.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx17.TabIndex = 46;
this.bpkx17.TabStop = false;
//
// bpkx16
//
this.bpkx16.BackColor = System.Drawing.Color.Transparent;
this.bpkx16.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx16.Location = new System.Drawing.Point(125, 64);
this.bpkx16.Name = "bpkx16";
this.bpkx16.Size = new System.Drawing.Size(42, 32);
this.bpkx16.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx16.TabIndex = 45;
this.bpkx16.TabStop = false;
//
// bpkx15
//
this.bpkx15.BackColor = System.Drawing.Color.Transparent;
this.bpkx15.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx15.Location = new System.Drawing.Point(84, 64);
this.bpkx15.Name = "bpkx15";
this.bpkx15.Size = new System.Drawing.Size(42, 32);
this.bpkx15.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx15.TabIndex = 44;
this.bpkx15.TabStop = false;
//
// bpkx14
//
this.bpkx14.BackColor = System.Drawing.Color.Transparent;
this.bpkx14.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx14.Location = new System.Drawing.Point(43, 64);
this.bpkx14.Name = "bpkx14";
this.bpkx14.Size = new System.Drawing.Size(42, 32);
this.bpkx14.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx14.TabIndex = 43;
this.bpkx14.TabStop = false;
//
// bpkx13
//
this.bpkx13.BackColor = System.Drawing.Color.Transparent;
this.bpkx13.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx13.Location = new System.Drawing.Point(2, 64);
this.bpkx13.Name = "bpkx13";
this.bpkx13.Size = new System.Drawing.Size(42, 32);
this.bpkx13.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx13.TabIndex = 42;
this.bpkx13.TabStop = false;
//
// bpkx12
//
this.bpkx12.BackColor = System.Drawing.Color.Transparent;
this.bpkx12.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx12.Location = new System.Drawing.Point(207, 33);
this.bpkx12.Name = "bpkx12";
this.bpkx12.Size = new System.Drawing.Size(42, 32);
this.bpkx12.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx12.TabIndex = 41;
this.bpkx12.TabStop = false;
//
// bpkx11
//
this.bpkx11.BackColor = System.Drawing.Color.Transparent;
this.bpkx11.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx11.Location = new System.Drawing.Point(166, 33);
this.bpkx11.Name = "bpkx11";
this.bpkx11.Size = new System.Drawing.Size(42, 32);
this.bpkx11.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx11.TabIndex = 40;
this.bpkx11.TabStop = false;
//
// bpkx10
//
this.bpkx10.BackColor = System.Drawing.Color.Transparent;
this.bpkx10.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx10.Location = new System.Drawing.Point(125, 33);
this.bpkx10.Name = "bpkx10";
this.bpkx10.Size = new System.Drawing.Size(42, 32);
this.bpkx10.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx10.TabIndex = 39;
this.bpkx10.TabStop = false;
//
// bpkx9
//
this.bpkx9.BackColor = System.Drawing.Color.Transparent;
this.bpkx9.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx9.Location = new System.Drawing.Point(84, 33);
this.bpkx9.Name = "bpkx9";
this.bpkx9.Size = new System.Drawing.Size(42, 32);
this.bpkx9.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx9.TabIndex = 38;
this.bpkx9.TabStop = false;
//
// bpkx8
//
this.bpkx8.BackColor = System.Drawing.Color.Transparent;
this.bpkx8.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx8.Location = new System.Drawing.Point(43, 33);
this.bpkx8.Name = "bpkx8";
this.bpkx8.Size = new System.Drawing.Size(42, 32);
this.bpkx8.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx8.TabIndex = 37;
this.bpkx8.TabStop = false;
//
// bpkx7
//
this.bpkx7.BackColor = System.Drawing.Color.Transparent;
this.bpkx7.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx7.Location = new System.Drawing.Point(2, 33);
this.bpkx7.Name = "bpkx7";
this.bpkx7.Size = new System.Drawing.Size(42, 32);
this.bpkx7.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx7.TabIndex = 36;
this.bpkx7.TabStop = false;
//
// bpkx6
//
this.bpkx6.BackColor = System.Drawing.Color.Transparent;
this.bpkx6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx6.Location = new System.Drawing.Point(207, 2);
this.bpkx6.Name = "bpkx6";
this.bpkx6.Size = new System.Drawing.Size(42, 32);
this.bpkx6.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx6.TabIndex = 35;
this.bpkx6.TabStop = false;
//
// bpkx5
//
this.bpkx5.BackColor = System.Drawing.Color.Transparent;
this.bpkx5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx5.Location = new System.Drawing.Point(166, 2);
this.bpkx5.Name = "bpkx5";
this.bpkx5.Size = new System.Drawing.Size(42, 32);
this.bpkx5.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx5.TabIndex = 34;
this.bpkx5.TabStop = false;
//
// bpkx4
//
this.bpkx4.BackColor = System.Drawing.Color.Transparent;
this.bpkx4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx4.Location = new System.Drawing.Point(125, 2);
this.bpkx4.Name = "bpkx4";
this.bpkx4.Size = new System.Drawing.Size(42, 32);
this.bpkx4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx4.TabIndex = 33;
this.bpkx4.TabStop = false;
//
// bpkx3
//
this.bpkx3.BackColor = System.Drawing.Color.Transparent;
this.bpkx3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx3.Location = new System.Drawing.Point(84, 2);
this.bpkx3.Name = "bpkx3";
this.bpkx3.Size = new System.Drawing.Size(42, 32);
this.bpkx3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx3.TabIndex = 32;
this.bpkx3.TabStop = false;
//
// bpkx2
//
this.bpkx2.BackColor = System.Drawing.Color.Transparent;
this.bpkx2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx2.Location = new System.Drawing.Point(43, 2);
this.bpkx2.Name = "bpkx2";
this.bpkx2.Size = new System.Drawing.Size(42, 32);
this.bpkx2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx2.TabIndex = 31;
this.bpkx2.TabStop = false;
//
// bpkx1
//
this.bpkx1.BackColor = System.Drawing.Color.Transparent;
this.bpkx1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.bpkx1.Location = new System.Drawing.Point(2, 2);
this.bpkx1.Name = "bpkx1";
this.bpkx1.Size = new System.Drawing.Size(42, 32);
this.bpkx1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.bpkx1.TabIndex = 30;
this.bpkx1.TabStop = false;
//
// B_BoxRight
//
this.B_BoxRight.FlatStyle = System.Windows.Forms.FlatStyle.System;
@@ -528,85 +98,30 @@ private void InitializeComponent()
this.CB_BoxSelect.TabIndex = 63;
this.CB_BoxSelect.SelectedIndexChanged += new System.EventHandler(this.GetBox);
//
// pokeGrid1
//
this.pokeGrid1.Location = new System.Drawing.Point(0, 25);
this.pokeGrid1.Name = "pokeGrid1";
this.pokeGrid1.Size = new System.Drawing.Size(251, 160);
this.pokeGrid1.TabIndex = 66;
//
// BoxEditor
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
this.Controls.Add(this.PAN_Box);
this.Controls.Add(this.pokeGrid1);
this.Controls.Add(this.B_BoxRight);
this.Controls.Add(this.B_BoxLeft);
this.Controls.Add(this.CB_BoxSelect);
this.Name = "BoxEditor";
this.Size = new System.Drawing.Size(251, 185);
this.PAN_Box.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.bpkx30)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx29)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx28)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx27)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx26)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx25)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx24)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx23)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx22)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx21)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx20)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx19)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx18)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx17)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx16)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx15)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx14)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx13)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx12)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx11)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx10)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx9)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx8)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bpkx1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Panel PAN_Box;
private System.Windows.Forms.PictureBox bpkx30;
private System.Windows.Forms.PictureBox bpkx29;
private System.Windows.Forms.PictureBox bpkx28;
private System.Windows.Forms.PictureBox bpkx27;
private System.Windows.Forms.PictureBox bpkx26;
private System.Windows.Forms.PictureBox bpkx25;
private System.Windows.Forms.PictureBox bpkx24;
private System.Windows.Forms.PictureBox bpkx23;
private System.Windows.Forms.PictureBox bpkx22;
private System.Windows.Forms.PictureBox bpkx21;
private System.Windows.Forms.PictureBox bpkx20;
private System.Windows.Forms.PictureBox bpkx19;
private System.Windows.Forms.PictureBox bpkx18;
private System.Windows.Forms.PictureBox bpkx17;
private System.Windows.Forms.PictureBox bpkx16;
private System.Windows.Forms.PictureBox bpkx15;
private System.Windows.Forms.PictureBox bpkx14;
private System.Windows.Forms.PictureBox bpkx13;
private System.Windows.Forms.PictureBox bpkx12;
private System.Windows.Forms.PictureBox bpkx11;
private System.Windows.Forms.PictureBox bpkx10;
private System.Windows.Forms.PictureBox bpkx9;
private System.Windows.Forms.PictureBox bpkx8;
private System.Windows.Forms.PictureBox bpkx7;
private System.Windows.Forms.PictureBox bpkx6;
private System.Windows.Forms.PictureBox bpkx5;
private System.Windows.Forms.PictureBox bpkx4;
private System.Windows.Forms.PictureBox bpkx3;
private System.Windows.Forms.PictureBox bpkx2;
private System.Windows.Forms.PictureBox bpkx1;
public System.Windows.Forms.Button B_BoxRight;
public System.Windows.Forms.Button B_BoxLeft;
public System.Windows.Forms.ComboBox CB_BoxSelect;
private PokeGrid pokeGrid1;
}
}

View File

@@ -11,10 +11,10 @@ namespace PKHeX.WinForms.Controls
{
public partial class BoxEditor : UserControl, ISlotViewer<PictureBox>
{
public IList<PictureBox> SlotPictureBoxes { get; }
public IList<PictureBox> SlotPictureBoxes { get; private set; }
public SaveFile SAV => M?.SE.SAV;
public int BoxSlotCount { get; }
public int BoxSlotCount { get; private set; }
public SlotChangeManager M { get; set; }
public bool FlagIllegal { get; set; }
public bool CanSetCurrentBox { get; set; }
@@ -22,14 +22,25 @@ public partial class BoxEditor : UserControl, ISlotViewer<PictureBox>
public BoxEditor()
{
InitializeComponent();
SlotPictureBoxes = new List<PictureBox>
}
internal bool InitializeGrid()
{
var count = SAV.BoxSlotCount;
var width = count / 5;
var height = count / width;
if (pokeGrid1.InitializeGrid(width, height))
{
bpkx1, bpkx2, bpkx3, bpkx4, bpkx5, bpkx6,
bpkx7, bpkx8, bpkx9, bpkx10,bpkx11,bpkx12,
bpkx13,bpkx14,bpkx15,bpkx16,bpkx17,bpkx18,
bpkx19,bpkx20,bpkx21,bpkx22,bpkx23,bpkx24,
bpkx25,bpkx26,bpkx27,bpkx28,bpkx29,bpkx30,
};
pokeGrid1.HorizontallyCenter(this);
InitializeSlots();
return true;
}
return false;
}
private void InitializeSlots()
{
SlotPictureBoxes = pokeGrid1.Entries;
BoxSlotCount = SlotPictureBoxes.Count;
foreach (var pb in SlotPictureBoxes)
{
@@ -153,7 +164,7 @@ public void ResetSlots()
{
Editor.Reload();
int box = CurrentBox;
PAN_Box.BackgroundImage = SAV.WallpaperImage(box);
pokeGrid1.SetBackground(SAV.WallpaperImage(box));
M.Hover.Stop();
int index = box * SAV.BoxSlotCount;
@@ -237,14 +248,17 @@ private void GetBox(object sender, EventArgs e)
private void BoxSlot_QueryContinueDrag(object sender, QueryContinueDragEventArgs e) => M?.QueryContinueDrag(sender, e);
private void BoxSlot_DragDrop(object sender, DragEventArgs e) => M?.DragDrop(sender, e);
public void InitializeFromSAV(SaveFile sav)
public bool InitializeFromSAV(SaveFile sav)
{
Editor = new BoxEdit(sav);
bool result = InitializeGrid();
int box = sav.CurrentBox;
if ((uint)box >= sav.BoxCount)
box = 0;
Editor.LoadBox(box);
ResetBoxNames(); // Display the Box Names
return result;
}
}
}

View File

@@ -0,0 +1,46 @@
namespace PKHeX.WinForms.Controls
{
partial class PokeGrid
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.SuspendLayout();
//
// PokeGrid
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.Margin = new System.Windows.Forms.Padding(0);
this.Name = "PokeGrid";
this.Size = new System.Drawing.Size(80, 50);
this.ResumeLayout(false);
}
#endregion
}
}

View File

@@ -0,0 +1,78 @@
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
namespace PKHeX.WinForms.Controls
{
public partial class PokeGrid : UserControl
{
public PokeGrid()
{
InitializeComponent();
}
public List<PictureBox> Entries = new List<PictureBox>();
public int Slots { get; private set; }
private const int sizeW = 40;
private const int sizeH = 30;
public bool InitializeGrid(int width, int height)
{
var newCount = width * height;
if (Slots == newCount)
return false;
Generate(width, height);
Slots = newCount;
return true;
}
private const int padEdge = 1; // edges
private const int border = 1; // between
private void Generate(int width, int height)
{
SuspendLayout();
Controls.Clear();
Entries.Clear();
const int colWidth = sizeW;
const int rowHeight = sizeH;
for (int row = 0; row < height; row++)
{
var y = padEdge + (row * (rowHeight + border));
for (int column = 0; column < width; column++)
{
var x = padEdge + (column * (colWidth + border));
var pb = GetControl(sizeW, sizeH);
Controls.Add(pb);
pb.Location = new Point(x, y);
Entries.Add(pb);
}
}
Width = (2 * padEdge) + border + (width * (colWidth + border));
Height = (2 * padEdge) + border + (height * (rowHeight + border));
ResumeLayout();
}
public void SetBackground(Image img) => BackgroundImage = img;
public PictureBox GetControl(int width, int height)
{
return new PictureBox
{
AutoSize = false,
BackColor = Color.Transparent,
Width = width + (2 * 1),
Height = height + (2 * 1),
Padding = Padding.Empty,
Margin = Padding.Empty,
BorderStyle = BorderStyle.FixedSingle,
};
}
}
}

View File

@@ -88,8 +88,6 @@ public SAVEditor()
private void InitializeEvents()
{
foreach (PictureBox pb in Box.SlotPictureBoxes)
pb.ContextMenuStrip = menu.mnuVSD;
foreach (PictureBox pb in SlotPictureBoxes)
{
InitializeDragDrop(pb);
@@ -912,7 +910,13 @@ private void ToggleViewReset()
z.FindForm()?.Close();
Box.M = M;
Box.InitializeFromSAV(SAV);
bool newSlots = Box.InitializeFromSAV(SAV);
if (newSlots)
{
foreach (var pb in Box.SlotPictureBoxes)
pb.ContextMenuStrip = menu.mnuVSD;
}
SortMenu.ToggleVisibility();
}

File diff suppressed because it is too large Load Diff

View File

@@ -35,22 +35,9 @@ public SAV_Database(PKMEditor f1, SAVEditor saveditor)
// Preset Filters to only show PKM available for loaded save
CB_FormatComparator.SelectedIndex = 3; // <=
PKXBOXES = new[]
{
bpkx1, bpkx2, bpkx3, bpkx4, bpkx5, bpkx6,
bpkx7, bpkx8, bpkx9, bpkx10,bpkx11,bpkx12,
bpkx13,bpkx14,bpkx15,bpkx16,bpkx17,bpkx18,
bpkx19,bpkx20,bpkx21,bpkx22,bpkx23,bpkx24,
bpkx25,bpkx26,bpkx27,bpkx28,bpkx29,bpkx30,
bpkx31,bpkx32,bpkx33,bpkx34,bpkx35,bpkx36,
bpkx37,bpkx38,bpkx39,bpkx40,bpkx41,bpkx42,
bpkx43,bpkx44,bpkx45,bpkx46,bpkx47,bpkx48,
bpkx49,bpkx50,bpkx51,bpkx52,bpkx53,bpkx54,
bpkx55,bpkx56,bpkx57,bpkx58,bpkx59,bpkx60,
bpkx61,bpkx62,bpkx63,bpkx64,bpkx65,bpkx66,
};
pokeGrid1.InitializeGrid(6, 11);
pokeGrid1.SetBackground(Resources.box_wp_clean);
PKXBOXES = pokeGrid1.Entries.ToArray();
// Enable Scrolling when hovered over
foreach (var slot in PKXBOXES)
@@ -627,7 +614,7 @@ private void Menu_SearchAdvanced_Click(object sender, EventArgs e)
protected override void OnMouseWheel(MouseEventArgs e)
{
if (!PAN_Box.RectangleToScreen(PAN_Box.ClientRectangle).Contains(MousePosition))
if (!pokeGrid1.RectangleToScreen(pokeGrid1.ClientRectangle).Contains(MousePosition))
return;
int oldval = SCR_Box.Value;
int newval = oldval + (e.Delta < 0 ? 1 : -1);

File diff suppressed because it is too large Load Diff

View File

@@ -39,21 +39,9 @@ public SAV_MysteryGiftDB(PKMEditor tabs, SAVEditor sav)
// Preset Filters to only show PKM available for loaded save
CB_FormatComparator.SelectedIndex = 3; // <=
PKXBOXES = new[]
{
bpkx1, bpkx2, bpkx3, bpkx4, bpkx5, bpkx6,
bpkx7, bpkx8, bpkx9, bpkx10,bpkx11,bpkx12,
bpkx13,bpkx14,bpkx15,bpkx16,bpkx17,bpkx18,
bpkx19,bpkx20,bpkx21,bpkx22,bpkx23,bpkx24,
bpkx25,bpkx26,bpkx27,bpkx28,bpkx29,bpkx30,
bpkx31,bpkx32,bpkx33,bpkx34,bpkx35,bpkx36,
bpkx37,bpkx38,bpkx39,bpkx40,bpkx41,bpkx42,
bpkx43,bpkx44,bpkx45,bpkx46,bpkx47,bpkx48,
bpkx49,bpkx50,bpkx51,bpkx52,bpkx53,bpkx54,
bpkx55,bpkx56,bpkx57,bpkx58,bpkx59,bpkx60,
bpkx61,bpkx62,bpkx63,bpkx64,bpkx65,bpkx66,
};
pokeGrid1.InitializeGrid(6, 11);
pokeGrid1.SetBackground(Resources.box_wp_clean);
PKXBOXES = pokeGrid1.Entries.ToArray();
// Enable Scrolling when hovered over
foreach (var slot in PKXBOXES)
@@ -379,7 +367,7 @@ private void Menu_Exit_Click(object sender, EventArgs e)
protected override void OnMouseWheel(MouseEventArgs e)
{
if (!PAN_Box.RectangleToScreen(PAN_Box.ClientRectangle).Contains(MousePosition))
if (!pokeGrid1.RectangleToScreen(pokeGrid1.ClientRectangle).Contains(MousePosition))
return;
int oldval = SCR_Box.Value;
int newval = oldval + (e.Delta < 0 ? 1 : -1);

View File

@@ -55,11 +55,12 @@ private void AddControls(SAVEditor p, SlotChangeManager m, SaveFile sav)
for (int i = 0; i < sav.BoxCount; i++)
{
var boxEditor = new BoxEditor { Name = $"BE_Box{i:00}", Margin = new Padding(1) };
boxEditor.Editor = new BoxEdit(sav);
boxEditor.Setup(m);
boxEditor.InitializeGrid();
boxEditor.Reset();
foreach (PictureBox pb in boxEditor.SlotPictureBoxes)
pb.ContextMenuStrip = p.SlotPictureBoxes[0].ContextMenuStrip;
boxEditor.Setup(m);
boxEditor.Editor = new BoxEdit(sav);
boxEditor.Reset();
boxEditor.CurrentBox = i;
boxEditor.CB_BoxSelect.Enabled = false;
Boxes.Add(boxEditor);

View File

@@ -46,13 +46,17 @@ private void InitializeComponent()
// Box
//
this.Box.AllowDrop = true;
this.Box.CanSetCurrentBox = false;
this.Box.ControlsEnabled = true;
this.Box.ControlsVisible = true;
this.Box.CurrentBox = -1;
this.Box.Dock = System.Windows.Forms.DockStyle.Fill;
this.Box.Editor = null;
this.Box.FlagIllegal = false;
this.Box.Location = new System.Drawing.Point(0, 0);
this.Box.M = null;
this.Box.Name = "Box";
this.Box.Size = new System.Drawing.Size(250, 185);
this.Box.Size = new System.Drawing.Size(249, 183);
this.Box.TabIndex = 68;
//
// SAV_BoxViewer
@@ -60,7 +64,7 @@ private void InitializeComponent()
this.AllowDrop = true;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(250, 185);
this.ClientSize = new System.Drawing.Size(249, 183);
this.Controls.Add(this.PB_BoxSwap);
this.Controls.Add(this.Box);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;

View File

@@ -15,6 +15,7 @@ public SAV_BoxViewer(SAVEditor p, SlotChangeManager m)
InitializeComponent();
Box.Editor = new BoxEdit(m.SE.SAV);
Box.Setup(m);
Box.InitializeGrid();
Box.Reset();
CenterToParent();
@@ -44,7 +45,6 @@ public SAV_BoxViewer(SAVEditor p, SlotChangeManager m)
public int CurrentBox => Box.CurrentBox;
private void PB_BoxSwap_Click(object sender, EventArgs e) => Box.CurrentBox = parent.SwapBoxesViewer(Box.CurrentBox);
public void SetPKMBoxes() => Box.ResetSlots();
private static void Main_DragEnter(object sender, DragEventArgs e)
{

View File

@@ -15,6 +15,11 @@ public static class WinFormsUtil
{
internal static void TranslateInterface(Control form, string lang) => form.TranslateInterface(lang);
/// <summary>
/// Centers the <see cref="child"/> horizontally and vertically so that its center is the same as the <see cref="parent"/>'s center.
/// </summary>
/// <param name="child"></param>
/// <param name="parent"></param>
internal static void CenterToForm(this Control child, Control parent)
{
int x = parent.Location.X + ((parent.Width - child.Width) / 2);
@@ -22,6 +27,15 @@ internal static void CenterToForm(this Control child, Control parent)
child.Location = new Point(Math.Max(x, 0), Math.Max(y, 0));
}
/// <summary>
/// Horizontally centers the <see cref="child"/> to the <see cref="parent"/>'s horizontal center.
/// </summary>
internal static void HorizontallyCenter(this Control child, Control parent)
{
int x = ((parent.Width - child.Width) / 2);
child.Location = new Point(x, child.Location.Y);
}
public static T FirstFormOfType<T>() where T : Form => (T)Application.OpenForms.Cast<Form>().FirstOrDefault(form => form is T);
public static T FindFirstControlOfType<T>(Control aParent) where T : class