public void OnRemoveListViewItem(object sender, PokeblockCaseEventArgs e) { if (e.Index == selectedIndex) { selectedBlock = null; selectedIndex = -1; } blockCase.ListViewItems.RemoveAt(e.Index); UpdateDetails(); }
public void OnMoveListViewItem(object sender, PokeblockCaseEventArgs e) { blockCase.ListViewItems.Move(e.OldIndex, e.NewIndex); }
public void OnAddListViewItem(object sender, PokeblockCaseEventArgs e) { ListViewItem listViewItem = new ListViewItem(); listViewItem.SnapsToDevicePixels = true; listViewItem.UseLayoutRounding = true; DockPanel dockPanel = new DockPanel(); dockPanel.Width = 300; Image image = new Image(); image.Source = ItemDatabase.GetPokeblockImageFromColor(e.Pokeblock.Color, true); image.Stretch = Stretch.None; image.SnapsToDevicePixels = true; image.UseLayoutRounding = true; TextBlock blockName = new TextBlock(); blockName.VerticalAlignment = VerticalAlignment.Center; blockName.Text = e.Pokeblock.Color.ToString() + " Pokéblock"; blockName.TextTrimming = TextTrimming.CharacterEllipsis; blockName.Margin = new Thickness(4, 0, 0, 0); List <PokeblockFlavor> flavors = new List <PokeblockFlavor>(); flavors.Add(new PokeblockFlavor(PokeblockColors.Red, e.Pokeblock.Spicyness)); flavors.Add(new PokeblockFlavor(PokeblockColors.Blue, e.Pokeblock.Dryness)); flavors.Add(new PokeblockFlavor(PokeblockColors.Pink, e.Pokeblock.Sweetness)); flavors.Add(new PokeblockFlavor(PokeblockColors.Green, e.Pokeblock.Bitterness)); flavors.Add(new PokeblockFlavor(PokeblockColors.Yellow, e.Pokeblock.Sourness)); flavors.Sort((flavor1, flavor2) => (int)flavor2.Amount - (int)flavor1.Amount); List <Image> tasteImages = new List <Image>(); foreach (PokeblockFlavor flavor in flavors) { if (flavor.Amount > 0) { Image tasteImage = new Image(); tasteImage.Source = ItemDatabase.GetPokeblockImageFromColor(flavor.Flavor, false); tasteImage.Margin = new Thickness(4, 0, 0, 0); tasteImage.Stretch = Stretch.None; tasteImage.SnapsToDevicePixels = true; tasteImage.UseLayoutRounding = true; tasteImage.VerticalAlignment = VerticalAlignment.Center; tasteImages.Add(tasteImage); } } /*if (e.Pokeblock.Spicyness > 0) { * Image tasteImage = new Image(); * tasteImage.Source = ItemDatabase.GetPokeblockImageFromColor(PokeblockColors.Red, false); * tasteImages.Add(tasteImage); * } * if (e.Pokeblock.Dryness > 0) { * Image tasteImage = new Image(); * tasteImage.Source = ItemDatabase.GetPokeblockImageFromColor(PokeblockColors.Blue, false); * tasteImages.Add(tasteImage); * } * if (e.Pokeblock.Sweetness > 0) { * Image tasteImage = new Image(); * tasteImage.Source = ItemDatabase.GetPokeblockImageFromColor(PokeblockColors.Pink, false); * tasteImages.Add(tasteImage); * } * if (e.Pokeblock.Bitterness > 0) { * Image tasteImage = new Image(); * tasteImage.Source = ItemDatabase.GetPokeblockImageFromColor(PokeblockColors.Green, false); * tasteImages.Add(tasteImage); * } * if (e.Pokeblock.Sourness > 0) { * Image tasteImage = new Image(); * tasteImage.Source = ItemDatabase.GetPokeblockImageFromColor(PokeblockColors.Yellow, false); * tasteImages.Add(tasteImage); * } * for (int i = 0; i < tasteImages.Count; i++) { * tasteImages[i].Margin = new Thickness(4, 0, 0, 0); * tasteImages[i].Stretch = Stretch.None; * tasteImages[i].SnapsToDevicePixels = true; * tasteImages[i].UseLayoutRounding = true; * tasteImages[i].VerticalAlignment = VerticalAlignment.Center; * }*/ TextBlock blockLv = new TextBlock(); blockLv.VerticalAlignment = VerticalAlignment.Center; blockLv.HorizontalAlignment = HorizontalAlignment.Right; blockLv.TextAlignment = TextAlignment.Right; blockLv.Text = "Lv"; blockLv.Width = Double.NaN; blockLv.MinWidth = 10; TextBlock blockLevel = new TextBlock(); blockLevel.VerticalAlignment = VerticalAlignment.Center; blockLevel.HorizontalAlignment = HorizontalAlignment.Right; blockLevel.TextAlignment = TextAlignment.Right; blockLevel.Width = 30; blockLevel.Text = e.Pokeblock.Level.ToString(); listViewItem.Content = dockPanel; blockCase.ListViewItems.Insert(e.Index, listViewItem); dockPanel.Children.Add(image); dockPanel.Children.Add(blockName); for (int i = 0; i < tasteImages.Count; i++) { dockPanel.Children.Add(tasteImages[i]); } dockPanel.Children.Add(blockLevel); dockPanel.Children.Add(blockLv); listViewItem.ContextMenu = contextMenu; listViewItem.ContextMenuOpening += OnContextMenuOpening; DockPanel.SetDock(image, Dock.Left); DockPanel.SetDock(blockLevel, Dock.Right); listViewItem.Tag = e.Pokeblock; UpdateDetails(); }
public void OnAddListViewItem(object sender, PokeblockCaseEventArgs e) { ListViewItem listViewItem = new ListViewItem(); listViewItem.SnapsToDevicePixels = true; listViewItem.UseLayoutRounding = true; DockPanel dockPanel = new DockPanel(); dockPanel.Width = 300; Image image = new Image(); image.Source = ItemDatabase.GetPokeblockImageFromColor(e.Pokeblock.Color, true); image.Stretch = Stretch.None; image.SnapsToDevicePixels = true; image.UseLayoutRounding = true; TextBlock blockName = new TextBlock(); blockName.VerticalAlignment = VerticalAlignment.Center; blockName.Text = e.Pokeblock.Color.ToString() + " Pokéblock"; blockName.TextTrimming = TextTrimming.CharacterEllipsis; blockName.Margin = new Thickness(4, 0, 0, 0); List<PokeblockFlavor> flavors = new List<PokeblockFlavor>(); flavors.Add(new PokeblockFlavor(PokeblockColors.Red, e.Pokeblock.Spicyness)); flavors.Add(new PokeblockFlavor(PokeblockColors.Blue, e.Pokeblock.Dryness)); flavors.Add(new PokeblockFlavor(PokeblockColors.Pink, e.Pokeblock.Sweetness)); flavors.Add(new PokeblockFlavor(PokeblockColors.Green, e.Pokeblock.Bitterness)); flavors.Add(new PokeblockFlavor(PokeblockColors.Yellow, e.Pokeblock.Sourness)); flavors.Sort((flavor1, flavor2) => (int)flavor2.Amount - (int)flavor1.Amount); List<Image> tasteImages = new List<Image>(); foreach (PokeblockFlavor flavor in flavors) { if (flavor.Amount > 0) { Image tasteImage = new Image(); tasteImage.Source = ItemDatabase.GetPokeblockImageFromColor(flavor.Flavor, false); tasteImage.Margin = new Thickness(4, 0, 0, 0); tasteImage.Stretch = Stretch.None; tasteImage.SnapsToDevicePixels = true; tasteImage.UseLayoutRounding = true; tasteImage.VerticalAlignment = VerticalAlignment.Center; tasteImages.Add(tasteImage); } } /*if (e.Pokeblock.Spicyness > 0) { Image tasteImage = new Image(); tasteImage.Source = ItemDatabase.GetPokeblockImageFromColor(PokeblockColors.Red, false); tasteImages.Add(tasteImage); } if (e.Pokeblock.Dryness > 0) { Image tasteImage = new Image(); tasteImage.Source = ItemDatabase.GetPokeblockImageFromColor(PokeblockColors.Blue, false); tasteImages.Add(tasteImage); } if (e.Pokeblock.Sweetness > 0) { Image tasteImage = new Image(); tasteImage.Source = ItemDatabase.GetPokeblockImageFromColor(PokeblockColors.Pink, false); tasteImages.Add(tasteImage); } if (e.Pokeblock.Bitterness > 0) { Image tasteImage = new Image(); tasteImage.Source = ItemDatabase.GetPokeblockImageFromColor(PokeblockColors.Green, false); tasteImages.Add(tasteImage); } if (e.Pokeblock.Sourness > 0) { Image tasteImage = new Image(); tasteImage.Source = ItemDatabase.GetPokeblockImageFromColor(PokeblockColors.Yellow, false); tasteImages.Add(tasteImage); } for (int i = 0; i < tasteImages.Count; i++) { tasteImages[i].Margin = new Thickness(4, 0, 0, 0); tasteImages[i].Stretch = Stretch.None; tasteImages[i].SnapsToDevicePixels = true; tasteImages[i].UseLayoutRounding = true; tasteImages[i].VerticalAlignment = VerticalAlignment.Center; }*/ TextBlock blockLv = new TextBlock(); blockLv.VerticalAlignment = VerticalAlignment.Center; blockLv.HorizontalAlignment = HorizontalAlignment.Right; blockLv.TextAlignment = TextAlignment.Right; blockLv.Text = "Lv"; blockLv.Width = Double.NaN; blockLv.MinWidth = 10; TextBlock blockLevel = new TextBlock(); blockLevel.VerticalAlignment = VerticalAlignment.Center; blockLevel.HorizontalAlignment = HorizontalAlignment.Right; blockLevel.TextAlignment = TextAlignment.Right; blockLevel.Width = 30; blockLevel.Text = e.Pokeblock.Level.ToString(); listViewItem.Content = dockPanel; blockCase.ListViewItems.Insert(e.Index, listViewItem); dockPanel.Children.Add(image); dockPanel.Children.Add(blockName); for (int i = 0; i < tasteImages.Count; i++) { dockPanel.Children.Add(tasteImages[i]); } dockPanel.Children.Add(blockLevel); dockPanel.Children.Add(blockLv); listViewItem.ContextMenu = contextMenu; listViewItem.ContextMenuOpening += OnContextMenuOpening; DockPanel.SetDock(image, Dock.Left); DockPanel.SetDock(blockLevel, Dock.Right); listViewItem.Tag = e.Pokeblock; UpdateDetails(); }