public textInputResult getFilePath() { textInputResult output = new textInputResult(inputReadMode.readLine); FileSystemInfo fl = filePathSection.currentOutput.result as FileSystemInfo; output.result = fl; output.meta.Add(fl.FullName); output.meta.Add(fl.Extension); output.meta.Add(filePathSection); //output.result = filePathSection. return(filePathSection.currentOutput); //fl.FullName; }
///// <summary> ///// Cita odredjenu zonu ///// </summary> ///// <param name="mode">Vrste citanja</param> ///// <param name="x">-1 koristi trenutni</param> ///// <param name="y">-1 koristi trenutni</param> ///// <param name="w">vise od 0 znaci citanje 1D ili 2D</param> ///// <param name="h">vise od 0 znaci citanje 2D bloka</param> ///// <returns>Popunjen input result</returns> //public override textInputResult read(textInputResult currentOutput, inputReadMode mode, int x = -1, int y = -1, int w = 0, int h = 0) //{ // selectZone zone = new selectZone(x, y, w, h); // return read(currentOutput, mode, zone); //} /// <summary> /// Citanje pomocu zone objekta /// </summary> /// <param name="mode">Vrsta citanja</param> /// <param name="zone">Zona</param> /// <returns></returns> public override textInputResult read(textInputResult currentOutput, inputReadMode mode, selectZone zone, Object startValue = null) { if (currentOutput == null) { currentOutput = new textInputResult(this, mode, zone); } else { currentOutput.platform = this; currentOutput.readMode = mode; currentOutput.readZone = zone; } if (currentOutput.result == null) { currentOutput.result = startValue; } Console.CursorVisible = false; /// nije inplementirano zonsko citanje switch (mode) { case inputReadMode.readKey: currentOutput.consoleKey = Console.ReadKey(true); break; case inputReadMode.read: Console.CursorVisible = true; Console.SetCursorPosition(zone.x, zone.y); Console.BackgroundColor = ConsoleColor.White; Console.ForegroundColor = ConsoleColor.Black; currentOutput.result = consolePlatformExtensions.ReadLine(startValue, zone, currentOutput.result.GetType()); Console.CursorVisible = false; Console.ResetColor(); break; case inputReadMode.readLine: currentOutput.result = Console.ReadLine(); break; } return(currentOutput); }
/// <summary> /// Primena procitanog unosa /// </summary> /// <param name="platform"></param> /// <param name="__currentOutput"></param> /// <returns></returns> public override textInputResult applyReading(IPlatform platform, textInputResult __currentOutput) { switch (currentOutput.consoleKey.Key) { case ConsoleKey.PageDown: pageManager.selectNext(); //menu.selected = menu[pageManager.currentPageStartIndex]; break; case ConsoleKey.PageUp: pageManager.selectPrev(); break; case ConsoleKey.Home: pageManager.selectFirst(); break; case ConsoleKey.End: pageManager.selectLast(); break; } return(currentOutput); }
/// <summary> /// primenjuje rezultat iscitavanja jedne iteracije /// </summary> /// <returns></returns> public override textInputResult applyReading(IPlatform platform, textInputResult __currentOutput) { //ConsoleKeyInfo key = Console.ReadKey(); //currentOutput.consoleKey = key; switch (currentOutput.consoleKey.Key) { case ConsoleKey.Enter: currentOutput.doKeepReading = false; break; case ConsoleKey.Escape: menu.selected = null; currentOutput.doKeepReading = false; break; case ConsoleKey.PageUp: pageManager.selectNext(); break; case ConsoleKey.PageDown: pageManager.selectPrev(); break; case ConsoleKey.UpArrow: menu.selectPrev(); pageManager.selectPageByItem(menu.selected); break; case ConsoleKey.DownArrow: menu.selectNext(); pageManager.selectPageByItem(menu.selected); break; case ConsoleKey.LeftArrow: menu.selectPrev(); pageManager.selectPageByItem(menu.selected); break; case ConsoleKey.RightArrow: menu.selectNext(); pageManager.selectPageByItem(menu.selected); break; default: aceMenuItem menuItem = menu.getItem(currentOutput.consoleKey.KeyChar.ToString(), -2, true); if (menuItem == null) { switch (exitPolicy) { case textInputExitPolicy.onValidKey: break; case textInputExitPolicy.onValidValueOrKey: break; case textInputExitPolicy.onAnyKey: currentOutput.doKeepReading = false; break; } } else { switch (exitPolicy) { case textInputExitPolicy.onValidKey: currentOutput.doKeepReading = false; break; case textInputExitPolicy.onValidValueOrKey: currentOutput.doKeepReading = false; break; } } break; } currentOutput.result = menu.selected; return(currentOutput); }
/// <summary> /// Postavlja boje za dalji izlaz /// </summary> /// <param name="foreColor">Prednja boja. Ako je .none onda resetuje boje</param> /// <param name="backColor">Boja pozadine</param> /// <param name="doInvert"> </param> // public abstract void setColors(platformColorName foreColor, platformColorName backColor, Boolean doInvert=false); /// <summary> /// Cita odredjenu zonu /// </summary> /// <param name="mode">Vrste citanja</param> /// <param name="x">-1 koristi trenutni</param> /// <param name="y">-1 koristi trenutni</param> /// <param name="w">vise od 0 znaci citanje 1D ili 2D</param> /// <param name="h">vise od 0 znaci citanje 2D bloka</param> /// <returns>Popunjen input result</returns> public abstract textInputResult read(textInputResult currentOutput, inputReadMode mode, selectZone zone, object startValue);
/// <summary> /// Primena procitanog unosa /// </summary> /// <param name="platform"></param> /// <param name="__currentOutput"></param> /// <returns></returns> public override textInputResult applyReading(IPlatform platform, textInputResult __currentOutput) { FileSystemInfo fsi = null; if (menu.selected != null) { fsi = menu.selected.metaObject as FileSystemInfo; } switch (currentOutput.consoleKey.Key) { case ConsoleKey.Enter: if (fsi != null) { if (fsi is DirectoryInfo) { path = fsi.FullName; refresh(); currentOutput.doKeepReading = true; } else { path = fsi.FullName; filename = Path.GetFileName(fsi.FullName); currentOutput.doKeepReading = false; } } // closeAndSaveChanges(); break; case ConsoleKey.Backspace: if (path.Length > 1) { path.PadRight(1); } // closeAndSaveChanges(); currentOutput.doKeepReading = false; break; case ConsoleKey.Tab: //platform.read(currentOutput, inputReadMode.readLine, break; case ConsoleKey.PageDown: pageManager.selectNext(); //menu.selected = menu[pageManager.currentPageStartIndex]; break; case ConsoleKey.PageUp: pageManager.selectPrev(); break; case ConsoleKey.Escape: //menu.selected = null; // closeAndDefault(); currentOutput.doKeepReading = false; break; case ConsoleKey.Home: pageManager.selectFirst(); break; case ConsoleKey.End: pageManager.selectLast(); break; //case ConsoleKey.F5: // break; //case ConsoleKey.F2: // break; //case ConsoleKey.F12: // break; //case ConsoleKey.LeftArrow: //case ConsoleKey.RightArrow: //case ConsoleKey.OemPlus: //case ConsoleKey.Spacebar: //case ConsoleKey.OemMinus: // changeValue(spec, currentOutput.consoleKey); // break; case ConsoleKey.UpArrow: menu.selectPrev(); break; case ConsoleKey.DownArrow: menu.selectNext(); break; default: break; } if (menu.selected != null) { fsi = menu.selected.metaObject as FileSystemInfo; } if (fsi != null) { path = fsi.FullName; currentOutput.result = fsi; currentOutput.section = this; } return(currentOutput); }
/// <summary> /// Primena procitanog unosa /// </summary> /// <param name="platform"></param> /// <param name="__currentOutput"></param> /// <returns></returns> public override textInputResult applyReading(IPlatform platform, textInputResult __currentOutput) { // var item = __currentOutput.result as aceMenuItem; var spec = menu.selected.metaObject as settingsPropertyEntryWithContext; Int32 step = 1; switch (currentOutput.consoleKey.Key) { case ConsoleKey.Enter: if (spec.type.isSimpleInputEnough()) { currentOutput.result = spec.value; if (currentOutput.result == null) { currentOutput.result = spec.type.GetDefaultValue(); } var rs = platform.read(currentOutput, inputReadMode.read, cursor.valueReadZone, currentOutput.result); spec.value = rs.result; } else if (!spec.type.isToggleValue()) { var result = dialogEditProperties.open(platform, spec.value, spec.description, layoutTitleMessage.add(spec.displayName, " > ")); spec.value = result; } else { changeValue(spec, currentOutput.consoleKey); } // closeAndSaveChanges(); //currentOutput.doKeepReading = false; break; case ConsoleKey.Escape: object output = getObject(); currentOutput.result = output; //menu.selected = null; // closeAndDefault(); currentOutput.doKeepReading = false; break; case ConsoleKey.Backspace: setObject(editorTarget); break; case ConsoleKey.F5: break; case ConsoleKey.F2: break; case ConsoleKey.F12: break; case ConsoleKey.LeftArrow: case ConsoleKey.RightArrow: case ConsoleKey.OemPlus: case ConsoleKey.Spacebar: case ConsoleKey.OemMinus: changeValue(spec, currentOutput.consoleKey); break; case ConsoleKey.UpArrow: menu.selectPrev(); break; case ConsoleKey.DownArrow: menu.selectNext(); break; default: break; } currentOutput.result = menu.selected; // layoutFooterMessage = instructions; // layoutFooterMessage = //currentOutput.meta[0] = menu; //currentOutput.meta[1] = this; return(currentOutput); }
/// <summary> /// Primena procitanog unosa /// </summary> /// <param name="platform"></param> /// <param name="__currentOutput"></param> /// <returns></returns> public override textInputResult applyReading(IPlatform platform, textInputResult __currentOutput) { return(__currentOutput); }