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; }
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); }
// 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, })); }
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); } }