Ejemplo n.º 1
0
        public SAV_BoxList(SAVEditor p, SlotChangeManager m)
        {
            InitializeComponent();
            WinFormsUtil.TranslateInterface(this, Main.CurrentLanguage);

            // initialize boxes dynamically
            var sav = p.SAV;

            Boxes = new BoxEditor[sav.BoxCount];
            AddControls(p, m, sav);
            SetWindowDimensions(sav.BoxCount);

            AllowDrop = true;
            AddEvents();
            CenterToParent();
            Owner = p.ParentForm;
            foreach (var b in Boxes)
            {
                m.Env.Slots.Publisher.Subscribers.Add(b);
            }
            FormClosing += (sender, e) =>
            {
                foreach (var b in Boxes)
                {
                    b.M?.Boxes.Remove(b);
                    m.Env.Slots.Publisher.Subscribers.Remove(b);
                }
            };
        }
Ejemplo n.º 2
0
        public SAV_BoxViewer(SAVEditor p, SlotChangeManager m)
        {
            parent = p;
            InitializeComponent();
            Box.Setup(m);
            CenterToParent();

            AllowDrop     = true;
            GiveFeedback += (sender, e) => e.UseDefaultCursors = false;
            DragEnter    += Main_DragEnter;
            DragDrop     += (sender, e) =>
            {
                Cursor = DefaultCursor;
                System.Media.SystemSounds.Asterisk.Play();
            };
            Owner = p.ParentForm;

            MouseWheel += (s, e) =>
            {
                if (e.Delta > 1)
                {
                    Box.MoveLeft();
                }
                else
                {
                    Box.MoveRight();
                }
            };

            foreach (PictureBox pb in Box.SlotPictureBoxes)
            {
                pb.ContextMenuStrip = parent.SlotPictureBoxes[0].ContextMenuStrip;
            }
        }
Ejemplo n.º 3
0
        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),
                    Editor = new BoxEdit(sav),
                };
                boxEditor.Setup(m);
                boxEditor.InitializeGrid();
                boxEditor.Reset();
                foreach (PictureBox pb in boxEditor.SlotPictureBoxes)
                {
                    pb.ContextMenuStrip = p.SlotPictureBoxes[0].ContextMenuStrip;
                }
                boxEditor.CurrentBox           = i;
                boxEditor.CB_BoxSelect.Enabled = false;
                Boxes[i] = boxEditor;
            }
            FLP_Boxes.Controls.AddRange(Boxes);

            // Setup swapping
            foreach (var box in Boxes)
            {
                box.ClearEvents();
                box.B_BoxLeft.Click += (s, e) =>
                {
                    if (s == null)
                    {
                        return;
                    }
                    int index = Array.IndexOf(Boxes, ((Button)s).Parent);
                    int other = (index + Boxes.Length - 1) % Boxes.Length;
                    m.SwapBoxes(index, other, p.SAV);
                };
                box.B_BoxRight.Click += (s, e) =>
                {
                    if (s == null)
                    {
                        return;
                    }
                    int index = Array.IndexOf(Boxes, ((Button)s).Parent);
                    int other = (index + 1) % Boxes.Length;
                    m.SwapBoxes(index, other, p.SAV);
                };
            }
        }
Ejemplo n.º 4
0
        public SAV_BoxViewer(SAVEditor p, SlotChangeManager m)
        {
            parent = p;
            InitializeComponent();
            int deltaW = Width - Box.BoxPokeGrid.Width;
            int deltaH = Height - Box.BoxPokeGrid.Height;

            Box.Editor = new BoxEdit(m.SE.SAV);
            Box.Setup(m);
            Box.InitializeGrid();

            Width  = Box.BoxPokeGrid.Width + deltaW + 2;
            Height = Box.BoxPokeGrid.Height + deltaH + 2;

            Box.RecenterControls();
            Box.HorizontallyCenter(this);
            Box.Reset();
            CenterToParent();

            AllowDrop     = true;
            GiveFeedback += (sender, e) => e.UseDefaultCursors = false;
            DragEnter    += Main_DragEnter;
            DragDrop     += (sender, e) =>
            {
                Cursor = DefaultCursor;
                System.Media.SystemSounds.Asterisk.Play();
            };
            Owner = p.ParentForm;

            MouseWheel += (s, e) =>
            {
                if (parent.menu.mnuVSD.Visible)
                {
                    return;
                }
                Box.CurrentBox = e.Delta > 1 ? Box.Editor.MoveLeft() : Box.Editor.MoveRight();
            };

            foreach (PictureBox pb in Box.SlotPictureBoxes)
            {
                pb.ContextMenuStrip = parent.SlotPictureBoxes[0].ContextMenuStrip;
            }
            Box.ResetBoxNames(); // fix box names
            Box.ResetSlots();    // refresh box background
            p.EditEnv.Slots.Publisher.Subscribers.Add(Box);
        }
Ejemplo n.º 5
0
        public SAV_BoxList(SAVEditor p, SlotChangeManager m)
        {
            InitializeComponent();

            // initialize boxes dynamically
            var sav = p.SAV;

            AddControls(p, m, sav);
            SetWindowDimensions(sav.BoxCount);

            AllowDrop = true;
            AddEvents();
            CenterToParent();
            Owner        = p.ParentForm;
            FormClosing += (sender, e) =>
            {
                foreach (var b in Boxes)
                {
                    b.M.Boxes.Remove(b);
                }
            };
        }
Ejemplo n.º 6
0
        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)
                };
                foreach (PictureBox pb in boxEditor.SlotPictureBoxes)
                {
                    pb.ContextMenuStrip = p.SlotPictureBoxes[0].ContextMenuStrip;
                }
                boxEditor.Setup(m);
                boxEditor.Reset();
                boxEditor.CurrentBox           = i;
                boxEditor.CB_BoxSelect.Enabled = false;
                Boxes.Add(boxEditor);
                FLP_Boxes.Controls.Add(Boxes[i]);
            }

            // Setup swapping
            foreach (var box in Boxes)
            {
                box.ClearEvents();
                box.B_BoxLeft.Click += (s, e) =>
                {
                    int index = Boxes.FindIndex(z => z == ((Button)s).Parent);
                    int other = (index + Boxes.Count - 1) % Boxes.Count;
                    m.SwapBoxes(index, other);
                };
                box.B_BoxRight.Click += (s, e) =>
                {
                    int index = Boxes.FindIndex(z => z == ((Button)s).Parent);
                    int other = (index + 1) % Boxes.Count;
                    m.SwapBoxes(index, other);
                };
            }
        }
Ejemplo n.º 7
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);
                    }
                };

                if (Settings.Default.HoverSlotShowText)
                {
                    slot.MouseEnter += (sender, e) =>
                    {
                        int index = Array.IndexOf(PKXBOXES, slot);
                        if (!GetShiftedIndex(ref index))
                        {
                            return;
                        }

                        var pk = Results[index];
                        if (pk.Species == 0)
                        {
                            ShowSet.RemoveAll();
                            return;
                        }

                        var text = SlotChangeManager.GetLocalizedPreviewText(pk, Settings.Default.Language);
                        ShowSet.SetToolTip(slot, text);
                    };
                }
            }

            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();
        }
Ejemplo n.º 8
0
 public void Setup(SlotChangeManager m)
 {
     M           = m;
     FlagIllegal = M.SE.FlagIllegal;
 }