private void HighlightedDeckPanel_SizeChanged(object sender, EventArgs e) { bool sizeChanged = false; if (HighlightedDeckPanel.Width >= DeckControl.DeckScale.Medium.CardSize.Width + System.Windows.Forms.SystemInformation.VerticalScrollBarWidth) { if (DeckControl.DeckScale.Medium.CardSize.Width != HighlightedDeckControl.CustomDeckScale.CardSize.Width) { HighlightedDeckControl.CustomDeckScale = DeckControl.DeckScale.Medium; sizeChanged = true; } } else { if (DeckControl.DeckScale.Small.CardSize.Width != HighlightedDeckControl.CustomDeckScale.CardSize.Width) { HighlightedDeckControl.CustomDeckScale = DeckControl.DeckScale.Small; sizeChanged = true; } } if (sizeChanged) { // Fix the size Size bestDeckSize = HighlightedDeckControl.GetBestSize(); HighlightedDeckControl.SetBounds(0, 0, bestDeckSize.Width, bestDeckSize.Height, BoundsSpecified.Size); HighlightedDeckControl.Invalidate(); HighlightedDeckStatsDisplay.Invalidate(); int deckStatsHeight = HighlightedDeckStatsDisplay.GetBestHeight(bestDeckSize.Width); HighlightedDeckStatsDisplay.SetBounds(HighlightedDeckControl.Left, HighlightedDeckControl.Top + bestDeckSize.Height, bestDeckSize.Width, deckStatsHeight, BoundsSpecified.All); } }
private void DecksListCtrl_SelectionChanged(object sender, EventArgs e) { GameRecord gr = DecksListCtrl.SelectedItem; if (gr == null) { HighlightedGameLogControl.Clear(); HighlightedDeckControl.ClearDeck(); HighlightedDeckPanel.Visible = false; return; } // Highlight the deck string deckName = null; if (!gr.IsExpedition() && gr.MyDeckName != GameRecord.DefaultConstructedDeckName) { deckName = gr.MyDeckName; } HighlightedGameLogControl.LoadGames(gr.GetDeckSignature(), deckName, Properties.Settings.Default.HideAIGames); HighlightedDeckControl.SetDeck(gr.MyDeck); HighlightedDeckControl.Title = gr.ToString(); HighlightedDeckStatsDisplay.TheDeck = gr.MyDeck; // Fix the size Size bestDeckSize = HighlightedDeckControl.GetBestSize(); HighlightedDeckControl.SetBounds(0, 0, bestDeckSize.Width, bestDeckSize.Height, BoundsSpecified.Size); int deckStatsHeight = HighlightedDeckStatsDisplay.GetBestHeight(bestDeckSize.Width); HighlightedDeckStatsDisplay.SetBounds(HighlightedDeckControl.Left, HighlightedDeckControl.Top + bestDeckSize.Height, bestDeckSize.Width, deckStatsHeight, BoundsSpecified.All); HighlightedGameLogControl.Invalidate(); HighlightedDeckControl.Invalidate(); HighlightedDeckStatsDisplay.Invalidate(); HighlightedDeckPanel.Visible = true; }