Exemple #1
0
 internal static void SetupTextBoxScreens(ScreenCollection screens)
 {
     BasicTextBoxScreen(screens);
     SingleBorderTextBoxScreen(screens);
     DoubleBorderTextBoxScreen(screens);
     MultilineBasicTextBoxScreen(screens);
 }
Exemple #2
0
 internal static void SetupTextBoxScreens(ScreenCollection screens)
 {
     BasicTextBoxScreen(screens);
     SingleBorderTextBoxScreen(screens);
     DoubleBorderTextBoxScreen(screens);
     MultilineBasicTextBoxScreen(screens);
 }
Exemple #3
0
        private static void DoubleBorderTextBoxScreen(ScreenCollection screens)
        {
            var screen = new Screen("Double Border Text Boxes");

            var control1 = new TextBox();

            control1.Left = 10;
            control1.Top = 0;
            control1.MaxLength = 6;
            control1.Width = control1.MaxLength + 2;
            control1.BorderStyle = BorderStyle.Double;

            var control2 = new TextBox();

            control2.Left = 0;
            control2.Top = control1.Top + control1.Height;
            control2.Width = screen.Width;
            control2.BorderStyle = BorderStyle.Double;

            var control3 = new TextBox();

            control3.Left = 0;
            control3.Top = control2.Top + control2.Height;
            control3.MaxLength = 20;
            control3.Width = control3.MaxLength;
            control3.BorderStyle = BorderStyle.Double;

            screen.Controls.Add(control1);
            screen.Controls.Add(control2);
            screen.Controls.Add(control3);

            screen.Footer.Text = screen.Name + ". Press escape.";

            screens.Add(screen);
        }
Exemple #4
0
        /// <summary>
        /// Loads all currentLevelIndex-specific data for a specific currentLevelIndex in a given ROM image
        /// </summary>
        /// <param name="rom">The Rom object to load data from</param>
        /// <param name="currentLevelIndex">The currentLevelIndex to load</param>
        public Level(MetroidRom rom, LevelIndex level)
        {
            this.rom   = rom;
            data       = rom.data;
            this.index = level;

            Format    = rom.Format.CreateLevelFormat(this);
            this.Bank = rom.Format.Banks[Format.LevelBankIndex];

            Bytes = new ByteIndexer(this);
            PCpu  = new PointerIndexer(this);
            PRom  = new PRomIndexer(this);

            pointers_deprecated = new LevelPointers(rom, this);

            structures = new StructureCollection(this);
            screens    = new ScreenCollection(this);

            patternGroups = new PatternGroupIndexTable(this);
            LoadPatterns();
            LoadPalette();

            combos  = new ComboTable(rom, Format.ComboDataOffset);
            sprites = Graphic.LevelSprites.GetSprites(level);
            itemTable_DEPRECATED = new ItemLoader(this, rom);
            //structures = new StructureCollection(this);
            altMusic = new AlternateMusicRooms(rom, this);

            this.Items = new ItemCollection(this);
            Items.LoadItems();

            TilePhysicsTableLocation = Format.GetTilePhysicsTableLocation();
        }
Exemple #5
0
        private static void DoubleBorderTextBoxScreen(ScreenCollection screens)
        {
            var screen = new Screen("Double Border Text Boxes");

            var control1 = new TextBox();

            control1.Left        = 10;
            control1.Top         = 0;
            control1.MaxLength   = 6;
            control1.Width       = control1.MaxLength + 2;
            control1.BorderStyle = BorderStyle.Double;

            var control2 = new TextBox();

            control2.Left        = 0;
            control2.Top         = control1.Top + control1.Height;
            control2.Width       = screen.Width;
            control2.BorderStyle = BorderStyle.Double;

            var control3 = new TextBox();

            control3.Left        = 0;
            control3.Top         = control2.Top + control2.Height;
            control3.MaxLength   = 20;
            control3.Width       = control3.MaxLength;
            control3.BorderStyle = BorderStyle.Double;

            screen.Controls.Add(control1);
            screen.Controls.Add(control2);
            screen.Controls.Add(control3);

            screen.Footer.Text = screen.Name + ". Press escape.";

            screens.Add(screen);
        }
