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;
        }
Exemplo n.º 2
0
    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)
                });
Exemplo n.º 3
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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 8
0
            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);
        }
Exemplo n.º 10
0
        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);
        }
Exemplo n.º 11
0
        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)
                    },
Exemplo n.º 12
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);
        }
Exemplo n.º 13
0
    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;
        }
    }
Exemplo n.º 14
0
        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);
        }
Exemplo n.º 15
0
        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)
            });
Exemplo n.º 16
0
        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);
        }
Exemplo n.º 17
0
        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);
        }
Exemplo n.º 18
0
    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);
        }
Exemplo n.º 22
0
 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,
                     })
                 }
             }
         }
     });
 }
Exemplo n.º 23
0
        /// <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")
                                    }
                                }
                            }),
                        }
                    },
Exemplo n.º 24
0
    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");
    }
Exemplo n.º 25
0
        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");
        }
Exemplo n.º 26
0
        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);
        }
Exemplo n.º 27
0
    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;
    }
Exemplo n.º 28
0
            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);
            }
Exemplo n.º 29
0
        // 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;
        }
Exemplo n.º 31
0
 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);
       }
 }