void ConstructWidgets()
 {
     textInput         = new TextInputWidget(game, chatFont);
     textInput.YOffset = 5;
     status            = new TextGroupWidget(game, 5, chatFont, chatUrlFont,
                                             Anchor.BottomOrRight, Anchor.LeftOrTop);
     status.Init();
     status.SetUsePlaceHolder(0, false);
     status.SetUsePlaceHolder(1, false);
     bottomRight = new TextGroupWidget(game, 3, chatFont, chatUrlFont,
                                       Anchor.BottomOrRight, Anchor.BottomOrRight);
     bottomRight.YOffset = blockSize + 15;
     bottomRight.Init();
     normalChat = new TextGroupWidget(game, chatLines, chatFont, chatUrlFont,
                                      Anchor.LeftOrTop, Anchor.BottomOrRight);
     normalChat.XOffset = 10;
     normalChat.YOffset = blockSize + 15;
     normalChat.Init();
     clientStatus = new TextGroupWidget(game, game.Chat.ClientStatus.Length, chatFont,
                                        chatUrlFont, Anchor.LeftOrTop, Anchor.BottomOrRight);
     clientStatus.XOffset = 10;
     clientStatus.YOffset = blockSize + 15;
     clientStatus.Init();
     announcement = ChatTextWidget.Create(game, 0, 0, null,
                                          Anchor.Centre, Anchor.Centre, announcementFont);
     announcement.YOffset = -game.Height / 4;
 }
Beispiel #2
0
        public static BoxWidget <TextInputWidget> Text(TextInputWidget widget)
        {
            var box = widget.Box();

            box.Border           = BorderStyle.SingleLine;
            box.Style            = new Style();
            box.Style.Foreground = Color.Black;

            widget.Decoration = (state, w) =>
            {
                if (state.IsEnabled && state.IsFocused)
                {
                    box.Style.Background = Color.White;
                }
                else if (state.IsEnabled)
                {
                    box.Style.Background = Color.Silver;
                }
                else
                {
                    box.Style.Background = Color.DarkGray;
                }

                return(w);
            };

            return(box);
        }
Beispiel #3
0
        // basically a functional widget
        private static IWidget Footer(DemoState state)
        {
            var input = new TextInputWidget("Main.Input")
            {
                OnTextChange = (s) => state.ChangeFooterText(s.Text)
            }.Theme(DemoTheme.Text);

            var button = new ButtonWidget("main.button", new LabelWidget("Go"))
            {
                OnClick = state.Click
            }.Theme(DemoTheme.Button);

            return(new FlexLayoutWidget(new IWidget[]
            {
                new FlexibleWidget(1, input),
                button,
            }));
        }
Beispiel #4
0
        public LEMenu(WidgetRenderer wr, UICLEMenu _uic)
        {
            uic              = _uic;
            WidgetBase       = new RectWidget(wr);
            WidgetBase.Color = UserConfig.MainScheme.WidgetBase;
            WidgetBase.Width = uic.TextInputBufferSize.X + uic.WidgetSpacing * 2;

            btns = new RectButton[5];
            for (int i = 0; i < btns.Length; i++)
            {
                btns[i] = new RectButton(wr,
                                         i == 0 ? uic.TextInputBufferSize.X : (uic.TextInputBufferSize.X - uic.WidgetSpacing) / 2,
                                         uic.TextInputBufferSize.Y,
                                         UserConfig.MainScheme.WidgetInactive,
                                         UserConfig.MainScheme.WidgetActive
                                         );
            }
            txts = new TextWidget[3];
            for (int i = 0; i < txts.Length; i++)
            {
                txts[i]              = new TextWidget(wr);
                txts[i].Height       = uic.TextHeight;
                txts[i].Color        = UserConfig.MainScheme.Text;
                txts[i].OffsetAlignX = Alignment.MID;
                txts[i].AlignX       = Alignment.MID;
                if (i != 0)
                {
                    txts[i].OffsetAlignY = Alignment.MID;
                    txts[i].AlignY       = Alignment.MID;
                }
            }
            txts[0].Text = "Map Name";
            txts[1].Text = "Save";
            txts[2].Text = "Load";

            tInputs = new TextInputWidget[3];
            for (int i = 0; i < tInputs.Length; i++)
            {
                tInputs[i]              = new TextInputWidget(wr);
                tInputs[i].Height       = uic.TextHeight;
                tInputs[i].Color        = UserConfig.MainScheme.Text;
                tInputs[i].Caret.Width  = 1;
                tInputs[i].Caret.Color  = uic.CaretColor;
                tInputs[i].OffsetAlignX = Alignment.MID;
                tInputs[i].OffsetAlignY = Alignment.MID;
                tInputs[i].AlignX       = Alignment.MID;
                tInputs[i].AlignY       = Alignment.MID;
            }
            MapLocation = uic.DefaultMapLocText;
            MapWidth    = uic.DefaultWidth;
            MapHeight   = uic.DefaultHeight;


            txts[0].Parent = WidgetBase;
            txts[0].Offset = new Point(0, uic.WidgetSpacing);

            btns[0].OffsetAlignX = Alignment.MID;
            btns[0].OffsetAlignY = Alignment.BOTTOM;
            btns[0].Offset       = new Point(0, uic.WidgetSpacing);
            btns[0].AlignX       = Alignment.MID;
            btns[0].Parent       = txts[0];
            btns[1].OffsetAlignX = Alignment.LEFT;
            btns[1].OffsetAlignY = Alignment.BOTTOM;
            btns[1].Offset       = new Point(0, uic.WidgetSpacing);
            btns[1].AlignX       = Alignment.LEFT;
            btns[1].Parent       = btns[0];
            btns[2].OffsetAlignX = Alignment.RIGHT;
            btns[2].OffsetAlignY = Alignment.BOTTOM;
            btns[2].Offset       = new Point(0, uic.WidgetSpacing);
            btns[2].AlignX       = Alignment.RIGHT;
            btns[2].Parent       = btns[0];
            for (int i = 0; i < 3; i++)
            {
                tInputs[i].Parent = btns[i];
            }
            for (int i = 0; i < 2; i++)
            {
                btns[i + 3].OffsetAlignY = Alignment.BOTTOM;
                btns[i + 3].Offset       = new Point(0, uic.WidgetSpacing);
                btns[i + 3].Parent       = btns[i + 1];
                txts[i + 1].Parent       = btns[i + 3];
            }
            WidgetBase.Height = btns[4].Y + btns[4].Height + uic.WidgetSpacing;

            for (int i = 0; i < 3; i++)
            {
                btns[i].OnButtonPress += GetInputActivator(i);
            }
        }