private void SetDefaultFocusedTab() { var tab = FindTabByName(Global.Game.System); if (tab != null) { PathTabControl.SelectTab(tab); } }
private void SetDefaultFocusedTab() { var tab = FindTabByName(_currentSystemId); if (tab != null) { PathTabControl.SelectTab(tab); } }
// All path text boxes should do some kind of error checking // Config path under base, config will default to %exe% private void LockDownCores() { if (VersionInfo.DeveloperBuild) { return; } string[] coresToHide = { }; foreach (var core in coresToHide) { PathTabControl.TabPages.Remove( PathTabControl.TabPages().FirstOrDefault(tp => tp.Name == core) ?? new TabPage()); } }
// All path text boxes should do some kind of error checking // Config path under base, config will default to %exe% private void LockDownCores() { if (VersionInfo.DeveloperBuild) { return; } string[] coresToHide = { "GB4x", "O2", "ChannelF", "AmstradCPC" }; foreach (var core in coresToHide) { var tabPage = PathTabControl.TabPages().First(tp => tp.Name == core); PathTabControl.TabPages.Remove(tabPage); } }
private void SetDefaultFocusedTab() { PathTabControl.SelectTab(FindTabByName(Global.Game.System)); }
private void comboSystem_SelectedIndexChanged(object sender, EventArgs e) { PathTabControl.SelectTab(((ComboBox)sender).SelectedIndex); }
private void DoTabs(IList <PathEntry> pathCollection, string focusTabOfSystem) { int x = UIHelper.ScaleX(6); int textBoxWidth = UIHelper.ScaleX(70); int padding = UIHelper.ScaleX(5); int buttonWidth = UIHelper.ScaleX(26); int buttonHeight = UIHelper.ScaleY(23); int buttonOffsetY = -1; // To align the top with the TextBox I guess? Always 1 pixel regardless of scaling. int widgetOffset = UIHelper.ScaleX(85); int rowHeight = UIHelper.ScaleY(30); void AddTabPageForSystem(string system, string systemDisplayName) { var t = new TabPage { Name = system, Text = systemDisplayName, Width = UIHelper.ScaleX(200), // Initial Left/Width of child controls are based on this size. AutoScroll = true }; var paths = pathCollection .Where(p => p.System == system) .OrderBy(p => p.Ordinal) .ThenBy(p => p.Type); var y = UIHelper.ScaleY(14); foreach (var path in paths) { var box = new TextBox { Text = path.Path, Location = new Point(x, y), Width = textBoxWidth, Name = path.Type, Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right, MinimumSize = new Size(UIHelper.ScaleX(26), UIHelper.ScaleY(23)), AutoCompleteMode = AutoCompleteMode.SuggestAppend, AutoCompleteCustomSource = AutoCompleteOptions, AutoCompleteSource = AutoCompleteSource.CustomSource }; var btn = new Button { Text = "", Image = Properties.Resources.OpenFile, Location = new Point(widgetOffset, y + buttonOffsetY), Size = new Size(buttonWidth, buttonHeight), Name = path.Type, Anchor = AnchorStyles.Top | AnchorStyles.Right }; var tempBox = box; var tempPath = path.Type; var tempSystem = path.System; btn.Click += (sender, args) => BrowseFolder(tempBox, tempPath, tempSystem); var label = new Label { Text = path.Type, Location = new Point(widgetOffset + buttonWidth + padding, y + UIHelper.ScaleY(4)), Size = new Size(UIHelper.ScaleX(100), UIHelper.ScaleY(15)), Name = path.Type, Anchor = AnchorStyles.Top | AnchorStyles.Right }; t.Controls.Add(label); t.Controls.Add(btn); t.Controls.Add(box); y += rowHeight; } PathTabControl.TabPages.Add(t); if (system == focusTabOfSystem || system.Split('_').Contains(focusTabOfSystem)) { PathTabControl.SelectTab(PathTabControl.TabPages.Count - 1); } } PathTabControl.Visible = false; PathTabControl.TabPages.Clear(); var systems = _pathEntries.Select(e => e.System).Distinct() // group entries by "system" (intentionally using instance field here, not parameter) .Select(sys => (SysGroup: sys, DisplayName: PathEntryCollection.GetDisplayNameFor(sys))) .OrderBy(tuple => tuple.DisplayName) .ToList(); // add the Global tab first... const string idGlobal = "Global_NULL"; systems.RemoveAll(tuple => tuple.SysGroup == idGlobal); AddTabPageForSystem(idGlobal, PathEntryCollection.GetDisplayNameFor(idGlobal)); // ...then continue with the others foreach (var(sys, dispName) in systems) { AddTabPageForSystem(sys, dispName); } PathTabControl.Visible = true; }