public void UpdateStatusStrip(TileKey selectedKey) { string statusString = ""; if (FPGA.FPGA.Instance.Contains(selectedKey)) { Tile selectedTile = FPGA.FPGA.Instance.GetTile(selectedKey); statusString = selectedTile.Location + " " + selectedKey.ToString(); if (selectedTile.Slices.Count > 0) { statusString += " ("; // only display up to to slice int displayedSlices = Math.Min(2, selectedTile.Slices.Count); for (int i = 0; i < displayedSlices; i++) { statusString += selectedTile.Slices[i].ToString(); if (i != selectedTile.Slices.Count - 1) { statusString += ","; } } // add dots for tiles with more than two slices if (selectedTile.Slices.Count > 2) { statusString += "..."; } statusString += ") "; } // 2 element buffer m_lastClickedTile = m_currentlyClickedTile; m_currentlyClickedTile = selectedTile; } // print selection info if (StoredPreferences.Instance.PrintSelectionResourceInfo) { statusString += "Selection contains "; statusString += TileSelectionManager.Instance.NumberOfSelectedTiles + " tiles, "; int clbs = 0; int brams = 0; int dsps = 0; TileSelectionManager.Instance.GetRessourcesInSelection(TileSelectionManager.Instance.GetSelectedTiles(), out clbs, out brams, out dsps); int others = TileSelectionManager.Instance.NumberOfSelectedTiles - (clbs + brams + dsps); statusString += clbs + " CLBs, "; statusString += brams + " BRAMs, and "; statusString += dsps + " DPS tiles, and "; statusString += others + " other tiles"; } m_statusStripLabelSelectedTile.Text = statusString; }
private void ShowToolTipAfterTimerFired(object sender, EventArgs e) { if (StoredPreferences.Instance.ShowToolTips) { Point p = (Point)m_timer.Tag; // only show a new tool tip, if the position changes if (m_lastToolTipLocation.Equals(p)) { return; } m_lastToolTipLocation = p; TileKey key = GetClickedKey(p.X, p.Y); if (FPGA.FPGA.Instance.Contains(key)) { Tile where = FPGA.FPGA.Instance.GetTile(key); string toolTip = key.ToString() + " " + where.Location; Objects.LibElemInst inst = LibraryElementInstanceManager.Instance.GetInstantiation(where); if (inst != null) { toolTip += Environment.NewLine + inst.ToString(); foreach (Tuple <string, string, PortMapper.MappingKind> tuple in inst.PortMapper.GetMappings().OrderBy(t => t.Item1)) { toolTip += Environment.NewLine + tuple.Item1 + " => " + tuple.Item2 + " (" + tuple.Item3 + ")"; } } if (Blackboard.Instance.HasToolTipInfo(where)) { toolTip += Environment.NewLine + Blackboard.Instance.GetToolTipInfo(where); } m_toolTip.Show(toolTip, this, p.X, p.Y + 20, 10000); } } }