public void active() { isActive = true; textColor = ConsoleColor.White; _edit.active(); Console.ForegroundColor = textColor; Console.BackgroundColor = ConsoleColor.DarkGray; Console.SetCursorPosition(_x + 1, _y + 1); Console.Write(Func.strWithLength(_path, _w - 2)); Border.drawHorizontal(_x + 1, _y + 2, _w - 2, textColor); }
public void findKeyProc(ArrayList files, ArrayList dirs) { if (_searchEdit != null) { _searchEdit.destruct(); } _searchEdit = new EditControl(15, 15, Console.WindowWidth - 30, Console.WindowHeight - 30); _searchEdit.active(); foreach (DirectoryInfo file in dirs) { _searchEdit.addChild(Func.getDirStr(file.FullName, Console.WindowWidth - 32)); } foreach (FileInfo file in files) { _searchEdit.addChild(Func.getFileStr(file.FullName, Console.WindowWidth - 32)); } Console.SetCursorPosition(16, 16); Console.Write(Func.strWithLength("Search results", Console.WindowWidth - 32)); Console.SetCursorPosition(16, 17); Console.Write(new string(' ', Console.WindowWidth - 32)); Console.SetCursorPosition(15, Console.WindowHeight - 15); Console.BackgroundColor = ConsoleColor.DarkYellow; Console.ForegroundColor = ConsoleColor.Black; Console.Write(Func.strWithLength("F12 - open parent filder | ESC - close", Console.WindowWidth - 30)); int curY = 0; _searchEdit.activate(curY); ConsoleKeyInfo key; bool isEscape = false; while (true) { key = Console.ReadKey(); switch (key.Key) { case ConsoleKey.Enter: { if (curY < dirs.Count) { setPath(((DirectoryInfo)dirs[curY]).FullName); } else { System.Diagnostics.Process.Start(((FileInfo)files[curY - dirs.Count]).Directory.FullName); } isEscape = true; break; } case ConsoleKey.Escape: { isEscape = true; break; } case ConsoleKey.UpArrow: { if (curY - 1 >= 0) { _searchEdit.deActivate(curY); curY--; _searchEdit.activate(curY); } break; } case ConsoleKey.DownArrow: { if (curY + 1 < dirs.Count + files.Count) { _searchEdit.deActivate(curY); curY++; _searchEdit.activate(curY); } break; } case ConsoleKey.F12: { if (curY < dirs.Count) { setPath(((DirectoryInfo)dirs[curY]).Parent.FullName); } else { setPath(((FileInfo)files[curY - dirs.Count]).Directory.FullName); } isEscape = true; break; } } Console.SetCursorPosition(0, Console.WindowHeight - 1); if (isEscape) { break; } } _searchEdit.destruct(); _searchEdit = null; }
public void findKeyProc(ArrayList files,ArrayList dirs) { if (_searchEdit != null) _searchEdit.destruct(); _searchEdit = new EditControl(15, 15, Console.WindowWidth - 30, Console.WindowHeight - 30); _searchEdit.active(); foreach (DirectoryInfo file in dirs) _searchEdit.addChild(Func.getDirStr(file.FullName, Console.WindowWidth - 32)); foreach (FileInfo file in files) _searchEdit.addChild(Func.getFileStr(file.FullName, Console.WindowWidth - 32)); Console.SetCursorPosition(16, 16); Console.Write(Func.strWithLength("Search results",Console.WindowWidth-32)); Console.SetCursorPosition(16, 17); Console.Write(new string(' ',Console.WindowWidth-32)); Console.SetCursorPosition(15, Console.WindowHeight - 15); Console.BackgroundColor = ConsoleColor.DarkYellow; Console.ForegroundColor = ConsoleColor.Black; Console.Write(Func.strWithLength("F12 - open parent filder | ESC - close",Console.WindowWidth-30)); int curY=0; _searchEdit.activate(curY); ConsoleKeyInfo key; bool isEscape = false; while (true) { key=Console.ReadKey(); switch (key.Key) { case ConsoleKey.Enter: { if (curY < dirs.Count) setPath(((DirectoryInfo)dirs[curY]).FullName); else System.Diagnostics.Process.Start(((FileInfo)files[curY - dirs.Count]).Directory.FullName); isEscape = true; break; } case ConsoleKey.Escape: { isEscape = true; break; } case ConsoleKey.UpArrow: { if (curY - 1 >= 0) { _searchEdit.deActivate(curY); curY--; _searchEdit.activate(curY); } break; } case ConsoleKey.DownArrow: { if (curY + 1 < dirs.Count + files.Count) { _searchEdit.deActivate(curY); curY++; _searchEdit.activate(curY); } break; } case ConsoleKey.F12: { if (curY < dirs.Count) setPath(((DirectoryInfo)dirs[curY]).Parent.FullName); else setPath(((FileInfo)files[curY-dirs.Count]).Directory.FullName); isEscape = true; break; } } Console.SetCursorPosition(0, Console.WindowHeight - 1); if (isEscape) break; } _searchEdit.destruct(); _searchEdit = null; }