Exemple #6
0
        internal static void SetupMenu(ScreenCollection screens)
        {
            var     screen  = new Screen("Menus");
            MenuBar menuBar = SetupMenuBar(screen);

            screen.Controls.Add(menuBar);

            screens.Add(screen);
        }
Exemple #7
0
        internal static void SetupMenu(ScreenCollection screens)
        {
            var screen = new Screen("Menus");
            MenuBar menuBar = SetupMenuBar(screen);

            screen.Controls.Add(menuBar);

            screens.Add(screen);
        }
Exemple #8
0
        public void ClearAllScreens()
        {
            ScreenCollection.Clear();
            ScreenCollection = null;
            ScreenCollection = new HashSet <Screen>();

            ActiveScreen         = null;
            ScreenToTransitionTo = null;
        }
Exemple #9
0
        internal static void SetupLabelScreens(ScreenCollection screens)
        {
            LabelScreen(screens);
            SingleBorderLabelScreen(screens);
            DoubleBorderLabelScreen(screens);

            ShadowLabelScreen(screens);
            ShadowSingleBorderLabelScreen(screens);
            ShadowDoubleBorderLabelScreen(screens);
        }
 public void InitializeSettings()
 {
     ScreenCollection = Screen.AllScreens.ToList();
     Monitors         = new ObservableCollection <string>(ScreenCollection.Select(x => x.DeviceName));
     SetCurrentScreen(SelectedMonitor);
     Themes = new ObservableCollection <string>(new[] { "DarkMode", "Pink", "NoTheme" });
     YouTubeServiceCreatorOptions.DatabasePath     = DatabasePath;
     YouTubeServiceCreatorOptions.ClientSecretPath = ClientSecretPath;
     _saveSettingsDeferTimer = new DeferTimer(SaveSetting, ErrorHandler.HandleError);
 }
Exemple #11
0
        internal static void SetupLabelScreens(ScreenCollection screens)
        {
            LabelScreen(screens);
            SingleBorderLabelScreen(screens);
            DoubleBorderLabelScreen(screens);

            ShadowLabelScreen(screens);
            ShadowSingleBorderLabelScreen(screens);
            ShadowDoubleBorderLabelScreen(screens);
        }
Exemple #12
0
 public bool RemoveScreen(long id)
 {
     if (ScreenCollection.Count(ent => ent.ID == id) > 0)
     {
         return(ScreenCollection.Remove(ScreenCollection.First(ent => ent.ID == id)));
     }
     else
     {
         return(false);
     }
 }
Exemple #13
0
 public bool RemoveScreen(Screen screen)
 {
     if (ScreenCollection.Contains(screen))
     {
         return(ScreenCollection.Remove(screen));
     }
     else
     {
         return(false);
     }
 }
Exemple #14
0
 public Screen GetScreen(long id)
 {
     if (ScreenCollection.Count(ent => ent.ID == id) > 0)
     {
         return(ScreenCollection.First(ent => ent.ID == id));
     }
     else
     {
         return(null);
     }
 }
Exemple #15
0
 public Screen GetScreen(string name)
 {
     if (ScreenCollection.Count(ent => ent.Name == name) > 0)
     {
         return(ScreenCollection.First(ent => ent.Name == name));
     }
     else
     {
         return(null);
     }
 }
        public void SetUp()
        {
            screen1 = new StubScreen();
            screen2 = new StubScreen();
            screen3 = new StubScreen();
            screen4 = new StubScreen();

            events  = MockRepository.GenerateMock <IEventAggregator>();
            tabs    = new TabControl();
            screens = new ScreenCollection(tabs, events);
        }
Exemple #17
0
        private static void ListBoxPopup(ScreenCollection screens)
        {
            var screen = new ConsoleUI.LoginScreen();
            screen.Username = "******";

            screen.Footer.Text = "Try admin admin.";

            screens.Add(screen);

            screen.Login += Screen_Login;
        }
