public HairStylePicker() { IoCManager.InjectDependencies(this); var vBox = new BoxContainer { Orientation = LayoutOrientation.Vertical }; AddChild(vBox); _colorContainer = new BoxContainer { Orientation = LayoutOrientation.Vertical }; vBox.AddChild(_colorContainer); _colorContainer.AddChild(_colorSelectors = new ()); _colorSelectors.OnColorChanged += color => ColorValueChanged(color); _items = new ItemList { VerticalExpand = true, MinSize = (300, 250) }; vBox.AddChild(_items); _items.OnItemSelected += ItemSelected; }
private void UpdateUI(CharacterInfoComponent comp, string jobTitle, Dictionary <string, List <ConditionInfo> > objectives) { comp.Control.SubText.Text = jobTitle; comp.Control.ObjectivesContainer.RemoveAllChildren(); foreach (var(groupId, objectiveConditions) in objectives) { var vbox = new BoxContainer { Orientation = BoxContainer.LayoutOrientation.Vertical, Modulate = Color.Gray }; vbox.AddChild(new Label { Text = groupId, Modulate = Color.LightSkyBlue }); foreach (var objectiveCondition in objectiveConditions) { var hbox = new BoxContainer { Orientation = BoxContainer.LayoutOrientation.Horizontal }; hbox.AddChild(new ProgressTextureRect { Texture = objectiveCondition.SpriteSpecifier.Frame0(), Progress = objectiveCondition.Progress, VerticalAlignment = Control.VAlignment.Center }); hbox.AddChild(new Control { MinSize = (10, 0) });
public void Order_With_Composite_Of_Boxes_Should_Return_50() { //Arrange var order = new Order(); var boxhead = new BoxContainer(); // head / Container var boxLeaf = aBoxLeaf() .WithBookOfPrice(10) .Build(); var boxLeafTwo = new BoxLeaf(); boxLeafTwo.Book = new Book(price: 40);; boxhead.AddBox(boxLeaf); boxhead.AddBox(boxLeafTwo); order.BoxeHead = boxhead; //Act var result = order.Price; //Assert Assert.AreEqual(50, result); }
protected override Control MakeUI(object?value) { var hBox = new BoxContainer { Orientation = LayoutOrientation.Horizontal, MinSize = new Vector2(200, 0) }; var angle = (Angle)value !; var lineEdit = new LineEdit { Text = angle.Degrees.ToString(CultureInfo.InvariantCulture), Editable = !ReadOnly, HorizontalExpand = true }; if (!ReadOnly) { lineEdit.OnTextEntered += e => { if (!double.TryParse(e.Text, NumberStyles.Any, CultureInfo.InvariantCulture, out var number)) { return; } ValueChanged(Angle.FromDegrees(number)); }; } hBox.AddChild(lineEdit); hBox.AddChild(new Label { Text = "deg" }); return(hBox); }
public void OpenActionSecondaryAction(ImmutableList <File> files, GraphicsContext g1) { if (files != null && _table.FocusedElement == null) { return; } if (TextBoxHandler != null) { CancelTextBoxHandler(g1); } TextBox.Focusable = false; var fop = new FileOptionsPanel(files, _cons.InputMap); var container = new BoxContainer(fop, LineStyle.Dotted); fop.RemovalCallback = (actionToDo, g) => { ((SwitcherStrategy)_wrapper.Strategy).SwitchToComponentWithHint(0, g); _wrapper.RemoveComponent(container); _wrapper.Validate(); _wrapper.Print(g); TextBox.Focusable = true; if (actionToDo != null) { _table.ActionMap.Get(actionToDo)?.Invoke(null, new ActionEventArgs(_wrapper, null, g)); } }; _wrapper.AddComponent(container, 1); ((SwitcherStrategy)_wrapper.Strategy).SwitchToComponentWithHint(1, g1); _wrapper.Validate(); _wrapper.Print(g1); }
public SurgeryWindow() { MinSize = SetSize = (300, 400); Title = Loc.GetString("surgery-window-title"); RectClipContent = true; var vSplitContainer = new BoxContainer { Orientation = LayoutOrientation.Vertical, Children = { new ScrollContainer { VerticalExpand = true, HorizontalExpand = true, HScrollEnabled = true, VScrollEnabled = true, Children = { (_optionsBox = new BoxContainer { Orientation = LayoutOrientation.Vertical, HorizontalExpand = true }) } } } }; Contents.AddChild(vSplitContainer); }
protected override Control MakeUI(object?value) { var hBox = new BoxContainer { Orientation = LayoutOrientation.Horizontal }; dynamic d = value !; // NOTE: value can be both a KeyValuePair<,> here OR as a ServerKeyValuePairToken. object?valueK = d.Key; object?valueV = d.Value; // ReSharper disable ConstantConditionalAccessQualifier var typeK = valueK?.GetType(); var typeV = valueV?.GetType(); // ReSharper restore ConstantConditionalAccessQualifier _propertyEditorK = _viewVariables.PropertyFor(typeK); _propertyEditorV = _viewVariables.PropertyFor(typeV); var controlK = _propertyEditorK.Initialize(valueK, true); var controlV = _propertyEditorV.Initialize(valueV, true); hBox.AddChild(controlK); hBox.AddChild(controlV); return(hBox); }
public StatusControl(ClientBatteryBarrelComponent parent) { MinHeight = 15; _parent = parent; HorizontalExpand = true; VerticalAlignment = VAlignment.Center; AddChild(new BoxContainer { Orientation = LayoutOrientation.Horizontal, HorizontalExpand = true, Children = { new Control { HorizontalExpand = true, Children = { (_bulletsList = new BoxContainer { Orientation = LayoutOrientation.Horizontal, VerticalAlignment = VAlignment.Center, SeparationOverride = 4 }), (_noBatteryLabel = new Label { Text = "No Battery!", StyleClasses = { StyleNano.StyleClassItemStatus } }) } }, new Control() { MinSize = (5, 0) },
public DevInfoBanner() { var buttons = new BoxContainer { Orientation = LayoutOrientation.Horizontal }; AddChild(buttons); var uriOpener = IoCManager.Resolve <IUriOpener>(); var reportButton = new Button { Text = Loc.GetString("server-info-report-button") }; reportButton.OnPressed += args => uriOpener.OpenUri(UILinks.BugReport); var creditsButton = new Button { Text = Loc.GetString("server-info-credits-button") }; creditsButton.OnPressed += args => new CreditsWindow().Open(); buttons.AddChild(reportButton); buttons.AddChild(creditsButton); }
public void TestLayout() { var dataSource = new TestDataSource(); new TestDataGen().GenerateDataItems(dataSource, 10, 0); var boxContainer = new BoxContainer(dataSource); TestDataGen.GenerateBoxSizes(boxContainer); var diagram = new Diagram(); diagram.Boxes = boxContainer; diagram.LayoutSettings.LayoutStrategies.Add("default", new LinearLayoutStrategy()); diagram.LayoutSettings.DefaultLayoutStrategyId = "default"; var state = new LayoutState(diagram) { BoxSizeFunc = dataId => boxContainer.BoxesByDataId[dataId].Size }; LayoutAlgorithm.Apply(state); Assert.AreEqual(5, diagram.VisualTree?.Depth); }
public BoxesStatusControl() { MinHeight = 15; HorizontalExpand = true; VerticalAlignment = VAlignment.Center; AddChild(new BoxContainer { Orientation = BoxContainer.LayoutOrientation.Horizontal, HorizontalExpand = true, Children = { new Control { HorizontalExpand = true, Children = { (_bulletsList = new BoxContainer { Orientation = BoxContainer.LayoutOrientation.Horizontal, VerticalAlignment = VAlignment.Center, SeparationOverride = 4 }), } }, new Control() { MinSize = (5, 0) },
protected override Control MakeUI(object?value) { var hBox = new BoxContainer { Orientation = LayoutOrientation.Horizontal, MinSize = new Vector2(200, 0) }; var uid = (EntityUid)value !; var lineEdit = new LineEdit { Text = uid.ToString(), Editable = !ReadOnly, HorizontalExpand = true, }; if (!ReadOnly) { lineEdit.OnTextEntered += e => ValueChanged(EntityUid.Parse(e.Text)); } hBox.AddChild(lineEdit); return(hBox); }
public void UpdatePlayerOptions(HashText[] body) { string bodyText; if (body.Length == 1) { bodyText = "1." + body[0].content + "\n"; } else { bodyText = "1. " + body[0].content + "\n2. " + body[1].content + "\n3. " + body[2].content + "\n4. " + "ThatsIt" + "\n"; } BoxContainer bc = playerOptionDialogue.GetComponent <BoxContainer>(); if (isShowingOptions) { bc.BodyText.text = bodyText; } else { showOptionsPanel(); bc.BodyText.text = bodyText; } }
public GravityGeneratorWindow(GravityGeneratorBoundUserInterface ui) { IoCManager.InjectDependencies(this); Owner = ui; Title = Loc.GetString("gravity-generator-window-title"); var vBox = new BoxContainer { Orientation = LayoutOrientation.Vertical, MinSize = new Vector2(250, 100) }; Status = new Label { Text = $"{Loc.GetString("gravity-generator-window-status-label")} {Loc.GetString(Owner.IsOn ? "gravity-generator-window-is-on" : "gravity-generator-window-is-off")}", FontColorOverride = Owner.IsOn ? Color.ForestGreen : Color.Red }; Switch = new Button { Text = Loc.GetString(Owner.IsOn ? "gravity-generator-window-turn-off-button" : "gravity-generator-window-turn-on-button"), TextAlign = Label.AlignMode.Center, MinSize = new Vector2(150, 60) }; vBox.AddChild(Status); vBox.AddChild(Switch); Contents.AddChild(vBox); }
public VerbCategoryButton(VerbSystem system, VerbCategory category, IEnumerable <Verb> verbs, VerbType type, EntityUid target, bool?drawOnlyIcons = null) : base() { _system = system; _drawOnlyIcons = drawOnlyIcons ?? category.IconsOnly; MouseFilter = MouseFilterMode.Stop; // Contents of the button stored in this box container var box = new BoxContainer() { Orientation = LayoutOrientation.Horizontal }; // First we add the icon for the verb group var icon = new TextureRect { MinSize = (ContextMenuPopup.ButtonHeight, ContextMenuPopup.ButtonHeight), TextureScale = (0.5f, 0.5f), Stretch = TextureRect.StretchMode.KeepCentered, }; if (category.Icon != null) { icon.Texture = category.Icon.Frame0(); } box.AddChild(icon); // Some padding before the text box.AddChild(new Control { MinSize = (4, ContextMenuPopup.ButtonHeight) });
public CrayonWindow(CrayonBoundUserInterface owner) { MinSize = SetSize = (250, 300); Title = Loc.GetString("crayon-window-title"); Owner = owner; var vbox = new BoxContainer { Orientation = LayoutOrientation.Vertical }; Contents.AddChild(vbox); _search = new LineEdit(); _search.OnTextChanged += (_) => RefreshList(); vbox.AddChild(_search); _grid = new GridContainer() { Columns = 6, }; var gridScroll = new ScrollContainer() { VerticalExpand = true, Children = { _grid } }; vbox.AddChild(gridScroll); }
protected static Control MakeTopBar(string top, string bottom) { if (top == bottom) { return(new Label { Text = top, ClipText = true }); } //var smallFont = // new VectorFont(IoCManager.Resolve<IResourceCache>().GetResource<FontResource>("/Fonts/CALIBRI.TTF"), // 10); // Custom ToString() implementation. var headBox = new BoxContainer { Orientation = LayoutOrientation.Vertical, SeparationOverride = 0 }; headBox.AddChild(new Label { Text = top, ClipText = true }); headBox.AddChild(new Label { Text = bottom, // FontOverride = smallFont, FontColorOverride = Color.DarkGray, ClipText = true }); return(headBox); }
public override void _Ready() { loadingItem = GetNode <Control>(LoadingItemPath); savesList = GetNode <BoxContainer>(SavesListPath); deleteConfirmDialog = GetNode <ConfirmationDialog>(DeleteConfirmDialogPath); listItemScene = GD.Load <PackedScene>("res://src/saving/SaveListItem.tscn"); }
public LobbyCharacterPreviewPanel(IEntityManager entityManager, IClientPreferencesManager preferencesManager, IPrototypeManager prototypeManager) { _entMan = entityManager; _preferencesManager = preferencesManager; _prototypeManager = prototypeManager; var header = new NanoHeading { Text = Loc.GetString("lobby-character-preview-panel-header") }; CharacterSetupButton = new Button { Text = Loc.GetString("lobby-character-preview-panel-character-setup-button"), HorizontalAlignment = HAlignment.Left }; _summaryLabel = new Label(); var vBox = new BoxContainer { Orientation = LayoutOrientation.Vertical }; vBox.AddChild(header); _unloaded = new Label { Text = Loc.GetString("lobby-character-preview-panel-unloaded-preferences-label") }; _loaded = new BoxContainer { Orientation = LayoutOrientation.Vertical, Visible = false }; _loaded.AddChild(CharacterSetupButton); _loaded.AddChild(_summaryLabel); _viewBox = new BoxContainer { Orientation = LayoutOrientation.Horizontal }; _loaded.AddChild(_viewBox); vBox.AddChild(_loaded); vBox.AddChild(_unloaded); AddChild(vBox); UpdateUI(); _preferencesManager.OnServerDataLoaded += UpdateUI; }
public override void Initialize(ViewVariablesInstanceObject instance) { base.Initialize(instance); _memberList = new BoxContainer { Orientation = LayoutOrientation.Vertical, SeparationOverride = 0 }; instance.AddTab("Members", _memberList); }
private BoxContainer MakePlayerManifestoTab(RoundEndMessageEvent.RoundEndPlayerInfo[] playersInfo) { var playerManifestTab = new BoxContainer { Orientation = LayoutOrientation.Vertical, Name = Loc.GetString("round-end-summary-window-player-manifesto-tab-title") }; var playerInfoContainerScrollbox = new ScrollContainer { VerticalExpand = true }; var playerInfoContainer = new BoxContainer { Orientation = LayoutOrientation.Vertical }; //Put observers at the bottom of the list. Put antags on top. var sortedPlayersInfo = playersInfo.OrderBy(p => p.Observer).ThenBy(p => !p.Antag); //Create labels for each player info. foreach (var playerInfo in sortedPlayersInfo) { var playerInfoText = new RichTextLabel(); if (playerInfo.PlayerICName != null) { if (playerInfo.Observer) { playerInfoText.SetMarkup( Loc.GetString("round-end-summary-window-player-info-if-observer-text", ("playerOOCName", playerInfo.PlayerOOCName), ("playerICName", playerInfo.PlayerICName))); } else { //TODO: On Hover display a popup detailing more play info. //For example: their antag goals and if they completed them sucessfully. var icNameColor = playerInfo.Antag ? "red" : "white"; playerInfoText.SetMarkup( Loc.GetString("round-end-summary-window-player-info-if-not-observer-text", ("playerOOCName", playerInfo.PlayerOOCName), ("icNameColor", icNameColor), ("playerICName", playerInfo.PlayerICName), ("playerRole", Loc.GetString(playerInfo.Role)))); } } playerInfoContainer.AddChild(playerInfoText); } playerInfoContainerScrollbox.AddChild(playerInfoContainer); playerManifestTab.AddChild(playerInfoContainerScrollbox); return(playerManifestTab); }
public StatusControl(ClientPumpBarrelComponent parent) { MinHeight = 15; _parent = parent; HorizontalExpand = true; VerticalAlignment = VAlignment.Center; AddChild(new BoxContainer { Orientation = LayoutOrientation.Vertical, HorizontalExpand = true, VerticalAlignment = VAlignment.Center, SeparationOverride = 0, Children = { (_bulletsListTop = new BoxContainer { Orientation = LayoutOrientation.Horizontal, SeparationOverride = 0 }), new BoxContainer { Orientation = LayoutOrientation.Horizontal, HorizontalExpand = true, Children = { new Control { HorizontalExpand = true, Children = { (_bulletsListBottom = new BoxContainer { Orientation = LayoutOrientation.Horizontal, VerticalAlignment = VAlignment.Center, SeparationOverride = 0 }), (_noMagazineLabel = new Label { Text = "No Magazine!", StyleClasses ={ StyleNano.StyleClassItemStatus } }) } }, (_chamberedBullet = new TextureRect { Texture = StaticIoC.ResC.GetTexture("/Textures/Interface/ItemStatus/Bullets/chambered.png"), VerticalAlignment = VAlignment.Center, HorizontalAlignment = HAlignment.Right, }) } } } }); }
/// <summary> /// Create and initialize the chem master UI client-side. Creates the basic layout, /// actual data isn't filled in until the server sends data about the chem master. /// </summary> public ChemMasterWindow() { MinSize = SetSize = (400, 525); IoCManager.InjectDependencies(this); Contents.AddChild(new BoxContainer { Orientation = LayoutOrientation.Vertical, Children = { //Container new BoxContainer { Orientation = LayoutOrientation.Horizontal, Children = { new Label { Text = Loc.GetString("chem-master-window-container-label") }, new Control { HorizontalExpand = true }, (EjectButton = new Button{ Text = Loc.GetString("chem-master-window-eject-button") }) } }, //Wrap the container info in a PanelContainer so we can color it's background differently. new PanelContainer { VerticalExpand = true, SizeFlagsStretchRatio = 6, MinSize = (0, 200), PanelOverride = new StyleBoxFlat { BackgroundColor = new Color(27, 27, 30) }, Children = { //Currently empty, when server sends state data this will have container contents and fill volume. (ContainerInfo = new BoxContainer { Orientation = LayoutOrientation.Vertical, HorizontalExpand = true, Children = { new Label { Text = Loc.GetString("chem-master-window-no-container-loaded-text") } } }), } },
public override void _Ready() { loadingItem = GetNode <Control>(LoadingItemPath); savesList = GetNode <BoxContainer>(SavesListPath); deleteConfirmDialog = GetNode <ConfirmationDialog>(DeleteConfirmDialogPath); loadOlderConfirmDialog = GetNode <ConfirmationDialog>(LoadOlderSaveDialogPath); loadNewerConfirmDialog = GetNode <ConfirmationDialog>(LoadNewerSaveDialogPath); loadInvalidConfirmDialog = GetNode <ConfirmationDialog>(LoadInvalidSaveDialogPath); loadIncompatibleDialog = GetNode <AcceptDialog>(LoadIncompatibleDialogPath); listItemScene = GD.Load <PackedScene>("res://src/saving/SaveListItem.tscn"); }
public override void _Ready() { SetPauseMode(PauseModeEnum.Process); _sendCmd = (BaseButton) GetNode("./vbox/hbox/send"); _entryField = (LineEdit) GetNode("./vbox/hbox/entry"); _cmdHistoryList = (BoxContainer) GetNode("./vbox/scroll/vbox"); ConsoleCommandBase cmdBase = (ConsoleCommandBase) GetNode("./commandBase"); _console.Init(cmdBase); _sendCmd.Connect("pressed", this, "SendCmd"); }
public ServerInfo() { _richTextLabel = new RichTextLabel { VerticalExpand = true }; AddChild(_richTextLabel); var buttons = new BoxContainer { Orientation = LayoutOrientation.Horizontal }; AddChild(buttons); var uriOpener = IoCManager.Resolve <IUriOpener>(); var discordButton = new Button { Text = Loc.GetString("server-info-discord-button") }; discordButton.OnPressed += args => uriOpener.OpenUri(UILinks.Discord); var websiteButton = new Button { Text = Loc.GetString("server-info-website-button") }; websiteButton.OnPressed += args => uriOpener.OpenUri(UILinks.Website); var reportButton = new Button { Text = Loc.GetString("server-info-report-button") }; reportButton.OnPressed += args => uriOpener.OpenUri(UILinks.BugReport); var creditsButton = new Button { Text = Loc.GetString("server-info-credits-button") }; creditsButton.OnPressed += args => new CreditsWindow().Open(); var changelogButton = new ChangelogButton { HorizontalExpand = true, HorizontalAlignment = HAlignment.Right }; buttons.AddChild(discordButton); buttons.AddChild(websiteButton); buttons.AddChild(reportButton); buttons.AddChild(creditsButton); buttons.AddChild(changelogButton); }
public AlphaColorPicker() { Button pickerOpen; var vBox = new BoxContainer { Orientation = BoxContainer.LayoutOrientation.Vertical }; AddChild(vBox); vBox.AddChild(_colorSliderR = new ColorSlider(StyleNano.StyleClassSliderRed)); vBox.AddChild(_colorSliderG = new ColorSlider(StyleNano.StyleClassSliderGreen)); vBox.AddChild(_colorSliderB = new ColorSlider(StyleNano.StyleClassSliderBlue)); vBox.AddChild(_colorSliderA = new ColorSlider(StyleNano.StyleClassSliderWhite)); vBox.AddChild(pickerOpen = new Button { Text = "Palette" }); pickerOpen.OnPressed += _ => { if (_picker is null) { _picker = new PaletteColorPicker(); _picker.OpenToLeft(); _picker.PaletteList.OnItemSelected += args => { SetData((args.ItemList.GetSelected().First().Metadata as Color?) !.Value); ColorValueChanged(); }; } else { if (_picker.IsOpen) { _picker.Close(); } else { _picker.Open(); } } }; var colorValueChanged = ColorValueChanged; _colorSliderR.OnValueChanged += colorValueChanged; _colorSliderG.OnValueChanged += colorValueChanged; _colorSliderB.OnValueChanged += colorValueChanged; _colorSliderA.OnValueChanged += colorValueChanged; }
public Menu(PermissionsEui ui) { _ui = ui; Title = Loc.GetString("permissions-eui-menu-title"); var tab = new TabContainer(); AddAdminButton = new Button { Text = Loc.GetString("permissions-eui-menu-add-admin-button"), HorizontalAlignment = HAlignment.Right }; AddAdminRankButton = new Button { Text = Loc.GetString("permissions-eui-menu-add-admin-rank-button"), HorizontalAlignment = HAlignment.Right }; AdminsList = new GridContainer { Columns = 5, VerticalExpand = true }; var adminVBox = new BoxContainer { Orientation = LayoutOrientation.Vertical, Children = { new ScrollContainer() { VerticalExpand = true, Children = { AdminsList } }, AddAdminButton }, }; TabContainer.SetTabTitle(adminVBox, Loc.GetString("permissions-eui-menu-admins-tab-title")); AdminRanksList = new GridContainer { Columns = 3, VerticalExpand = true }; var rankVBox = new BoxContainer { Orientation = LayoutOrientation.Vertical, Children = { new ScrollContainer() { VerticalExpand = true, Children = { AdminRanksList } }, AddAdminRankButton } }; TabContainer.SetTabTitle(rankVBox, Loc.GetString("permissions-eui-menu-admin-ranks-tab-title")); tab.AddChild(adminVBox); tab.AddChild(rankVBox); Contents.AddChild(tab); }
// Adds a row public void AddItem(string name, string status) { var hbox = new BoxContainer { Orientation = LayoutOrientation.Horizontal, HorizontalExpand = true, }; // Player Name hbox.AddChild(new PanelContainer() { PanelOverride = new StyleBoxFlat { BackgroundColor = Color.FromHex("#373744"), ContentMarginBottomOverride = 2, ContentMarginLeftOverride = 4, ContentMarginRightOverride = 4, ContentMarginTopOverride = 2 }, Children = { new Label { Text = name } }, HorizontalExpand = true }); // Status hbox.AddChild(new PanelContainer() { PanelOverride = new StyleBoxFlat { BackgroundColor = Color.FromHex("#373744"), ContentMarginBottomOverride = 2, ContentMarginLeftOverride = 4, ContentMarginRightOverride = 4, ContentMarginTopOverride = 2 }, Children = { new Label { Text = status } }, HorizontalExpand = true, SizeFlagsStretchRatio = 0.2f, }); _vBox.AddChild(hbox); }
public EyeColorPicker() { var vBox = new BoxContainer { Orientation = LayoutOrientation.Vertical }; AddChild(vBox); vBox.AddChild(_colorSelectors = new ColorSelectorSliders()); _colorSelectors.OnColorChanged += ColorValueChanged; }
protected void Page_Init() { if (_content != null) { BoxContainer c = new BoxContainer(); Content.InstantiateIn(c); phContent.Controls.Add(c); } if (_title != null) { TitleContainer t = new TitleContainer(); Title.InstantiateIn(t); phTitle.Controls.Add(t); } }