Esempio n. 1
0
        public SAV_Encounters(PKMEditor f1)
        {
            InitializeComponent();

            PKME_Tabs = f1;

            var grid        = EncounterPokeGrid;
            var smallWidth  = grid.Width;
            var smallHeight = grid.Height;

            grid.InitializeGrid(6, 11, SpriteUtil.Spriter);
            grid.SetBackground(Resources.box_wp_clean);
            var newWidth  = grid.Width;
            var newHeight = grid.Height;
            var wdelta    = newWidth - smallWidth;

            if (wdelta != 0)
            {
                Width += wdelta;
            }
            var hdelta = newHeight - smallHeight;

            if (hdelta != 0)
            {
                Height += hdelta;
            }

            PKXBOXES = grid.Entries.ToArray();

            // Enable Scrolling when hovered over
            foreach (var slot in PKXBOXES)
            {
                // Enable Click
                slot.MouseClick += (sender, e) =>
                {
                    if (sender == null)
                    {
                        return;
                    }
                    if (ModifierKeys == Keys.Control)
                    {
                        ClickView(sender, e);
                    }
                };
                slot.ContextMenuStrip = mnu;
            }

            Counter              = L_Count.Text;
            L_Viewed.Text        = string.Empty; // invis for now
            L_Viewed.MouseEnter += (sender, e) => hover.SetToolTip(L_Viewed, L_Viewed.Text);
            PopulateComboBoxes();

            WinFormsUtil.TranslateInterface(this, Main.CurrentLanguage);
            GetTypeFilters();

            // Load Data
            L_Count.Text = "Ready...";

            CenterToParent();
        }
        private void LegalizeActive()
        {
            var pk = PKMEditor.PreparePKM();
            var la = new LegalityAnalysis(pk);

            if (la.Valid)
            {
                return; // already valid, don't modify it
            }
            var sav    = SaveFileEditor.SAV;
            var result = sav.Legalize(pk);

            // let's double check

            la = new LegalityAnalysis(result);
            if (!la.Valid)
            {
                var res = WinFormsUtil.ALMError("Unable to make the Active Pokemon legal!", "Please refer to the wiki by clicking on the GitHub button for further help!");
                if (res == DialogResult.Yes)
                {
                    Process.Start("https://discord.gg/tDMvSRv");
                }
                else if (res == DialogResult.No)
                {
                    Process.Start("https://github.com/architdate/PKHeX-Plugins/wiki/Getting-Started-with-Auto-Legality-Mod");
                }
                return;
            }

            PKMEditor.PopulateFields(result);
            WinFormsUtil.Alert("Legalized Active Pokemon!");
        }
Esempio n. 3
0
        private void GPSSUpload(object sender, EventArgs e)
        {
            var pk = PKMEditor.PreparePKM();

            byte[] rawdata = pk.Data;
            var    postval = PKHeX.Core.Enhancements.NetUtil.GPSSPost(rawdata, Url);

            Clipboard.SetText(postval);
            WinFormsUtil.Alert(postval);
        }
Esempio n. 4
0
 private bool LoadPKM(PKM pk)
 {
     pk = PKMConverter.ConvertToType(pk, SaveFileEditor.SAV.PKMType, out _);
     if (pk == null)
     {
         return(false);
     }
     PKMEditor.PopulateFields(pk);
     return(true);
 }
        private void RandPIDCurrent(string flag)
        {
            var pkm    = PKMEditor.PreparePKM();
            var sav    = SaveFileEditor.SAV;
            var result = sav.SetPIDCurrent(pkm, flag);

            LegalityAnalysis la = new LegalityAnalysis(result);

            if (!la.Valid)
            {
                WinFormUtils.Alert($"Can not Set Current Pokemon to {flag}!");
                return;
            }

            PKMEditor.PopulateFields(result);
            WinFormUtils.Alert($"Set Current Pokemon to {flag}!");
        }
        private void AutoEggCurrent()
        {
            var pkm = PKMEditor.PreparePKM();

            if (pkm.IsEgg)
            {
                return;     // already egg, should not modify it
            }
            var sav    = SaveFileEditor.SAV;
            var result = sav.SetEggCurrent(pkm);

            // Check Null
            if (result == null)
            {
                WinFormUtils.Alert($"Current Pokemon should not to be an Egg!");
                return;
            }
            PKMEditor.PopulateFields(result);
            WinFormUtils.Alert($"Set Current Pokemon to Egg!");
        }