Exemple #18
0
        private static void DoubleBorderListBoxScreen(ScreenCollection screens)
        {
            var screen = new Screen("Double Border List Boxes");

            var control1 = new ListBox();

            control1.Left        = 0;
            control1.Top         = 0;
            control1.Width       = 20;
            control1.Height      = 10;
            control1.BorderStyle = BorderStyle.Double;
            control1.HasShadow   = true;

            for (int i = 0; i < 20; i++)
            {
                control1.Items.Add(string.Format("Item {0}", i + 1));
            }

            var control2 = new ListBox();

            control2.Left        = 30;
            control2.Top         = 0;
            control2.Width       = 30;
            control2.Height      = 15;
            control2.BorderStyle = BorderStyle.Double;
            control2.HasShadow   = true;

            for (int i = 0; i < 40; i++)
            {
                control2.Items.Add(string.Format("Item {0}", i + 1));
            }

            var control3 = new ListBox();

            control3.Left        = 0;
            control3.Top         = 11;
            control3.Width       = 25;
            control3.Height      = 10;
            control3.BorderStyle = BorderStyle.Double;
            control3.HasShadow   = true;

            for (int i = 0; i < 5; i++)
            {
                control3.Items.Add(string.Format("Item {0}", i + 1));
            }

            screen.Controls.Add(control1);
            screen.Controls.Add(control2);
            screen.Controls.Add(control3);

            screen.Footer.Text = screen.Name + ". Press enter or escape.";

            screens.Add(screen);
        }
Exemple #19
0
        private static void DoubleBorderListBoxScreen(ScreenCollection screens)
        {
            var screen = new Screen("Double Border List Boxes");

            var control1 = new ListBox();

            control1.Left = 0;
            control1.Top = 0;
            control1.Width = 20;
            control1.Height = 10;
            control1.BorderStyle = BorderStyle.Double;
            control1.HasShadow = true;

            for (int i = 0; i < 20; i++)
            {
                control1.Items.Add(string.Format("Item {0}", i + 1));
            }

            var control2 = new ListBox();

            control2.Left = 30;
            control2.Top = 0;
            control2.Width = 30;
            control2.Height = 15;
            control2.BorderStyle = BorderStyle.Double;
            control2.HasShadow = true;

            for (int i = 0; i < 40; i++)
            {
                control2.Items.Add(string.Format("Item {0}", i + 1));
            }

            var control3 = new ListBox();

            control3.Left = 0;
            control3.Top = 11;
            control3.Width = 25;
            control3.Height = 10;
            control3.BorderStyle = BorderStyle.Double;
            control3.HasShadow = true;

            for (int i = 0; i < 5; i++)
            {
                control3.Items.Add(string.Format("Item {0}", i + 1));
            }

            screen.Controls.Add(control1);
            screen.Controls.Add(control2);
            screen.Controls.Add(control3);

            screen.Footer.Text = screen.Name + ". Press enter or escape.";

            screens.Add(screen);
        }
        private static void ListBoxPopup(ScreenCollection screens)
        {
            var screen = new ConsoleUI.LoginScreen();

            screen.Username = "******";

            screen.Footer.Text = "Try admin admin.";

            screens.Add(screen);

            screen.Login += Screen_Login;
        }
Exemple #21
0
 public bool RegisterScreen(Screen screen)
 {
     if (ScreenCollection.Count(ent => ent.ID == screen.ID) > 0)
     {
         return(false);
     }
     else
     {
         ScreenCollection.Add(screen);
         return(true);
     }
 }
Exemple #22
0
        /// <summary>
        /// Creates a Screen object.
        /// </summary>
        /// <param name="rom">ROM data</param>
        /// <param name="loadFromRom">If true, this screen will be initialized with the
        /// data referenced by the screen pointer (based on the value of the 'index' parameter)</param>
        public Screen(MetroidRom rom, ScreenCollection owner)
        {
            data = rom.data;
            ////this.Index = index;
            this.rom   = rom;
            this.Owner = owner;


            this.Structs = _structs.AsReadOnly();
            this.Enemies = _enemies.AsReadOnly();
            this.Doors   = _doors.AsReadOnly();
        }
