Example #1
0
    public ConsoleWindow()
    {
      Title = "Console";
      Width = 480;
      Height = 240;
      var console = new Console
      {
        HorizontalAlignment = HorizontalAlignment.Stretch,
        VerticalAlignment = VerticalAlignment.Stretch,
      };
      Content = console;

      // Print a message in the console.
      console.WriteLine("Enter 'help' to see all available commands.");

      // Register a new command 'close', which closes the ConsoleWindow.
      var closeCommand = new ConsoleCommand("close", "Close console.", _ => Close());
      console.Interpreter.Commands.Add(closeCommand);
    }
 private void CreateConsoleControl()
 {
     Console = new Console
     {
         HorizontalAlignment = HorizontalAlignment.Stretch,
         VerticalAlignment = VerticalAlignment.Stretch,
     };
 }
        public DebuggingComponent(Microsoft.Xna.Framework.Game game, IServiceLocator services)
            : base(game)
        {
            _inputService    = services.GetInstance <IInputService>();
            _graphicsService = services.GetInstance <IGraphicsService>();
            _uiService       = services.GetInstance <IUIService>();

            // Get graphics service and add a DelegateGraphicsScreen as the first
            // graphics screen. This lets us do the rendering in the Render method of
            // this class.

            _graphicsScreen = new DelegateGraphicsScreen(_graphicsService)
            {
                RenderCallback = Render,
            };
            _graphicsService.Screens.Insert(0, _graphicsScreen);

            // Load a UI theme and create a renderer.
            // We could use the same renderer as the "Default" screen (see StartScreenComponent.cs).
            // But usually, the debug screen will use a more efficient theme (smaller fonts, no
            // fancy graphics). Here, we simply use the Neoforce theme again.
            _uiContentManager = new ContentManager(services, "NeoforceTheme");
            var        theme    = _uiContentManager.Load <Theme>("ThemeRed");
            UIRenderer renderer = new UIRenderer(Game, theme);

            // Create a UIScreen and add it to the UI service.
            _uiScreen = new UIScreen("Debug", renderer)
            {
                // A transparent background.
                Background = new Color(0, 0, 0, 0),

                // The z-index is equal to the draw order. The z-index defines in which order the
                // screens are updated. This screen with the debug console should be updated before
                // the actual game under this screen.
                ZIndex = 10,

                // Hide the screen. The user has to press a button to make the debug screen visible.
                IsVisible = false,
            };

            // Optional:
            // The debug screen handles gamepad input first, then the other screens and game components
            // can handle input. We do not want that the game is controllable when the debug screen is
            // visible, therefore we set the IsHandled flags when the screen is finished with the input.
            _uiScreen.InputProcessed += (s, e) => _inputService.SetGamePadHandled(LogicalPlayerIndex.Any, true);

            // Add a console control on the left.
            _console = new Console
            {
                HorizontalAlignment = HorizontalAlignment.Left,
                VerticalAlignment   = VerticalAlignment.Stretch,
                Width  = 500,
                Margin = new Vector4F(20),
            };
            _uiScreen.Children.Add(_console);

            // Print a few info messages in the console.
            _console.WriteLine("Press TAB or ChatPadGreen to display/hide console.");
            _console.WriteLine("Enter 'help' to view console commands.");

            // Add a custom command:
            _console.Interpreter.Commands.Add(new ConsoleCommand("greet", "greet [<name>] ... Prints a greeting message.", Greet));

            // Add the screen to the UI service.
            _uiService.Screens.Add(_uiScreen);
        }
 public ToStringCommand(Console console, IConsoleCommandHost commandHost)
     : base("ToString", console, commandHost)
 {
     Description = "Writes out the objects ToString method";
 }
 protected ReflectionUiCommandBase(string name, Console console, IConsoleCommandHost commandHost)
     : base(name, console, commandHost)
 {
 }
