/// <summary> /// SelectedIndexChanged event from the market ListView window. /// This event fires when the user changes the selected market. /// </summary> private void listViewMarketList_SelectedIndexChanged(object sender, EventArgs e) { if (listViewMarketList.SelectedItems.Count > 0) { treeViewProductList.Nodes.Clear(); toolStripStatusLabel.Text = ""; listViewProductTypeList.Items.Clear(); listViewMarketFeeds.Groups.Clear(); listViewMarketFeeds.Items.Clear(); // Cleanup and dispose all feeds. foreach (FeedListViewItem item in m_feedList) { item.Dispose(); } m_feedList.Clear(); MarketListViewItem marketItem = listViewMarketList.SelectedItems[0] as MarketListViewItem; IEnumerable <ProductType> types = marketItem.SupportedProductTypes; foreach (ProductType type in types) { ListViewItem item = new ListViewItem(); item.Name = type.ToString(); item.Text = type.ToString(); item.StateImageIndex = item.ImageIndex = GetImageCode(type); item.Tag = type; listViewProductTypeList.Items.Add(item); } if (listViewProductTypeList.Items.Count > 0) { listViewProductTypeList.Items[0].Selected = true; listViewMarketList.Select(); } // Create the market subscription. createProductSubscription(marketItem.Market); var allFeeds = marketItem.Market.PriceFeeds.Values.AsEnumerable <Feed>() .Concat(marketItem.Market.OrderFeeds.Values) .Concat(marketItem.Market.FillFeeds.Values); foreach (Feed feed in allFeeds) { FeedListViewItem feedItem = new FeedListViewItem(listViewMarketFeeds); feedItem.Feed = feed; m_feedList.Add(feedItem); } } }
/// <summary> /// SelectedIndexChanged event from the market ListView window. /// This event fires when the user changes the selected market. /// </summary> private void listViewMarketList_SelectedIndexChanged(object sender, EventArgs e) { if (listViewMarketList.SelectedItems.Count > 0) { treeViewProductList.Nodes.Clear(); toolStripStatusLabel.Text = ""; listViewProductTypeList.Items.Clear(); listViewMarketFeeds.Groups.Clear(); listViewMarketFeeds.Items.Clear(); // Cleanup and dispose all feeds. foreach (FeedListViewItem item in m_feedList) { item.Dispose(); } m_feedList.Clear(); MarketListViewItem marketItem = listViewMarketList.SelectedItems[0] as MarketListViewItem; IEnumerable<ProductType> types = marketItem.SupportedProductTypes; foreach (ProductType type in types) { ListViewItem item = new ListViewItem(); item.Name = type.ToString(); item.Text = type.ToString(); item.StateImageIndex = item.ImageIndex = GetImageCode(type); item.Tag = type; listViewProductTypeList.Items.Add(item); } if (listViewProductTypeList.Items.Count > 0) { listViewProductTypeList.Items[0].Selected = true; listViewMarketList.Select(); } // Create the market subscription. createProductSubscription(marketItem.Market); var allFeeds = marketItem.Market.PriceFeeds.Values.AsEnumerable<Feed>() .Concat(marketItem.Market.OrderFeeds.Values) .Concat(marketItem.Market.FillFeeds.Values); foreach (Feed feed in allFeeds) { FeedListViewItem feedItem = new FeedListViewItem(listViewMarketFeeds); feedItem.Feed = feed; m_feedList.Add(feedItem); } } }