Exemple #23
0
        private static void MultilineBasicTextBoxScreen(ScreenCollection screens)
        {
            var screen = new Screen("Multiline Basic Text Boxes");

            var control1 = new TextBox();

            control1.Left  = 35;
            control1.Top   = 0;
            control1.Width = control1.MaxLength;
            control1.TreatEnterKeyAsTab = false;
            control1.Height             = 15;
            control1.Width       = 50;
            control1.TextBoxType = TextBoxType.Multiline;
            control1.Text        = "So if on advanced addition absolute received replying throwing he." + Environment.NewLine + Environment.NewLine + "Delighted consisted newspaper of unfeeling as neglected so." + Environment.NewLine + "Tell size come hard mrs and four fond are. Of in commanded earnestly resources it. At quitting in strictly up wandered of relation answered felicity. Side need at in what dear ever upon if. Same down want joy neat ask pain help she. Alone three stuff use law walls fat asked. Near do that he help.";
            control1.BorderStyle = BorderStyle.Double;

            var control2 = new TextBox();

            control2.Left        = 0;
            control2.Top         = control1.Top + control1.Height + 1;
            control2.Width       = screen.Width;
            control2.TextAlign   = TextAlign.Center;
            control2.Height      = 5;
            control2.Width       = 20;
            control2.TextBoxType = TextBoxType.Multiline;
            control2.MaxLength   = 150;

            var control3 = new TextBox();

            control3.Left        = 35;
            control3.Top         = control2.Top;
            control3.Height      = 20;
            control3.Width       = 50;
            control3.TextBoxType = TextBoxType.Multiline;
            control3.Text        = Properties.Resources.LongText;
            control3.BorderStyle = BorderStyle.Double;

            screen.Controls.Add(control1);
            screen.Controls.Add(control2);
            screen.Controls.Add(control3);

            screen.Footer.Text = screen.Name + ". Press escape.";

            screens.Add(screen);
        }
Exemple #24
0
        private static void ShadowDoubleBorderLabelScreen(ScreenCollection screens)
        {
            var screen = new Screen("Double Border Labels");

            var control1 = new Label("This is a left aligned label (shadow, double border).");

            control1.Left        = 0;
            control1.Top         = 0;
            control1.Width       = screen.Width - 2;
            control1.BorderStyle = BorderStyle.Double;

            var control2 = new Label("This is a centered label (shadow, double border).");

            control2.Left        = 0;
            control2.Top         = control1.Top + control1.Height + 2;
            control2.Width       = screen.Width - 1;
            control2.TextAlign   = TextAlign.Center;
            control2.BorderStyle = BorderStyle.Double;

            var control3 = new Label("This is a right aligned label (shadow, full width, double border).");

            control3.Left        = 0;
            control3.Top         = control2.Top + control2.Height + 2;
            control3.Width       = screen.Width;
            control3.TextAlign   = TextAlign.Right;
            control3.BorderStyle = BorderStyle.Double;

            control1.HasShadow = true;
            control2.HasShadow = true;
            control3.HasShadow = true;

            screen.Controls.Add(control1);
            screen.Controls.Add(control2);
            screen.Controls.Add(control3);

            screen.Footer.Text = screen.Name + ". Press any key.";

            screens.Add(screen);

            screen.AfterPaint += (s, e) =>
            {
                Console.ReadKey(true);
            };
        }
Exemple #25
0
        private static void BasicTextBoxScreen(ScreenCollection screens)
        {
            var screen = new Screen("Basic Text Boxes");

            var control1 = new TextBox();

            control1.Left = 10;
            control1.Top = 0;
            control1.MaxLength = 5;
            control1.Width = control1.MaxLength;
            control1.TreatEnterKeyAsTab = false;

            var control2 = new TextBox();

            control2.Left = 0;
            control2.Top = control1.Top + control1.Height;
            control2.Width = screen.Width;
            control2.TextAlign = TextAlign.Center;

            var control3 = new TextBox();

            control3.Left = 0;
            control3.Top = control2.Top + control2.Height;
            control3.MaxLength = 20;
            control3.Width = control3.MaxLength;
            control3.TextBoxType = TextBoxType.Password;

            var control4 = new TextBox();

            control4.Left = 0;
            control4.Top = control3.Top + control3.Height;
            control4.MaxLength = 20;
            control4.TextAlign = TextAlign.Right;

            screen.Controls.Add(control1);
            screen.Controls.Add(control2);
            screen.Controls.Add(control3);
            screen.Controls.Add(control4);

            screen.Footer.Text = screen.Name + ". Press escape.";

            screens.Add(screen);
        }