Example #6
0
    public DebuggingComponent(Microsoft.Xna.Framework.Game game, IServiceLocator services)
      : base(game)
    {
      _inputService = services.GetInstance<IInputService>();
      _graphicsService = services.GetInstance<IGraphicsService>();
      _uiService = services.GetInstance<IUIService>();

      // Get graphics service and add a DelegateGraphicsScreen as the first 
      // graphics screen. This lets us do the rendering in the Render method of
      // this class.
      
      _graphicsScreen = new DelegateGraphicsScreen(_graphicsService)
      {
        RenderCallback = Render,
      };
      _graphicsService.Screens.Insert(0, _graphicsScreen);

      // Load a UI theme and create a renderer. 
      // We could use the same renderer as the "Default" screen (see StartScreenComponent.cs).
      // But usually, the debug screen will use a more efficient theme (smaller fonts, no
      // fancy graphics). Here, we simply use the BlendBlue theme again.
      var contentManager = services.GetInstance<ContentManager>();
      var theme = contentManager.Load<Theme>("UI Themes/BlendBlue/Theme");
      UIRenderer renderer = new UIRenderer(Game, theme);

      // Create a UIScreen and add it to the UI service. 
      _uiScreen = new UIScreen("Debug", renderer)
      {
        // A transparent background.
        Background = new Color(0, 0, 0, 0),

        // The z-index is equal to the draw order. The z-index defines in which order the 
        // screens are updated. This screen with the debug console should be updated before
        // the actual game under this screen.
        ZIndex = 10,

        // Hide the screen. The user has to press a button to make the debug screen visible.
        IsVisible = false,
      };

      // Optional: 
      // The debug screen handles gamepad input first, then the other screens and game components
      // can handle input. We do not want that the game is controllable when the debug screen is
      // visible, therefore we set the IsHandled flags when the screen is finished with the input.
      _uiScreen.InputProcessed += (s, e) => _inputService.SetGamePadHandled(LogicalPlayerIndex.Any, true);

      // Add a console control on the left.
      _console = new Console
      {
        HorizontalAlignment = HorizontalAlignment.Left,
        VerticalAlignment = VerticalAlignment.Stretch,
        Width = 500,
        Margin = new Vector4F(20),
      };
      _uiScreen.Children.Add(_console);

      // Print a few info messages in the console.
      _console.WriteLine("Press TAB or ChatPadGreen to display/hide console.");
      _console.WriteLine("Enter 'help' to view console commands.");

      // Add a custom command:
      _console.Interpreter.Commands.Add(new ConsoleCommand("greet", "greet [<name>] ... Prints a greeting message.", Greet));

      // Add the screen to the UI service. 
      _uiService.Screens.Add(_uiScreen);
    }
 public MethodButtonCommand(Console console, IConsoleCommandHost commandHost)
     : base("Button", console, commandHost)
 {
     Description = "Creates a Button To Call A Method [methods,(args*)]";
 }
