コード例 #1
0
        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;
        }
コード例 #2
0
ファイル: consolePlatform.cs プロジェクト: gorangrubic/imbACE
        ///// <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);
        }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
        /// <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);
コード例 #6
0
        /// <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);
        }
コード例 #7
0
        /// <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);
        }
コード例 #8
0
 /// <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);
 }