public void ShowAllObjects(Treemap.IMetricValue itemCopyToSelect, bool focus) { // TODO: Fix history zooming UX focus = false; Treemap.IMetricValue itemToSelect = null; m_TreeMap.ClearMetric(); if (m_CurrentCodeType == CodeType.Unknown || m_CurrentCodeType == CodeType.Managed) { foreach (var managedObject in m_UIState.snapshotMode.snapshot.CrawledData.ManagedObjects) { if (managedObject.Size > 0) { var o = new Treemap.ManagedObjectMetric(m_UIState.snapshotMode.snapshot, managedObject); if (o.IsSame(itemCopyToSelect)) { itemToSelect = o; } m_TreeMap.AddMetric(o); } } } if (m_CurrentCodeType == CodeType.Unknown || m_CurrentCodeType == CodeType.Native) { for (int i = 0; i != m_UIState.snapshotMode.snapshot.nativeObjects.Count; ++i) { if (m_UIState.snapshotMode.snapshot.nativeObjects.size[i] > 0) { var o = new Treemap.NativeObjectMetric(m_UIState.snapshotMode.snapshot, i); if (o.IsSame(itemCopyToSelect)) { itemToSelect = o; } m_TreeMap.AddMetric(o); } } } m_TreeMap.UpdateMetric(); if (itemToSelect != null) { OpenMetricData(itemToSelect, focus); } else { try { using (new Service <IDebugContextService> .ScopeService(new DebugContextService())) { var lr = new Database.LinkRequestTable(); lr.LinkToOpen = new Database.TableLink(); lr.LinkToOpen.TableName = ObjectAllTable.TableName; lr.SourceTable = null; lr.SourceColumn = null; lr.SourceRow = -1; OpenLinkRequest(lr, false, null, false); } } catch (ExitGUIException) { throw; } catch (Exception e) { throw new Exception(DebugUtility.GetExceptionHelpMessage(e)); } } }
public void ShowAllObjects(Treemap.ObjectMetric itemCopyToSelect, bool focus) { // TODO: Fix history zooming UX focus = false; Treemap.ObjectMetric itemToSelect = default(Treemap.ObjectMetric); m_TreeMap.ClearMetric(); if (m_CurrentCodeType == CodeType.Unknown || m_CurrentCodeType == CodeType.Managed) { var managedObjects = m_UIState.snapshotMode.snapshot.CrawledData.ManagedObjects; for (int i = 0; i < managedObjects.Count; ++i) { var managedObject = managedObjects[i]; if (managedObject.Size > 0) { var o = new Treemap.ObjectMetric(managedObject.ManagedObjectIndex, m_UIState.snapshotMode.snapshot, Treemap.ObjectMetricType.Managed); if (o.Equals(itemCopyToSelect)) { itemToSelect = o; } m_TreeMap.AddMetric(o); } } } if (m_CurrentCodeType == CodeType.Unknown || m_CurrentCodeType == CodeType.Native) { for (int i = 0; i != m_UIState.snapshotMode.snapshot.nativeObjects.Count; ++i) { if (m_UIState.snapshotMode.snapshot.nativeObjects.size[i] > 0) { var o = new Treemap.ObjectMetric(i, m_UIState.snapshotMode.snapshot, Treemap.ObjectMetricType.Native); if (o.Equals(itemCopyToSelect)) { itemToSelect = o; } m_TreeMap.AddMetric(o); } } } m_TreeMap.UpdateMetric(); if (!itemToSelect.Equals(default(Treemap.ObjectMetric))) { OpenMetricData(itemToSelect, focus); } else { try { var lr = new Database.LinkRequestTable(); lr.LinkToOpen = new Database.TableLink(); lr.LinkToOpen.TableName = ObjectAllTable.TableName; lr.SourceTable = null; lr.SourceColumn = null; lr.SourceRow = -1; OpenLinkRequest(lr, false, null, false); } catch (Exception) { throw; } } }