public LoadMenu(String path, Dictionary<String, String> fileTypes, Window parentWindow) : base("Load Menu", Math.Min(6, Console.WindowHeight - 22), (Console.WindowWidth / 2) - 30, 60, 20, parentWindow) { BackgroundColour = ConsoleColor.White; FileTypes = fileTypes; fileSelect = new FileBrowser(PostionX + 2, PostionY + 2, 56, 13, path, "fileSelect", this, true, "txt"); fileSelect.ChangeItem = delegate() { UpdateCurrentlySelectedFileName(); }; fileSelect.SelectFile = delegate() { LoadFile(); }; var openLabel = new Label("Open", PostionX + 16, PostionY + 2, "openLabel", this); openTxtBox = new TextBox(PostionX + 16, PostionY + 7, "openTxtBox", this, Width - 13) { Selectable = false }; fileTypeDropdown = new Dropdown(PostionX + 18, PostionY + 40, FileTypes.Select(x => x.Value).ToList(), "fileTypeDropdown", this, 17); fileTypeDropdown.OnUnselect = delegate() { UpdateFileTypeFilter(); }; loadBtn = new Button(PostionX + 18, PostionY + 2, "Load", "loadBtn", this); loadBtn.Action = delegate() { LoadFile(); }; cancelBtn = new Button(PostionX + 18, PostionY + 9, "Cancel", "cancelBtn", this); cancelBtn.Action = delegate() { ExitWindow(); }; Inputs.Add(fileSelect); Inputs.Add(loadBtn); Inputs.Add(cancelBtn); Inputs.Add(openLabel); Inputs.Add(openTxtBox); Inputs.Add(fileTypeDropdown); CurrentlySelected = fileSelect; Draw(); MainLoop(); }
public DropdownSpread(int Xpostion, int Ypostion, List<String> options, Window parentWindow, Dropdown root) : base(Xpostion, Ypostion, 20, options.Count(), parentWindow) { for (var i = 0; i < options.Count(); i++) { var item = new DropdownItem(options[i], Xpostion + i, "option" + i, this); item.Action = delegate() { root.Text = ((DropdownItem)CurrentlySelected).Text; root.Draw(); }; DropdownItems.Add(item); } Inputs.AddRange(DropdownItems); CurrentlySelected = DropdownItems.FirstOrDefault(x => x.Text == root.Text); BackgroundColour = ConsoleColor.DarkGray; Draw(); MainLoop(); }