Esempio n. 7
0
        private void LegalizeActive()
        {
            var pk = PKMEditor.PreparePKM();
            var la = new LegalityAnalysis(pk);

            if (la.Valid)
            {
                return; // already valid, don't modify it
            }
            var sav    = SaveFileEditor.SAV;
            var result = sav.Legalize(pk);

            // let's double check

            la = new LegalityAnalysis(result);
            if (!la.Valid)
            {
                WinFormsUtil.Error("Unable to make the Active Pokemon legal!");
                return;
            }

            PKMEditor.PopulateFields(result);
            WinFormsUtil.Alert("Legalized Active Pokemon!");
        }
Esempio n. 8
0
        public SAV_Database(PKMEditor f1, SAVEditor saveditor)
        {
            InitializeComponent();

            WinFormsUtil.TranslateInterface(this, Main.CurrentLanguage);
            mnu.Items.AddRange(new ToolStripItem[] { mnuView, mnuDelete });

            SAV       = saveditor.SAV;
            BoxView   = saveditor;
            PKME_Tabs = f1;

            // Preset Filters to only show PKM available for loaded save
            CB_FormatComparator.SelectedIndex = 3; // <=
            pokeGrid1.InitializeGrid(6, 11);
            pokeGrid1.SetBackground(Resources.box_wp_clean);
            PKXBOXES = pokeGrid1.Entries.ToArray();

            // Enable Scrolling when hovered over
            foreach (var slot in PKXBOXES)
            {
                // Enable Click
                slot.MouseClick += (sender, e) =>
                {
                    switch (ModifierKeys)
                    {
                    case Keys.Control: ClickView(sender, e); break;

                    case Keys.Alt: ClickDelete(sender, e); break;

                    case Keys.Shift: ClickSet(sender, e); break;
                    }
                };

                if (Settings.Default.HoverSlotShowText)
                {
                    slot.MouseEnter += ShowHoverTextForSlot;
                }
            }

            Counter       = L_Count.Text;
            Viewed        = L_Viewed.Text;
            L_Viewed.Text = string.Empty; // invisible for now
            PopulateComboBoxes();

            // Assign to datagridview
            foreach (PictureBox p in PKXBOXES)
            {
                p.ContextMenuStrip = mnu;
            }

            // Load Data
            B_Search.Enabled = false;
            L_Count.Text     = "Loading...";
            new Task(LoadDatabase).Start();

            Menu_SearchSettings.DropDown.Closing += (sender, e) =>
            {
                if (e.CloseReason == ToolStripDropDownCloseReason.ItemClicked)
                {
                    e.Cancel = true;
                }
            };
            CB_Format.Items[0] = MsgAny;
            CenterToParent();
        }
Esempio n. 9
0
        private void SmogonGenning(object sender, EventArgs e)
        {
            var rough = PKMEditor.PreparePKM();

            GenSmogonSets(rough);
        }
Esempio n. 10
0
        public SAV_MysteryGiftDB(PKMEditor tabs, SAVEditor sav)
        {
            SAV       = sav.SAV;
            PKME_Tabs = tabs;
            InitializeComponent();

            // 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,
            };

            // Enable Scrolling when hovered over
            foreach (var slot in PKXBOXES)
            {
                // Enable Click
                slot.MouseClick += (sender, e) =>
                {
                    if (ModifierKeys == Keys.Control)
                    {
                        ClickView(sender, e);
                    }
                };
            }

            Counter       = L_Count.Text;
            Viewed        = L_Viewed.Text;
            L_Viewed.Text = ""; // invis for now
            var hover = new ToolTip();

            L_Viewed.MouseEnter += (sender, e) => hover.SetToolTip(L_Viewed, L_Viewed.Text);

            ContextMenuStrip  mnu       = new ContextMenuStrip();
            ToolStripMenuItem mnuView   = new ToolStripMenuItem("View");
            ToolStripMenuItem mnuSaveMG = new ToolStripMenuItem("Save Gift");
            ToolStripMenuItem mnuSavePK = new ToolStripMenuItem("Save PKM");

            // Assign event handlers
            mnuView.Click   += ClickView;
            mnuSaveMG.Click += ClickSaveMG;
            mnuSavePK.Click += ClickSavePK;

            // Add to main context menu
            mnu.Items.AddRange(new ToolStripItem[] { mnuView, mnuSaveMG, mnuSavePK });

            // Assign to datagridview
            foreach (PictureBox p in PKXBOXES)
            {
                p.ContextMenuStrip = mnu;
            }

            // Load Data
            B_Search.Enabled = false;
            L_Count.Text     = "Loading...";
            new Task(LoadDatabase).Start();

            Menu_SearchSettings.DropDown.Closing += (sender, e) =>
            {
                if (e.CloseReason == ToolStripDropDownCloseReason.ItemClicked)
                {
                    e.Cancel = true;
                }
            };
            CenterToParent();
        }
