private Border GetBorder(ContainerButton <Recipe> uIElement, SolidColorBrush backColorBrush) { return(new Border() { Margin = new Thickness(5), Background = backColorBrush, BorderThickness = new Thickness(0), Child = uIElement, }); }
private ContainerButton <Recipe> GetButton(Recipe recipe) { ContainerButton <Recipe> button = new ContainerButton <Recipe>() { Margin = new Thickness(10), Background = new SolidColorBrush(Colors.Transparent), BorderThickness = new Thickness(0), Content = GetGrid(recipe), Value = recipe, }; button.Click += (s, e) => { MainWindow mainWindow = Application.Current.Windows.OfType <MainWindow>().FirstOrDefault(); mainWindow.DataContext = new RecipeInformation(button.Value); }; return(button); }
public StorageWindow() { Title = "Storage Item"; RectClipContent = true; var containerButton = new ContainerButton { SizeFlagsHorizontal = SizeFlags.Fill, SizeFlagsVertical = SizeFlags.Fill, MouseFilter = MouseFilterMode.Pass, }; var innerContainerButton = new PanelContainer { PanelOverride = _unHoveredBox, SizeFlagsHorizontal = SizeFlags.Fill, SizeFlagsVertical = SizeFlags.Fill, }; containerButton.AddChild(innerContainerButton); containerButton.OnPressed += args => { var controlledEntity = IoCManager.Resolve <IPlayerManager>().LocalPlayer.ControlledEntity; if (controlledEntity.TryGetComponent(out HandsComponent hands)) { StorageEntity.SendNetworkMessage(new InsertEntityMessage()); } }; VSplitContainer = new VBoxContainer() { MouseFilter = MouseFilterMode.Ignore, }; containerButton.AddChild(VSplitContainer); Information = new Label { Text = "Items: 0 Volume: 0/0 Stuff", SizeFlagsVertical = SizeFlags.ShrinkCenter }; VSplitContainer.AddChild(Information); var listScrollContainer = new ScrollContainer { SizeFlagsVertical = SizeFlags.FillExpand, SizeFlagsHorizontal = SizeFlags.FillExpand, HScrollEnabled = true, VScrollEnabled = true, }; EntityList = new VBoxContainer { SizeFlagsHorizontal = SizeFlags.FillExpand }; listScrollContainer.AddChild(EntityList); VSplitContainer.AddChild(listScrollContainer); Contents.AddChild(containerButton); listScrollContainer.OnMouseEntered += args => { innerContainerButton.PanelOverride = _HoveredBox; }; listScrollContainer.OnMouseExited += args => { innerContainerButton.PanelOverride = _unHoveredBox; }; }
private Grid GetGrid(Recipe recipe) { Grid grid = new Grid() { Margin = new Thickness(10), HorizontalAlignment = HorizontalAlignment.Center, Background = new SolidColorBrush(Color.FromRgb(248, 248, 248)), Height = 80, Width = 500, RowDefinitions = { new RowDefinition() { Height = new GridLength(2, GridUnitType.Star) }, new RowDefinition() { Height = new GridLength(3, GridUnitType.Star) }, }, ColumnDefinitions = { new ColumnDefinition() { Width = new GridLength(5, GridUnitType.Star) }, new ColumnDefinition() { Width = new GridLength(2, GridUnitType.Star) }, new ColumnDefinition() { Width = new GridLength(1, GridUnitType.Star) }, new ColumnDefinition() { Width = new GridLength(2, GridUnitType.Star) }, new ColumnDefinition() { Width = new GridLength(2, GridUnitType.Star) } } }; ContainerButton <Recipe> addButton = new ContainerButton <Recipe>() { BorderThickness = new Thickness(0), Background = new SolidColorBrush(Colors.Transparent), Content = GetImage("ajouter.png"), Value = recipe, }; addButton.Click += (s, e) => { //add recipe Basket.Recipes.Add(addButton.Value); //reset visual InitializationBasket(); }; ContainerButton <Recipe> deletButton = new ContainerButton <Recipe>() { BorderThickness = new Thickness(0), Background = new SolidColorBrush(Colors.Transparent), Content = GetImage("annuler.png"), Value = recipe, }; deletButton.Click += (s, e) => { Basket.Recipes.Remove(deletButton.Value); //delet recipe //reset visual InitializationBasket(); }; TextBlock name = GetTextBlock(recipe.Name, new SolidColorBrush(Colors.Black), FontWeights.Bold, 23); Grid price = GetImageText($"{recipe.Price} cook", "label.png", 14, true); grid.Children.Add(addButton); grid.Children.Add(deletButton); grid.Children.Add(name); grid.Children.Add(price); Grid.SetColumn(addButton, 4); Grid.SetColumn(deletButton, 3); Grid.SetColumn(name, 0); Grid.SetColumn(price, 1); Grid.SetRow(name, 1); Grid.SetRow(price, 1); return(grid); }