/// <summary> /// Заголовок отображающий с каким элементом в данный момент происходит взаимодейстие /// </summary> /// <param name="directory">Имя элемента</param> public void PrintHead(string directory) { PrintLine.FullLine(); PrintLine.Print("Элемент: "); PrintLine.Print(directory); PrintLine.FullLine(); }
public void PrintHelpMenu() { PrintLine.FullLine(); PrintLine.Print("Стрелочки вверх и вниз для листания."); PrintLine.Print("Esc для выхода."); PrintLine.Print("Enter для выбора."); PrintLine.FullLine(); }
/// <summary> /// Создание массива элементов для отображения /// </summary> public void CreateList() { string[] dirs; string[] file; try { dirs = Directory.GetDirectories(start_directory); file = Directory.GetFiles(start_directory); } catch { PrintHead(start_directory); PrintLine.FullLine(); PrintLine.Print("ошибка доступа"); start_directory = Directory.GetParent(start_directory)?.FullName; PrintLine.FullLine(); Console.ReadLine(); Console.Clear(); return; } int first_button = 1; int last_button = 0; if (havecopy) { last_button += 1; } int list_len = dirs.Length + file.Length + first_button + last_button; list = new FileElement[list_len]; list[0] = new FileElement(FileElement.TypeElement.backspace); if (havecopy) { list[list.Length - 1] = new FileElement(FileElement.TypeElement.copylistbutton); } for (int i = 1; i < list.Length - last_button; i++) { if (i - first_button < dirs.Length) { list[i] = new FileElement(dirs[i - first_button]); } else if (i >= dirs.Length + first_button) { list[i] = new FileElement(file[i - dirs.Length - first_button]); } } len_menu = list.Length - 1; }
/// <summary> /// Вывод на консоль информации о элементе /// </summary> /// <param name="info">массив строк</param> public void PrintInfo(string[] info) { Console.Clear(); PrintLine.FullLine(); for (int i = 0; i < info.Length; i++) { PrintLine.Print(info[i]); } PrintLine.FullLine(); Console.ReadLine(); }
/// <summary> /// Выводит на консоль содержимое директории. /// </summary> public void PrintList() { //Количество выведенных элементов на консоль int quant = 0; if (select_position == top_limit + quant_element - 1) { //сдвиг верхней границы top_limit++; } else if (select_position == 0) { top_limit = 0; } else if (select_position == top_limit) { top_limit--; } PrintLine.FullLine(); for (int i = top_limit; i < list.Length; i++) { //остановка вывода на консоль if (quant == quant_element) { break; } //вывести на консоль с подсветкой if (i == select_position) { PrintLine.ColorPrint(list[i].Name); } //вывод на консоль без подсветки else { PrintLine.Print(list[i].Name); } quant++; } while (quant < quant_element) { PrintLine.Print(""); quant++; } PrintLine.FullLine(); }
/// <summary> /// Вывод на консоль содержимого массива с копированными элементами /// </summary> public void SelectCopyList() { int z = 0; PrintLine.FullLine(); for (int i = 0; i < copylist.Length; i++) { if (copylist[i] != null) { z++; PrintLine.Print(copylist[i].Name); } } if (z == 0) { PrintLine.Print("Список пуст"); } PrintLine.FullLine(); Console.ReadLine(); }
/// <summary> /// Вывод на консоль возможных действий с элементом /// </summary> /// <param name="array">массив строк отображающих возможные действия</param> /// <param name="position">позиция курсора</param> public void PrintSubMenu(string[,] array, int position) { Console.Clear(); PrintHead(list[select_position].Name); PrintLine.FullLine(); int rows = array.GetUpperBound(0) + 1; for (int i = 0; i < rows; i++) { if (i == position) { PrintLine.ColorPrint(array[i, 0]); } else { PrintLine.Print(array[i, 0]); } } PrintLine.FullLine(); if (PrintHelp) { PrintHelpMenu(); } }