Esempio n. 11
0
        public SAV_Encounters(PKMEditor f1)
        {
            InitializeComponent();

            ToolStripMenuItem mnuView = new ToolStripMenuItem {
                Name = "mnuView", Text = "View", Image = Resources.other
            };

            ContextMenuStrip mnu = new ContextMenuStrip();

            mnu.Items.AddRange(new ToolStripItem[] { mnuView });

            PKME_Tabs = f1;

            pokeGrid1.InitializeGrid(6, 11);
            pokeGrid1.SetBackground(Resources.box_wp_clean);
            PKXBOXES = pokeGrid1.Entries.ToArray();

            // Enable Scrolling when hovered over
            foreach (var slot in PKXBOXES)
            {
                // Enable Click
                slot.MouseClick += (sender, e) =>
                {
                    if (ModifierKeys == Keys.Control)
                    {
                        ClickView(sender, e);
                    }
                };
            }

            Counter       = L_Count.Text;
            L_Viewed.Text = string.Empty; // invis for now
            var hover = new ToolTip();

            L_Viewed.MouseEnter += (sender, e) => hover.SetToolTip(L_Viewed, L_Viewed.Text);
            PopulateComboBoxes();

            // Assign event handlers
            mnuView.Click += ClickView;

            // Add to main context menu

            // Assign to datagridview
            foreach (PictureBox p in PKXBOXES)
            {
                p.ContextMenuStrip = mnu;
            }

            WinFormsUtil.TranslateInterface(this, Main.CurrentLanguage);

            TLP_Filters.Controls.Add(TypeFilters = GetTypeFilters(), 2, TLP_Filters.RowCount - 1);

            // Load Data
            L_Count.Text = "Ready...";

            Menu_SearchSettings.DropDown.Closing += (sender, e) =>
            {
                if (e.CloseReason == ToolStripDropDownCloseReason.ItemClicked)
                {
                    e.Cancel = true;
                }
            };
            CenterToParent();
        }
Esempio n. 12
0
        public SAV_Database(PKMEditor f1, SAVEditor saveditor)
        {
            SAV       = saveditor.SAV;
            BoxView   = saveditor;
            PKME_Tabs = f1;
            InitializeComponent();

            // 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,
            };

            // Enable Scrolling when hovered over
            PAN_Box.MouseWheel += (sender, e) =>
            {
                if (ActiveForm == this)
                {
                    SCR_Box.Focus();
                }
            };
            foreach (var slot in PKXBOXES)
            {
                slot.MouseWheel += (sender, e) =>
                {
                    if (ActiveForm == this)
                    {
                        SCR_Box.Focus();
                    }
                };
                // Enable Click
                slot.MouseClick += (sender, e) =>
                {
                    if (ModifierKeys == Keys.Control)
                    {
                        ClickView(sender, e);
                    }
                    else if (ModifierKeys == Keys.Alt)
                    {
                        ClickDelete(sender, e);
                    }
                    else if (ModifierKeys == Keys.Shift)
                    {
                        ClickSet(sender, e);
                    }
                };
            }

            Counter       = L_Count.Text;
            Viewed        = L_Viewed.Text;
            L_Viewed.Text = ""; // invis for now
            var hover = new ToolTip();

            L_Viewed.MouseEnter += (sender, e) => hover.SetToolTip(L_Viewed, L_Viewed.Text);
            PopulateComboBoxes();

            ContextMenuStrip  mnu       = new ContextMenuStrip();
            ToolStripMenuItem mnuView   = new ToolStripMenuItem("View");
            ToolStripMenuItem mnuDelete = new ToolStripMenuItem("Delete");

            // Assign event handlers
            mnuView.Click   += ClickView;
            mnuDelete.Click += ClickDelete;

            // Add to main context menu
            mnu.Items.AddRange(new ToolStripItem[] { mnuView, mnuDelete });

            // Assign to datagridview
            foreach (PictureBox p in PKXBOXES)
            {
                p.ContextMenuStrip = mnu;
            }

            // Load Data
            var dbTemp = new ConcurrentBag <PKM>();
            var files  = Directory.GetFiles(DatabasePath, "*", SearchOption.AllDirectories);

            Parallel.ForEach(files, file =>
            {
                FileInfo fi = new FileInfo(file);
                if (!fi.Extension.Contains(".pk") || !PKX.IsPKM(fi.Length))
                {
                    return;
                }
                var pk = PKMConverter.GetPKMfromBytes(File.ReadAllBytes(file), file, prefer: (fi.Extension.Last() - 0x30) & 7);
                if (pk != null)
                {
                    dbTemp.Add(pk);
                }
            });

