private void toolStripButtonHome_Click(object sender, EventArgs e)
 {
     //tabPageMarkets.Select();
     tabControl1.SelectedTab = tabPageMarkets;
     currentlyViewing        = MarketSelectViewType.EXCHANGES;
     UpdateDisplay();
 }
        private void marketListView_ItemActivate(object sender, EventArgs e)
        {
            this.Cursor = Cursors.WaitCursor;

            try
            {
                ListViewItem selectedItem = marketListView.SelectedItems[0];

                switch (currentlyViewing)
                {
                case MarketSelectViewType.EXCHANGES:
                    selectedExchange = exchanges[selectedItem.Name];
                    contracts        = api.GetContractDictionary(selectedExchange);
                    currentlyViewing = MarketSelectViewType.CONTRACTS;
                    UpdateDisplay();
                    break;

                case MarketSelectViewType.CONTRACTS:
                    selectedContract = contracts[selectedItem.Name];
                    markets          = api.GetMarketDictionary(selectedContract);
                    currentlyViewing = MarketSelectViewType.MARKETS;
                    UpdateDisplay();
                    break;

                case MarketSelectViewType.MARKETS:
                    selectedMarket = markets[selectedItem.Name];

                    // Add to recents.
                    var item = new ListViewItem(selectedMarket.Description);
                    item.Name     = selectedMarket.Description;
                    item.ImageKey = "market";
                    recentListView.Items.Add(item);

                    DialogResult = DialogResult.OK;
                    this.Close();
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("EXCEPTION: " + ex.Message);
            }
            finally
            {
                this.Cursor = Cursors.Default;
            }
        }
        private void toolStripButtonBack_Click(object sender, EventArgs e)
        {
            switch (currentlyViewing)
            {
            case MarketSelectViewType.EXCHANGES:
                break;

            case MarketSelectViewType.CONTRACTS:
                currentlyViewing = MarketSelectViewType.EXCHANGES;
                UpdateDisplay();
                break;

            case MarketSelectViewType.MARKETS:
                currentlyViewing = MarketSelectViewType.CONTRACTS;
                UpdateDisplay();
                break;
            }
        }
        public APIMarketSelectForm()
        {
            try
            {
                InitializeComponent();

                api = APIMain.Instance;

                exchanges = api.GetExchangeDictionary();

                selectedExchange = null;
                selectedContract = null;
                selectedMarket   = null;
                DialogResult     = DialogResult.Abort;

                // Start off in List view.
                toolStripMenuItem4.Checked = true;
                previouslySelectedMenuItem = toolStripMenuItem4;
                marketListView.View        = View.List;

                // Load Favorites from Xml file.
                favoritesList = api.LoadXmlMarketList(APIMain.GetAPIDirectory("XML") + "MarketListFavorites.xml");
                // Store these Favorites for easy use and access.
                favoritesMarkets = new Dictionary <string, Market>();
                foreach (Market market in favoritesList)
                {
                    favoritesMarkets[market.Description] = market;
                }
                // And display the favorites on the FavoritesListView.
                PopulateListView(favoritesListView, favoritesList);

                currentlyViewing = MarketSelectViewType.EXCHANGES;
                UpdateDisplay();
            }
            catch (Exception ex)
            {
                ExceptionHandler.TraceException(ex);
            }
        }