Exemple #26
0
        private static void BasicTextBoxScreen(ScreenCollection screens)
        {
            var screen = new Screen("Basic Text Boxes");

            var control1 = new TextBox();

            control1.Left               = 10;
            control1.Top                = 0;
            control1.MaxLength          = 5;
            control1.Width              = control1.MaxLength;
            control1.TreatEnterKeyAsTab = false;

            var control2 = new TextBox();

            control2.Left      = 0;
            control2.Top       = control1.Top + control1.Height;
            control2.Width     = screen.Width;
            control2.TextAlign = TextAlign.Center;

            var control3 = new TextBox();

            control3.Left        = 0;
            control3.Top         = control2.Top + control2.Height;
            control3.MaxLength   = 20;
            control3.Width       = control3.MaxLength;
            control3.TextBoxType = TextBoxType.Password;

            var control4 = new TextBox();

            control4.Left      = 0;
            control4.Top       = control3.Top + control3.Height;
            control4.MaxLength = 20;
            control4.TextAlign = TextAlign.Right;

            screen.Controls.Add(control1);
            screen.Controls.Add(control2);
            screen.Controls.Add(control3);
            screen.Controls.Add(control4);

            screen.Footer.Text = screen.Name + ". Press escape.";

            screens.Add(screen);
        }
Exemple #27
0
        private static void DoubleBorderLabelScreen(ScreenCollection screens)
        {
            var screen = new Screen("Double Border Labels");

            var control1 = new Label("This is a left aligned label (full width, double border).");

            control1.Left = 0;
            control1.Top = 0;
            control1.Width = screen.Width;
            control1.BorderStyle = BorderStyle.Double;

            var control2 = new Label("This is a centered label (full width, double border).");

            control2.Left = 0;
            control2.Top = control1.Top + control1.Height;
            control2.Width = screen.Width;
            control2.TextAlign = TextAlign.Center;
            control2.BorderStyle = BorderStyle.Double;

            var control3 = new Label("This is a right aligned label (full width, double border).");

            control3.Left = 0;
            control3.Top = control2.Top + control2.Height;
            control3.Width = screen.Width;
            control3.TextAlign = TextAlign.Right;
            control3.BorderStyle = BorderStyle.Double;

            screen.Controls.Add(control1);
            screen.Controls.Add(control2);
            screen.Controls.Add(control3);

            screen.Footer.Text = screen.Name + ". Press any key.";

            screens.Add(screen);

            screen.AfterPaint += (s, e) =>
            {
                Console.ReadKey(true);
            };
        }
Exemple #28
0
        internal static void SetupLoadingScreen(ScreenCollection screens)
        {
            // initialise a new instance of the helper loading screen
            var screen = new ConsoleUI.LoadingScreen("Loading Screen");

            // set the message text
            screen.Message = "Doing some work, please wait";

            // each screen has a footer that can display text
            screen.Footer.Text = "Working...";

            // add the screen to the screens collection
            screens.Add(screen);

            // there are no controls in the screen that can have the focus so
            // sleep for a bit before exiting.
            screen.Shown += (s, e) =>
            {
                System.Threading.Thread.Sleep(3000);

                (s as Screen).Exit();
            };
        }
Exemple #29
0
        internal static void SetupLoadingScreen(ScreenCollection screens)
        {
            // initialise a new instance of the helper loading screen
            var screen = new ConsoleUI.LoadingScreen("Loading Screen");

            // set the message text
            screen.Message = "Doing some work, please wait";

            // each screen has a footer that can display text
            screen.Footer.Text = "Working...";

            // add the screen to the screens collection
            screens.Add(screen);

            // there are no controls in the screen that can have the focus so
            // sleep for a bit before exiting.
            screen.Shown += (s, e) =>
            {
                System.Threading.Thread.Sleep(3000);

                (s as Screen).Exit();
            };
        }
Exemple #30
0
        private static void LabelScreen(ScreenCollection screens)
        {
            var screen = new Screen("Basic Labels");

            var control1 = new Label("This is a left aligned label (full width, no border).");

            control1.Left  = 0;
            control1.Top   = 0;
            control1.Width = screen.Width;

            var control2 = new Label("This is a centered label (full width, no border).");

            control2.Left      = 0;
            control2.Top       = control1.Top + control1.Height;
            control2.Width     = screen.Width;
            control2.TextAlign = TextAlign.Center;

            var control3 = new Label("This is a right aligned label (full width, no border).");

            control3.Left      = 0;
            control3.Top       = control2.Top + control2.Height;
            control3.Width     = screen.Width;
            control3.TextAlign = TextAlign.Right;

            screen.Controls.Add(control1);
            screen.Controls.Add(control2);
            screen.Controls.Add(control3);

            screen.Footer.Text = screen.Name + ". Press any key.";

            screens.Add(screen);

            screen.AfterPaint += (s, e) =>
            {
                Console.ReadKey(true);
            };
        }
