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