예제 #1
0
        /// <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);
                }
            }
        }