Exemple #31
0
        private static void ShadowLabelScreen(ScreenCollection screens)
        {
            var screen = new Screen("Basic Labels");

            var control1 = new Label("This is a left aligned label (shadow, no border).");

            control1.Left = 0;
            control1.Top = 0;
            control1.Width = screen.Width - 2;

            var control2 = new Label("This is a centered label (shadow, no border).");

            control2.Left = 0;
            control2.Top = control1.Top + control1.Height + 2;
            control2.Width = screen.Width - 1;
            control2.TextAlign = TextAlign.Center;

            var control3 = new Label("This is a right aligned label (shadow, full width, no border).");

            control3.Left = 0;
            control3.Top = control2.Top + control2.Height + 2;
            control3.Width = screen.Width;
            control3.TextAlign = TextAlign.Right;

            control1.HasShadow = true;
            control2.HasShadow = true;
            control3.HasShadow = true;

            screen.Controls.Add(control1);
            screen.Controls.Add(control2);
            screen.Controls.Add(control3);

            screen.Footer.Text = screen.Name + ". Press any key.";

            screens.Add(screen);

            screen.AfterPaint += (s, e) =>
            {
                Console.ReadKey(true);
            };
        }
Exemple #32
0
 internal static void SetupListBoxScreens(ScreenCollection screens)
 {
     BasicListBoxScreen(screens);
     SingleBorderListBoxScreen(screens);
     DoubleBorderListBoxScreen(screens);
 }
 internal static void SetupLoginScreen(ScreenCollection screens)
 {
     ListBoxPopup(screens);
 }
Exemple #34
0
 internal static void SetupLoginScreen(ScreenCollection screens)
 {
     ListBoxPopup(screens);
 }
Exemple #35
0
 public List <Screen> GetScreensAsList()
 {
     return(ScreenCollection.ToList());
 }
 internal static void SetupKeyPressedEventScreens(ScreenCollection screens)
 {
     ListBoxPopup(screens);
 }
Exemple #37
0
        private static void TestProgressBars(ScreenCollection screens)
        {
            var screen = new Screen("Progress Bars - No Border");

            var control1 = new ProgressBar();

            control1.Left = 0;
            control1.Top = 0;
            control1.Width = 20;
            control1.BlockColor = ConsoleColor.Yellow;

            screen.Controls.Add(control1);

            var control2 = new ProgressBar();

            control2.Left = 20;
            control2.Top = 10;
            control2.Width = 5;
            control2.BorderStyle = BorderStyle.Single;

            screen.Controls.Add(control2);

            var control3 = new ProgressBar();

            control3.Left = 35;
            control3.Top = 20;
            control3.Width = 30;
            control3.BorderStyle = BorderStyle.Double;
            control3.BlockColor = ConsoleColor.Red;
            control3.HasShadow = true;

            screen.Controls.Add(control3);

            var control4 = new ProgressBar();

            control4.Left = 0;
            control4.Top = 15;
            control4.Width = 30;
            control4.BorderStyle = BorderStyle.Double;
            control4.BlockColor = ConsoleColor.Green;
            control4.HasShadow = true;
            control4.ProgressBarStyle = ProgressBarStyle.Marquee;

            screen.Controls.Add(control4);

            screen.Footer.Text = screen.Name + ". Press any key.";

            screens.Add(screen);

            screen.Shown += (s, e) =>
            {
                while (control1.Value < control1.Maximum)
                {
                    Console.ReadKey(true);

                    control1.Increment(10);
                    control2.Increment(10);
                    control3.Increment(10);

                    screen.Footer.Text = string.Format("Value: {0}", control1.Value);
                }
            };
        }
Exemple #38
0
 protected With_Empty_Screens()
 {
     mainRegion       = Moq.Mock <IRegion>();
     screenCollection = new ScreenCollection(mainRegion);
 }