Example #8
0
    public AllControlsWindow(ContentManager content, IUIRenderer renderer)
    {
      Title = "All Controls (This window has a context menu!)";
      CanResize = false;

      // The window content is set to a horizontal stack panel that contains two vertical
      // stack panels. The controls are added to the vertical panels.

      // ----- Button with text content
      var button0 = new Button
      {
        Content = new TextBlock { Text = "Button" },
        Margin = new Vector4F(4),
      };

      // ----- Button with mixed content
      // The content of a button is usually a text block but can be any UI control.
      // Let's try a button with image + text.
      var buttonContentPanel = new StackPanel { Orientation = Orientation.Horizontal };
      buttonContentPanel.Children.Add(new Image
      {
        Width = 16,
        Height = 16,
        Texture = content.Load<Texture2D>("Icon")
      });

      buttonContentPanel.Children.Add(new TextBlock
      {
        Margin = new Vector4F(4, 0, 0, 0),
        Text = "Button with image",
        VerticalAlignment = VerticalAlignment.Center,
      });

      var button1 = new Button
      {
        Content = buttonContentPanel,
        Margin = new Vector4F(4),
      };

      // ----- Drop-down button
      var dropDown = new DropDownButton
      {
        HorizontalAlignment = HorizontalAlignment.Stretch,
        Margin = new Vector4F(4),
        MaxDropDownHeight = 250,
      };
      for (int i = 0; i < 20; i++)
      {
        dropDown.Items.Add("DropDownItem " + i);
      }
      dropDown.SelectedIndex = 0;

      // ----- Check box
      var checkBox = new CheckBox
      {
        Margin = new Vector4F(4),
        Content = new TextBlock { Text = "CheckBox" },
      };

      // ----- Group of radio buttons
      var radioButton0 = new RadioButton
      {
        Margin = new Vector4F(4, 8, 4, 4),
        Content = new TextBlock { Text = "RadioButton0" },
      };

      var radioButton1 = new RadioButton
      {
        Margin = new Vector4F(4, 2, 4, 2),
        Content = new TextBlock { Text = "RadioButton1" },
      };

      var radioButton2 = new RadioButton
      {
        Margin = new Vector4F(4, 2, 4, 4),
        Content = new TextBlock { Text = "RadioButton1" },
      };

      // ----- Progress bar with value
      var progressBar0 = new ProgressBar
      {
        IsIndeterminate = false,
        Value = 75,
        Margin = new Vector4F(4, 8, 4, 4),
        HorizontalAlignment = HorizontalAlignment.Stretch,
        Cursor = renderer.GetCursor("Wait"),
      };

      // ----- Progress bar without value (indeterminate)
      var progressBar1 = new ProgressBar
      {
        IsIndeterminate = true,
        Margin = new Vector4F(4),
        HorizontalAlignment = HorizontalAlignment.Stretch,
        Cursor = renderer.GetCursor("Wait"),
      };

      // ----- Slider connected with a text box.
      var slider = new Slider
      {
        Value = 60,
        Margin = new Vector4F(4),
        HorizontalAlignment = HorizontalAlignment.Stretch,
      };

      var sliderValue = new TextBlock
      {
        Margin = new Vector4F(4, 0, 4, 4),
        Text = "(Value = 60)",
        HorizontalAlignment = HorizontalAlignment.Right
      };

      // To connect the slider with the text box, we need to get the "Value" property.
      var valueProperty = slider.Properties.Get<float>("Value");
      // This property is a GameObjectProperty<float>. We can attach an event handler to 
      // the Changed event of the property.
      valueProperty.Changed += (s, e) => sliderValue.Text = "(Value = " + (int)e.NewValue + ")";

      // ----- Scroll bar
      var scrollBar = new ScrollBar
      {
        Style = "ScrollBarHorizontal",
        SmallChange = 1,
        LargeChange = 10,
        Value = 45,
        ViewportSize = 0.3f,
        Margin = new Vector4F(4),
        HorizontalAlignment = HorizontalAlignment.Stretch,
      };

      // Add the controls to the first vertical stack panel.
      var stackPanel0 = new StackPanel
      {
        Margin = new Vector4F(4),
      };
      stackPanel0.Children.Add(button0);
      stackPanel0.Children.Add(button1);
      stackPanel0.Children.Add(dropDown);
      stackPanel0.Children.Add(checkBox);
      stackPanel0.Children.Add(radioButton0);
      stackPanel0.Children.Add(radioButton1);
      stackPanel0.Children.Add(radioButton2);
      stackPanel0.Children.Add(progressBar0);
      stackPanel0.Children.Add(progressBar1);
      stackPanel0.Children.Add(slider);
      stackPanel0.Children.Add(sliderValue);
      stackPanel0.Children.Add(scrollBar);

      // ----- Group box
      var groupBox = new GroupBox
      {
        Title = "GroupBox",
        HorizontalAlignment = HorizontalAlignment.Stretch,
        Margin = new Vector4F(4),
        Content = new TextBlock
        {
          Margin = new Vector4F(4),
          Text = "GroupBox Content"
        }
      };

      // ----- Tab control with 3 tab items
      var tabItem0 = new TabItem
      {
        TabPage = new TextBlock { Margin = new Vector4F(4), Text = "Page 0" },
        Content = new TextBlock { Text = "Item 0" },
      };
      var tabItem1 = new TabItem
      {
        TabPage = new TextBlock { Margin = new Vector4F(4), Text = "Page 1" },
        Content = new TextBlock { Text = "Item 1" },
      };
      var tabItem2 = new TabItem
      {
        TabPage = new TextBlock { Margin = new Vector4F(4), Text = "Page 2" },
        Content = new TextBlock { Text = "Item 2" },
      };
      var tabControl = new TabControl
      {
        HorizontalAlignment = HorizontalAlignment.Stretch,
        Margin = new Vector4F(4),
      };
      tabControl.Items.Add(tabItem0);
      tabControl.Items.Add(tabItem1);
      tabControl.Items.Add(tabItem2);

      // ----- Scroll viewer showing an image
      var image = new Image
      {
        Texture = content.Load<Texture2D>("Sky"),
      };

      var scrollViewer = new ScrollViewer
      {
        Margin = new Vector4F(4),
        HorizontalAlignment = HorizontalAlignment.Stretch,
        MinHeight = 100,
        HorizontalOffset = 200,
        VerticalOffset = 200,
        Height = 200,
      };
      scrollViewer.Content = image;

      // ----- Text box
      var textBox0 = new TextBox
      {
        Margin = new Vector4F(4),
        Text = "The quick brown fox jumps over the lazy dog.",
        MaxLines = 1,
        HorizontalAlignment = HorizontalAlignment.Stretch,
      };

      // ----- Password box
      var textBox1 = new TextBox
      {
        Margin = new Vector4F(4),
        Text = "Secret password!",
        MaxLines = 1,
        IsPassword = true,
        HorizontalAlignment = HorizontalAlignment.Stretch,
      };

      // ----- Multi-line text box
      var textBox2 = new TextBox
      {
        Margin = new Vector4F(4),
        Text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eleifend, nulla semper vestibulum congue, lectus lectus aliquam magna, lobortis luctus sem magna sit amet elit. Integer at neque nec mi dapibus tincidunt. Maecenas elit quam, varius luctus rutrum ut, congue quis libero. In hac habitasse platea dictumst. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Phasellus eu ante eros. Etiam odio lectus, sagittis non dictum eu, faucibus vitae magna. Maecenas mi lorem, semper vel condimentum sit amet, vehicula quis nulla. Cras suscipit scelerisque orci, ac ullamcorper lorem egestas sed. Nulla facilisi. Nam justo enim, mollis nec condimentum non, consectetur vel purus. Curabitur ac diam vitae justo ultricies auctor.\n"
             + "Pellentesque interdum vehicula nisi sed congue. Etiam eget magna nec metus suscipit tincidunt et in lectus. Praesent sapien tortor, congue et semper eu, mattis ac lorem. Duis id est et justo tempus consectetur. Aliquam rutrum ullamcorper augue non varius. Fusce ornare lectus et ipsum lobortis ut venenatis tellus sodales. Proin venenatis scelerisque dui eu viverra. Pellentesque vitae risus eget tellus vehicula molestie et quis ante. Nulla imperdiet rhoncus ante, eu tristique ante euismod id. Sed varius varius hendrerit. Praesent massa tortor, gravida suscipit lacinia non, suscipit a ipsum. Integer vulputate, felis vitae consectetur bibendum, ante velit tincidunt nunc, in convallis erat dolor eu purus.",
        MinLines = 5,
        MaxLines = 5,
        HorizontalAlignment = HorizontalAlignment.Stretch,
      };

      // ----- Console (command prompt)
      var console = new Console
      {
        Margin = new Vector4F(4),
        HorizontalAlignment = HorizontalAlignment.Stretch,
        MinHeight = 100,
      };

      // Add the controls to the second vertical stack panel.
      var stackPanel1 = new StackPanel
      {
        Width = 250,
        Margin = new Vector4F(4),
      };
      stackPanel1.Children.Add(groupBox);
      stackPanel1.Children.Add(tabControl);
      stackPanel1.Children.Add(scrollViewer);
      stackPanel1.Children.Add(textBox0);
      stackPanel1.Children.Add(textBox1);
      stackPanel1.Children.Add(textBox2);
      stackPanel1.Children.Add(console);

      // Add the two vertical stack panel into a horizontal stack panel.
      var stackPanelHorizontal = new StackPanel
      {
        Orientation = Orientation.Horizontal
      };
      stackPanelHorizontal.Children.Add(stackPanel0);
      stackPanelHorizontal.Children.Add(stackPanel1);

      Content = stackPanelHorizontal;

      // ----- Add a context menu to the window. (Each UI control can have its own context menu.)
      ContextMenu = new ContextMenu();

      // Add menu items.
      for (int i = 0; i < 10; i++)
      {
        var menuItem = new MenuItem
        {
          Content = new TextBlock { Text = "MenuItem" + i },
        };
        ContextMenu.Items.Add(menuItem);
      }
    }
