public MarketBrowserTab() { InitializeComponent(); Dock = DockStyle.Fill; SetupTree(); // Add callback for lazy loading. marketTree.BeforeExpand += MarketTree_BeforeExpand; marketTree.AfterSelect += MarketTree_AfterSelect; SetupColumns(); // Populate region combo. List <int> regionIDs = Universe.GetRegions(); List <RegionItem> rItems = new List <RegionItem>(); regionSelect.Items.Clear(); rItems.Add(new RegionItem("All (Loaded)", -1)); rItems.Add(new RegionItem("None", 0)); foreach (int regionID in regionIDs) { Universe.Region region = Universe.GetRegion(regionID); if (region.region_id < 11000000) { rItems.Add(new RegionItem(region.name, region.region_id)); } } rItems.Sort(); regionSelect.Items.AddRange(rItems.ToArray()); // Watch for updates... Market.RegionUpdate += Market_RegionUpdate; // Auto update region status label. labelTimer.Elapsed += LabelTimer_Elapsed; }
private void ShowUpdatingRegions() { if (InvokeRequired) { // Insure this is called in a GUI friendly thread. Invoke((MethodInvoker) delegate { ShowUpdatingRegions(); }); return; } if (updatingRegions.Count > 0) { string regions = ""; string delim = ""; int num = 0; foreach (int regionID in updatingRegions) { // Show at most 6 entries. num++; if (num > 6) { regions += ", ..."; break; } Universe.Region region = Universe.GetRegion(regionID); if (region != null) { regions += delim + region.name; MarketRegionPage regionPage = Market.GetRegionPage(regionID, false); if (regionPage != null) { TimeSpan wait = regionPage.expire.Subtract(DateTime.Now); if (wait.TotalMilliseconds < 1) { wait = new TimeSpan(1); } regions += "(" + wait.TotalSeconds.ToString("N1") + ")"; } delim = ", "; } } regionUpdateStatus.Text = "Updating region(s): " + regions; } else { regionUpdateStatus.Text = ""; } }
bool IEveRepository.TryGetRegionById(Universe.RegionId id, out Universe.Region value) { throw new NotImplementedException(); }