#if DEBUG
            if (SaveUtil.GetSavesFromFolder(Main.BackupPath, false, out IEnumerable <string> result))
            {
                Parallel.ForEach(result, file =>
                {
                    var sav  = SaveUtil.GetVariantSAV(File.ReadAllBytes(file));
                    var path = EXTERNAL_SAV + new FileInfo(file).Name;
                    if (sav.HasBox)
                    {
                        foreach (var pk in sav.BoxData)
                        {
                            addPKM(pk);
                        }
                    }

                    void addPKM(PKM pk)
                    {
                        pk.Identifier = Path.Combine(path, pk.Identifier);
                        dbTemp.Add(pk);
                    }
                });
            }
#endif

            // Prepare Database
            RawDB = new List <PKM>(dbTemp.OrderBy(pk => pk.Identifier)
                                   .Concat(SAV.BoxData.Where(pk => pk.Species != 0))      // Fetch from save file
                                   .Where(pk => pk.ChecksumValid && pk.Species != 0 && pk.Sanity == 0)
                                   .Distinct());
            SetResults(RawDB);

            Menu_SearchSettings.DropDown.Closing += (sender, e) =>
            {
                if (e.CloseReason == ToolStripDropDownCloseReason.ItemClicked)
                {
                    e.Cancel = true;
                }
            };
            CenterToParent();
        }
Esempio n. 13
0
        public SAV_Encounters(PKMEditor f1)
        {
            InitializeComponent();

            ToolStripMenuItem mnuView = new ToolStripMenuItem {
                Name = "mnuView", Text = "View"
            };

            WinFormsUtil.TranslateInterface(this, Main.CurrentLanguage);
            ContextMenuStrip mnu = new ContextMenuStrip();

            mnu.Items.AddRange(new ToolStripItem[] { mnuView });

            PKME_Tabs = f1;

            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,
            };

            // Enable Scrolling when hovered over
            foreach (var slot in PKXBOXES)
            {
                // Enable Click
                slot.MouseClick += (sender, e) =>
                {
                    if (ModifierKeys == Keys.Control)
                    {
                        ClickView(sender, e);
                    }
                };
            }

            Counter       = L_Count.Text;
            L_Viewed.Text = string.Empty; // invis for now
            var hover = new ToolTip();

            L_Viewed.MouseEnter += (sender, e) => hover.SetToolTip(L_Viewed, L_Viewed.Text);
            PopulateComboBoxes();

            // Assign event handlers
            mnuView.Click += ClickView;

            // Add to main context menu

            // Assign to datagridview
            foreach (PictureBox p in PKXBOXES)
            {
                p.ContextMenuStrip = mnu;
            }

            // Load Data
            L_Count.Text = "Ready...";

            Menu_SearchSettings.DropDown.Closing += (sender, e) =>
            {
                if (e.CloseReason == ToolStripDropDownCloseReason.ItemClicked)
                {
                    e.Cancel = true;
                }
            };
            CenterToParent();
        }