Exemple #39
0
 internal static void SetupListBoxScreens(ScreenCollection screens)
 {
     BasicListBoxScreen(screens);
     SingleBorderListBoxScreen(screens);
     DoubleBorderListBoxScreen(screens);
 }
 public static void ShouldHaveScreens(this ScreenCollection collection, params IScreen[] screens)
 {
     collection.AllScreens.ShouldHaveTheSameElementsAs(screens);
 }
Exemple #41
0
        private static void TestProgressBars(ScreenCollection screens)
        {
            var screen = new Screen("Progress Bars - No Border");

            var control1 = new ProgressBar();

            control1.Left       = 0;
            control1.Top        = 0;
            control1.Width      = 20;
            control1.BlockColor = ConsoleColor.Yellow;

            screen.Controls.Add(control1);

            var control2 = new ProgressBar();

            control2.Left        = 20;
            control2.Top         = 10;
            control2.Width       = 5;
            control2.BorderStyle = BorderStyle.Single;

            screen.Controls.Add(control2);

            var control3 = new ProgressBar();

            control3.Left        = 35;
            control3.Top         = 20;
            control3.Width       = 30;
            control3.BorderStyle = BorderStyle.Double;
            control3.BlockColor  = ConsoleColor.Red;
            control3.HasShadow   = true;

            screen.Controls.Add(control3);

            var control4 = new ProgressBar();

            control4.Left             = 0;
            control4.Top              = 15;
            control4.Width            = 30;
            control4.BorderStyle      = BorderStyle.Double;
            control4.BlockColor       = ConsoleColor.Green;
            control4.HasShadow        = true;
            control4.ProgressBarStyle = ProgressBarStyle.Marquee;

            screen.Controls.Add(control4);

            screen.Footer.Text = screen.Name + ". Press any key.";

            screens.Add(screen);

            screen.Shown += (s, e) =>
            {
                while (control1.Value < control1.Maximum)
                {
                    Console.ReadKey(true);

                    control1.Increment(10);
                    control2.Increment(10);
                    control3.Increment(10);

                    screen.Footer.Text = string.Format("Value: {0}", control1.Value);
                }
            };
        }
 internal static void SetupKeyPressedEventScreens(ScreenCollection screens)
 {
     ListBoxPopup(screens);
 }
        private static void ListBoxPopup(ScreenCollection screens)
        {
            var screen = new Screen("List Box Pop Up");

            MenuBar menuBar = Menus.SetupMenuBar(screen);

            var control1 = new ListBox();

            control1.Left = 0;
            control1.Top = 1;
            control1.Width = screen.Width;
            control1.Height = screen.Height - 2;
            control1.BorderStyle = BorderStyle.Double;

            for (int i = 0; i < 150; i++)
            {
                control1.Items.Add(string.Format("Item {0} - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua", i + 1));
            }

            screen.Controls.Add(control1);

            var textBox = new TextBox();
            textBox.BorderStyle = BorderStyle.Double;
            textBox.Width = 8;
            textBox.Left = (screen.Width / 2) - (textBox.Width / 2);
            textBox.Top = (screen.Height / 2) - (textBox.Height / 2);
            textBox.MaxLength = 6;
            textBox.BackgroundColor = System.ConsoleColor.DarkGreen;
            textBox.FocusBackgroundColor = System.ConsoleColor.DarkGreen;
            textBox.Visible = false;
            textBox.TreatEnterKeyAsTab = false;
            textBox.HasShadow = true;

            screen.Controls.Add(textBox);

            screen.Footer.Text = screen.Name + ". Press C to popup a text box, enter or escape.";

            screen.Controls.Add(menuBar);

            screens.Add(screen);

            control1.KeyPressed += (s, e) =>
            {
                if (e.Info.Key == System.ConsoleKey.C)
                {
                    textBox.Visible = true;
                    textBox.Focus();
                    e.Handled = true;
                }
            };

            control1.Selected += (s, e) =>
            {
                screen.Footer.Text = control1.SelectedItem;
            };

            textBox.TextChanged += (s, e) =>
            {
                screen.Footer.Text = string.Format("{0} => {1}", e.OrignalText ?? string.Empty, e.NewText);
            };

            textBox.Leave += (s, e) =>
            {
                //textBox.Visible = false;
            };

            control1.Enter += (s, e) =>
            {
                textBox.Visible = false;
            };
        }