Example #9
0
        public AllControlsWindow(ContentManager content, IUIRenderer renderer)
        {
            Title     = "All Controls (This window has a context menu!)";
            CanResize = false;

            // The window content is set to a horizontal stack panel that contains two vertical
            // stack panels. The controls are added to the vertical panels.

            // ----- Button with text content
            var button0 = new Button
            {
                Content = new TextBlock {
                    Text = "Button"
                },
                Margin = new Vector4F(4),
            };

            // ----- Button with mixed content
            // The content of a button is usually a text block but can be any UI control.
            // Let's try a button with image + text.
            var buttonContentPanel = new StackPanel {
                Orientation = Orientation.Horizontal
            };

            buttonContentPanel.Children.Add(new Image
            {
                Width   = 16,
                Height  = 16,
                Texture = content.Load <Texture2D>("Icon")
            });

            buttonContentPanel.Children.Add(new TextBlock
            {
                Margin            = new Vector4F(4, 0, 0, 0),
                Text              = "Button with image",
                VerticalAlignment = VerticalAlignment.Center,
            });

            var button1 = new Button
            {
                Content = buttonContentPanel,
                Margin  = new Vector4F(4),
            };

            // ----- Drop-down button
            var dropDown = new DropDownButton
            {
                HorizontalAlignment = HorizontalAlignment.Stretch,
                Margin            = new Vector4F(4),
                MaxDropDownHeight = 250,
            };

            for (int i = 0; i < 20; i++)
            {
                dropDown.Items.Add("DropDownItem " + i);
            }
            dropDown.SelectedIndex = 0;

            // ----- Check box
            var checkBox = new CheckBox
            {
                Margin  = new Vector4F(4),
                Content = new TextBlock {
                    Text = "CheckBox"
                },
            };

            // ----- Group of radio buttons
            var radioButton0 = new RadioButton
            {
                Margin  = new Vector4F(4, 8, 4, 4),
                Content = new TextBlock {
                    Text = "RadioButton0"
                },
            };

            var radioButton1 = new RadioButton
            {
                Margin  = new Vector4F(4, 2, 4, 2),
                Content = new TextBlock {
                    Text = "RadioButton1"
                },
            };

            var radioButton2 = new RadioButton
            {
                Margin  = new Vector4F(4, 2, 4, 4),
                Content = new TextBlock {
                    Text = "RadioButton1"
                },
            };

            // ----- Progress bar with value
            var progressBar0 = new ProgressBar
            {
                IsIndeterminate     = false,
                Value               = 75,
                Margin              = new Vector4F(4, 8, 4, 4),
                HorizontalAlignment = HorizontalAlignment.Stretch,
                Cursor              = renderer.GetCursor("Wait"),
            };

            // ----- Progress bar without value (indeterminate)
            var progressBar1 = new ProgressBar
            {
                IsIndeterminate     = true,
                Margin              = new Vector4F(4),
                HorizontalAlignment = HorizontalAlignment.Stretch,
                Cursor              = renderer.GetCursor("Wait"),
            };

            // ----- Slider connected with a text box.
            var slider = new Slider
            {
                Value  = 60,
                Margin = new Vector4F(4),
                HorizontalAlignment = HorizontalAlignment.Stretch,
            };

            var sliderValue = new TextBlock
            {
                Margin = new Vector4F(4, 0, 4, 4),
                Text   = "(Value = 60)",
                HorizontalAlignment = HorizontalAlignment.Right
            };

            // To connect the slider with the text box, we need to get the "Value" property.
            var valueProperty = slider.Properties.Get <float>("Value");

            // This property is a GameObjectProperty<float>. We can attach an event handler to
            // the Changed event of the property.
            valueProperty.Changed += (s, e) => sliderValue.Text = "(Value = " + (int)e.NewValue + ")";

            // ----- Scroll bar
            var scrollBar = new ScrollBar
            {
                Style               = "ScrollBarHorizontal",
                SmallChange         = 1,
                LargeChange         = 10,
                Value               = 45,
                ViewportSize        = 0.3f,
                Margin              = new Vector4F(4),
                HorizontalAlignment = HorizontalAlignment.Stretch,
            };

            // Add the controls to the first vertical stack panel.
            var stackPanel0 = new StackPanel
            {
                Margin = new Vector4F(4),
            };

            stackPanel0.Children.Add(button0);
            stackPanel0.Children.Add(button1);
            stackPanel0.Children.Add(dropDown);
            stackPanel0.Children.Add(checkBox);
            stackPanel0.Children.Add(radioButton0);
            stackPanel0.Children.Add(radioButton1);
            stackPanel0.Children.Add(radioButton2);
            stackPanel0.Children.Add(progressBar0);
            stackPanel0.Children.Add(progressBar1);
            stackPanel0.Children.Add(slider);
            stackPanel0.Children.Add(sliderValue);
            stackPanel0.Children.Add(scrollBar);

            // ----- Group box
            var groupBox = new GroupBox
            {
                Title = "GroupBox",
                HorizontalAlignment = HorizontalAlignment.Stretch,
                Margin  = new Vector4F(4),
                Content = new TextBlock
                {
                    Margin = new Vector4F(4),
                    Text   = "GroupBox Content"
                }
            };

            // ----- Tab control with 3 tab items
            var tabItem0 = new TabItem
            {
                TabPage = new TextBlock {
                    Margin = new Vector4F(4), Text = "Page 0"
                },
                Content = new TextBlock {
                    Text = "Item 0"
                },
            };
            var tabItem1 = new TabItem
            {
                TabPage = new TextBlock {
                    Margin = new Vector4F(4), Text = "Page 1"
                },
                Content = new TextBlock {
                    Text = "Item 1"
                },
            };
            var tabItem2 = new TabItem
            {
                TabPage = new TextBlock {
                    Margin = new Vector4F(4), Text = "Page 2"
                },
                Content = new TextBlock {
                    Text = "Item 2"
                },
            };
            var tabControl = new TabControl
            {
                HorizontalAlignment = HorizontalAlignment.Stretch,
                Margin = new Vector4F(4),
            };

            tabControl.Items.Add(tabItem0);
            tabControl.Items.Add(tabItem1);
            tabControl.Items.Add(tabItem2);

            // ----- Scroll viewer showing an image
            var image = new Image
            {
                Texture = content.Load <Texture2D>("Sky"),
            };

            var scrollViewer = new ScrollViewer
            {
                Margin = new Vector4F(4),
                HorizontalAlignment = HorizontalAlignment.Stretch,
                MinHeight           = 100,
                HorizontalOffset    = 200,
                VerticalOffset      = 200,
                Height = 200,
            };

            scrollViewer.Content = image;

            // ----- Text box
            var textBox0 = new TextBox
            {
                Margin              = new Vector4F(4),
                Text                = "The quick brown fox jumps over the lazy dog.",
                MaxLines            = 1,
                HorizontalAlignment = HorizontalAlignment.Stretch,
            };

            // ----- Password box
            var textBox1 = new TextBox
            {
                Margin              = new Vector4F(4),
                Text                = "Secret password!",
                MaxLines            = 1,
                IsPassword          = true,
                HorizontalAlignment = HorizontalAlignment.Stretch,
            };

            // ----- Multi-line text box
            var textBox2 = new TextBox
            {
                Margin = new Vector4F(4),
                Text   = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eleifend, nulla semper vestibulum congue, lectus lectus aliquam magna, lobortis luctus sem magna sit amet elit. Integer at neque nec mi dapibus tincidunt. Maecenas elit quam, varius luctus rutrum ut, congue quis libero. In hac habitasse platea dictumst. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Phasellus eu ante eros. Etiam odio lectus, sagittis non dictum eu, faucibus vitae magna. Maecenas mi lorem, semper vel condimentum sit amet, vehicula quis nulla. Cras suscipit scelerisque orci, ac ullamcorper lorem egestas sed. Nulla facilisi. Nam justo enim, mollis nec condimentum non, consectetur vel purus. Curabitur ac diam vitae justo ultricies auctor.\n"
                         + "Pellentesque interdum vehicula nisi sed congue. Etiam eget magna nec metus suscipit tincidunt et in lectus. Praesent sapien tortor, congue et semper eu, mattis ac lorem. Duis id est et justo tempus consectetur. Aliquam rutrum ullamcorper augue non varius. Fusce ornare lectus et ipsum lobortis ut venenatis tellus sodales. Proin venenatis scelerisque dui eu viverra. Pellentesque vitae risus eget tellus vehicula molestie et quis ante. Nulla imperdiet rhoncus ante, eu tristique ante euismod id. Sed varius varius hendrerit. Praesent massa tortor, gravida suscipit lacinia non, suscipit a ipsum. Integer vulputate, felis vitae consectetur bibendum, ante velit tincidunt nunc, in convallis erat dolor eu purus.",
                MinLines            = 5,
                MaxLines            = 5,
                HorizontalAlignment = HorizontalAlignment.Stretch,
            };

            // ----- Console (command prompt)
            var console = new Console
            {
                Margin = new Vector4F(4),
                HorizontalAlignment = HorizontalAlignment.Stretch,
                MinHeight           = 100,
            };

            // Add the controls to the second vertical stack panel.
            var stackPanel1 = new StackPanel
            {
                Width  = 250,
                Margin = new Vector4F(4),
            };

            stackPanel1.Children.Add(groupBox);
            stackPanel1.Children.Add(tabControl);
            stackPanel1.Children.Add(scrollViewer);
            stackPanel1.Children.Add(textBox0);
            stackPanel1.Children.Add(textBox1);
            stackPanel1.Children.Add(textBox2);
            stackPanel1.Children.Add(console);

            // Add the two vertical stack panel into a horizontal stack panel.
            var stackPanelHorizontal = new StackPanel
            {
                Orientation = Orientation.Horizontal
            };

            stackPanelHorizontal.Children.Add(stackPanel0);
            stackPanelHorizontal.Children.Add(stackPanel1);

            Content = stackPanelHorizontal;

            // ----- Add a context menu to the window. (Each UI control can have its own context menu.)
            ContextMenu = new ContextMenu();

            // Add menu items.
            for (int i = 0; i < 10; i++)
            {
                var menuItem = new MenuItem
                {
                    Content = new TextBlock {
                        Text = "MenuItem" + i
                    },
                };
                ContextMenu.Items.Add(menuItem);
            }
        }
Example #10
0
 public DumpCommand(Console console, IConsoleCommandHost commandHost)
     : base("Dump", console, commandHost)
 {
     Description = "Dumps all the objects properties to the console";
 }
 public SliderCommand(Console console, IConsoleCommandHost commandHost)
     : base("Slider", console, commandHost)
 {
     Description = "Creates a Slider To Set The Property [property,(min),(max),(autocall)]";
 }
 public GetTypeCommand(Console console, IConsoleCommandHost commandHost)
     : base("GetType", console, commandHost)
 {
     Description = "Writes out the objects type";
 }
 public PropertyGetCommand(Console console, IConsoleCommandHost commandHost)
     : base("Get", console, commandHost)
 {
     Description = "Gets a Property [name]";
 }