Esempio n. 14
0
        public SAV_MysteryGiftDB(PKMEditor tabs, SAVEditor sav)
        {
            InitializeComponent();

            ToolStripMenuItem mnuView = new ToolStripMenuItem {
                Name = "mnuView", Text = "View", Image = Resources.other
            };
            ToolStripMenuItem mnuSaveMG = new ToolStripMenuItem {
                Name = "mnuSaveMG", Text = "Save Gift", Image = Resources.gift
            };
            ToolStripMenuItem mnuSavePK = new ToolStripMenuItem {
                Name = "mnuSavePK", Text = "Save PKM", Image = Resources.savePKM
            };

            WinFormsUtil.TranslateInterface(this, Main.CurrentLanguage);
            ContextMenuStrip mnu = new ContextMenuStrip();

            mnu.Items.AddRange(new ToolStripItem[] { mnuView, mnuSaveMG, mnuSavePK });

            SAV       = sav.SAV;
            BoxView   = sav;
            PKME_Tabs = tabs;

            // Preset Filters to only show PKM available for loaded save
            CB_FormatComparator.SelectedIndex = 3; // <=

            pokeGrid1.InitializeGrid(6, 11);
            pokeGrid1.SetBackground(Resources.box_wp_clean);
            PKXBOXES = pokeGrid1.Entries.ToArray();

            // Enable Scrolling when hovered over
            foreach (var slot in PKXBOXES)
            {
                // Enable Click
                slot.MouseClick += (sender, e) =>
                {
                    if (ModifierKeys == Keys.Control)
                    {
                        ClickView(sender, e);
                    }
                };
            }

            Counter       = L_Count.Text;
            Viewed        = L_Viewed.Text;
            L_Viewed.Text = string.Empty; // invis for now
            var hover = new ToolTip();

            L_Viewed.MouseEnter += (sender, e) => hover.SetToolTip(L_Viewed, L_Viewed.Text);

            // Assign event handlers
            mnuView.Click   += ClickView;
            mnuSaveMG.Click += ClickSaveMG;
            mnuSavePK.Click += ClickSavePK;

            // Assign to datagridview
            foreach (PictureBox p in PKXBOXES)
            {
                p.ContextMenuStrip = mnu;
            }

            // Load Data
            B_Search.Enabled = false;
            L_Count.Text     = "Loading...";
            new Task(LoadDatabase).Start();

            Menu_SearchSettings.DropDown.Closing += (sender, e) =>
            {
                if (e.CloseReason == ToolStripDropDownCloseReason.ItemClicked)
                {
                    e.Cancel = true;
                }
            };
            CB_Format.Items[0] = MsgAny;
            CenterToParent();
        }
Esempio n. 15
0
        public SAV_MysteryGiftDB(PKMEditor tabs, SAVEditor sav)
        {
            InitializeComponent();

            WinFormsUtil.TranslateInterface(this, Main.CurrentLanguage);

            SAV       = sav.SAV;
            BoxView   = sav;
            PKME_Tabs = tabs;

            // Preset Filters to only show PKM available for loaded save
            CB_FormatComparator.SelectedIndex = 3; // <=

            var grid        = MysteryPokeGrid;
            var smallWidth  = grid.Width;
            var smallHeight = grid.Height;

            grid.InitializeGrid(6, 11, SpriteUtil.Spriter);
            grid.SetBackground(Resources.box_wp_clean);
            var newWidth  = grid.Width;
            var newHeight = grid.Height;
            var wdelta    = newWidth - smallWidth;

            if (wdelta != 0)
            {
                Width += wdelta;
            }
            var hdelta = newHeight - smallHeight;

            if (hdelta != 0)
            {
                Height += hdelta;
            }

            PKXBOXES = grid.Entries.ToArray();

            // Enable Scrolling when hovered over
            foreach (var slot in PKXBOXES)
            {
                // Enable Click
                slot.MouseClick += (sender, e) =>
                {
                    if (ModifierKeys == Keys.Control)
                    {
                        ClickView(sender !, e);
                    }
                };

                slot.ContextMenuStrip = mnu;
            }

            Counter              = L_Count.Text;
            Viewed               = L_Viewed.Text;
            L_Viewed.Text        = string.Empty; // invis for now
            L_Viewed.MouseEnter += (sender, e) => hover.SetToolTip(L_Viewed, L_Viewed.Text);

            // Load Data
            B_Search.Enabled = false;
            L_Count.Text     = "Loading...";
            new Task(LoadDatabase).Start();

            CB_Format.Items[0] = MsgAny;
            CenterToParent();
        }