Exemple #44
0
        private static void MultilineBasicTextBoxScreen(ScreenCollection screens)
        {
            var screen = new Screen("Multiline Basic Text Boxes");

            var control1 = new TextBox();

            control1.Left = 35;
            control1.Top = 0;
            control1.Width = control1.MaxLength;
            control1.TreatEnterKeyAsTab = false;
            control1.Height = 15;
            control1.Width = 50;
            control1.TextBoxType = TextBoxType.Multiline;
            control1.Text = "So if on advanced addition absolute received replying throwing he." + Environment.NewLine + Environment.NewLine + "Delighted consisted newspaper of unfeeling as neglected so." + Environment.NewLine + "Tell size come hard mrs and four fond are. Of in commanded earnestly resources it. At quitting in strictly up wandered of relation answered felicity. Side need at in what dear ever upon if. Same down want joy neat ask pain help she. Alone three stuff use law walls fat asked. Near do that he help.";
            control1.BorderStyle = BorderStyle.Double;

            var control2 = new TextBox();

            control2.Left = 0;
            control2.Top = control1.Top + control1.Height + 1;
            control2.Width = screen.Width;
            control2.TextAlign = TextAlign.Center;
            control2.Height = 5;
            control2.Width = 20;
            control2.TextBoxType = TextBoxType.Multiline;
            control2.MaxLength = 150;

            var control3 = new TextBox();

            control3.Left = 35;
            control3.Top = control2.Top ;
            control3.Height = 20;
            control3.Width = 50;
            control3.TextBoxType = TextBoxType.Multiline;
            control3.Text = Properties.Resources.LongText;
            control3.BorderStyle = BorderStyle.Double;

            screen.Controls.Add(control1);
            screen.Controls.Add(control2);
            screen.Controls.Add(control3);

            screen.Footer.Text = screen.Name + ". Press escape.";

            screens.Add(screen);
        }
        private static void ListBoxPopup(ScreenCollection screens)
        {
            var screen = new Screen("List Box Pop Up");

            MenuBar menuBar = Menus.SetupMenuBar(screen);

            var control1 = new ListBox();

            control1.Left        = 0;
            control1.Top         = 1;
            control1.Width       = screen.Width;
            control1.Height      = screen.Height - 2;
            control1.BorderStyle = BorderStyle.Double;

            for (int i = 0; i < 150; i++)
            {
                control1.Items.Add(string.Format("Item {0} - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua", i + 1));
            }

            screen.Controls.Add(control1);

            var textBox = new TextBox();

            textBox.BorderStyle          = BorderStyle.Double;
            textBox.Width                = 8;
            textBox.Left                 = (screen.Width / 2) - (textBox.Width / 2);
            textBox.Top                  = (screen.Height / 2) - (textBox.Height / 2);
            textBox.MaxLength            = 6;
            textBox.BackgroundColor      = System.ConsoleColor.DarkGreen;
            textBox.FocusBackgroundColor = System.ConsoleColor.DarkGreen;
            textBox.Visible              = false;
            textBox.TreatEnterKeyAsTab   = false;
            textBox.HasShadow            = true;

            screen.Controls.Add(textBox);

            screen.Footer.Text = screen.Name + ". Press C to popup a text box, enter or escape.";

            screen.Controls.Add(menuBar);

            screens.Add(screen);

            control1.KeyPressed += (s, e) =>
            {
                if (e.Info.Key == System.ConsoleKey.C)
                {
                    textBox.Visible = true;
                    textBox.Focus();
                    e.Handled = true;
                }
            };

            control1.Selected += (s, e) =>
            {
                screen.Footer.Text = control1.SelectedItem;
            };

            textBox.TextChanged += (s, e) =>
            {
                screen.Footer.Text = string.Format("{0} => {1}", e.OrignalText ?? string.Empty, e.NewText);
            };

            textBox.Leave += (s, e) =>
            {
                //textBox.Visible = false;
            };

            control1.Enter += (s, e) =>
            {
                textBox.Visible = false;
            };
        }
Exemple #46
0
 internal static void SetupProgressBars(ScreenCollection screens)
 {
     TestProgressBars(screens);
 }
Exemple #47
0
 internal static void SetupProgressBars(ScreenCollection screens)
 {
     TestProgressBars(screens);
 }