Esempio n. 16
0
        public SAV_Database(PKMEditor f1, SAVEditor saveditor)
        {
            InitializeComponent();

            WinFormsUtil.TranslateInterface(this, Main.CurrentLanguage);

            SAV       = saveditor.SAV;
            BoxView   = saveditor;
            PKME_Tabs = f1;

            // Preset Filters to only show PKM available for loaded save
            CB_FormatComparator.SelectedIndex = 3; // <=

            var grid        = DatabasePokeGrid;
            var smallWidth  = grid.Width;
            var smallHeight = grid.Height;

            grid.InitializeGrid(6, 11, SpriteUtil.Spriter);
            grid.SetBackground(Resources.box_wp_clean);
            var newWidth  = grid.Width;
            var newHeight = grid.Height;
            var wdelta    = newWidth - smallWidth;

            if (wdelta != 0)
            {
                Width += wdelta;
            }
            var hdelta = newHeight - smallHeight;

            if (hdelta != 0)
            {
                Height += hdelta;
            }
            PKXBOXES = grid.Entries.ToArray();

            // Enable Scrolling when hovered over
            foreach (var slot in PKXBOXES)
            {
                // Enable Click
                slot.MouseClick += (sender, e) =>
                {
                    if (sender == null)
                    {
                        return;
                    }
                    switch (ModifierKeys)
                    {
                    case Keys.Control: ClickView(sender, e); break;

                    case Keys.Alt: ClickDelete(sender, e); break;

                    case Keys.Shift: ClickSet(sender, e); break;
                    }
                };

                slot.ContextMenuStrip = mnu;
                if (Settings.Default.HoverSlotShowText)
                {
                    slot.MouseEnter += (o, args) => ShowHoverTextForSlot(slot, args);
                }
            }

            Counter       = L_Count.Text;
            Viewed        = L_Viewed.Text;
            L_Viewed.Text = string.Empty; // invisible for now
            PopulateComboBoxes();

            // Load Data
            B_Search.Enabled = false;
            L_Count.Text     = "Loading...";
            var task = new Task(LoadDatabase);

            task.ContinueWith(z =>
            {
                if (!z.IsFaulted)
                {
                    return;
                }
                Invoke((MethodInvoker)(() => L_Count.Text = "Failed."));
                if (z.Exception == null)
                {
                    return;
                }
                WinFormsUtil.Error("Loading database failed.", z.Exception.InnerException ?? new Exception(z.Exception.Message));
            });
            task.Start();

            Menu_SearchSettings.DropDown.Closing += (sender, e) =>
            {
                if (e.CloseReason == ToolStripDropDownCloseReason.ItemClicked)
                {
                    e.Cancel = true;
                }
            };
            CB_Format.Items[0] = MsgAny;
            CenterToParent();
        }
Esempio n. 17
0
        public SAV_Database(PKMEditor f1, SAVEditor saveditor)
        {
            InitializeComponent();

            ToolStripMenuItem mnuView = new ToolStripMenuItem {
                Name = "mnuView", Text = "View"
            };
            ToolStripMenuItem mnuDelete = new ToolStripMenuItem {
                Name = "mnuDelete", Text = "Delete"
            };

            WinFormsUtil.TranslateInterface(this, Main.CurrentLanguage);
            ContextMenuStrip mnu = new ContextMenuStrip();

            mnu.Items.AddRange(new ToolStripItem[] { mnuView, mnuDelete });

            SAV       = saveditor.SAV;
            BoxView   = saveditor;
            PKME_Tabs = f1;

            // 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,
            };

            // Enable Scrolling when hovered over
            foreach (var slot in PKXBOXES)
            {
                // Enable Click
                slot.MouseClick += (sender, e) =>
                {
                    if (ModifierKeys == Keys.Control)
                    {
                        ClickView(sender, e);
                    }
                    else if (ModifierKeys == Keys.Alt)
                    {
                        ClickDelete(sender, e);
                    }
                    else if (ModifierKeys == Keys.Shift)
                    {
                        ClickSet(sender, e);
                    }
                };
            }

            Counter       = L_Count.Text;
            Viewed        = L_Viewed.Text;
            L_Viewed.Text = string.Empty; // invis for now
            var hover = new ToolTip();

            L_Viewed.MouseEnter += (sender, e) => hover.SetToolTip(L_Viewed, L_Viewed.Text);
            PopulateComboBoxes();

            // Assign event handlers
            mnuView.Click   += ClickView;
            mnuDelete.Click += ClickDelete;

            // Add to main context menu

            // Assign to datagridview
            foreach (PictureBox p in PKXBOXES)
            {
                p.ContextMenuStrip = mnu;
            }

            // Load Data
            B_Search.Enabled = false;
            L_Count.Text     = "Loading...";
            new Task(LoadDatabase).Start();

            Menu_SearchSettings.DropDown.Closing += (sender, e) =>
            {
                if (e.CloseReason == ToolStripDropDownCloseReason.ItemClicked)
                {
                    e.Cancel = true;
                }
            };
            CB_Format.Items[0] = MsgAny;
            CenterToParent();
        }
Esempio n. 18
0
        public SAV_MysteryGiftDB(PKMEditor tabs, SAVEditor sav)
        {
            SAV       = sav.SAV;
            PKME_Tabs = tabs;
            InitializeComponent();

            // 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,
            };

            // Enable Scrolling when hovered over
            PAN_Box.MouseWheel += (sender, e) =>
            {
                if (ActiveForm == this)
                {
                    SCR_Box.Focus();
                }
            };
            foreach (var slot in PKXBOXES)
            {
                slot.MouseWheel += (sender, e) =>
                {
                    if (ActiveForm == this)
                    {
                        SCR_Box.Focus();
                    }
                };
                // Enable Click
                slot.MouseClick += (sender, e) =>
                {
                    if (ModifierKeys == Keys.Control)
                    {
                        ClickView(sender, e);
                    }
                };
            }

            Counter       = L_Count.Text;
            Viewed        = L_Viewed.Text;
            L_Viewed.Text = ""; // invis for now
            var hover = new ToolTip();

            L_Viewed.MouseEnter += (sender, e) => hover.SetToolTip(L_Viewed, L_Viewed.Text);

            ContextMenuStrip  mnu       = new ContextMenuStrip();
            ToolStripMenuItem mnuView   = new ToolStripMenuItem("View");
            ToolStripMenuItem mnuSaveMG = new ToolStripMenuItem("Save Gift");
            ToolStripMenuItem mnuSavePK = new ToolStripMenuItem("Save PKM");

            // Assign event handlers
            mnuView.Click   += ClickView;
            mnuSaveMG.Click += ClickSaveMG;
            mnuSavePK.Click += ClickSavePK;

            // Add to main context menu
            mnu.Items.AddRange(new ToolStripItem[] { mnuView, mnuSaveMG, mnuSavePK });

            // Assign to datagridview
            foreach (PictureBox p in PKXBOXES)
            {
                p.ContextMenuStrip = mnu;
            }

            // Load Data
            RawDB = new List <MysteryGift>();
            RawDB.AddRange(Legal.MGDB_G4);
            RawDB.AddRange(Legal.MGDB_G5);
            RawDB.AddRange(Legal.MGDB_G6);
            RawDB.AddRange(Legal.MGDB_G7);

            RawDB = new List <MysteryGift>(RawDB.Where(mg => !mg.IsItem && mg.IsPokémon && mg.Species > 0).Distinct().Concat(Legal.MGDB_G3).OrderBy(mg => mg.Species));
            foreach (var mg in RawDB)
            {
                mg.GiftUsed = false;
            }
            SetResults(RawDB);

            Menu_SearchSettings.DropDown.Closing += (sender, e) =>
            {
                if (e.CloseReason == ToolStripDropDownCloseReason.ItemClicked)
                {
                    e.Cancel = true;
                }
            };

            PopulateComboBoxes();
            CenterToParent();
        }