public virtual string GetObjectName(long row) { var obj = GetObjectData(row); switch (obj.dataType) { case ObjectDataType.Array: case ObjectDataType.ReferenceArray: case ObjectDataType.BoxedValue: case ObjectDataType.Value: return(string.Empty); case ObjectDataType.Object: case ObjectDataType.ReferenceObject: ManagedObjectInfo moi = GetMoiFromObjectData(obj); if (moi.IsValid() && moi.NativeObjectIndex >= 0) { return(Snapshot.nativeObjects.objectName[moi.NativeObjectIndex]); } return(string.Empty); case ObjectDataType.NativeObject: case ObjectDataType.NativeObjectReference: return(Snapshot.nativeObjects.objectName[obj.nativeObjectIndex]); case ObjectDataType.Global: case ObjectDataType.Type: case ObjectDataType.Unknown: default: return(Formatter.Format(obj, DefaultDataFormatter.Instance)); } }
public override long GetRowValue(long row) { var obj = m_Table.GetObjectData(row).displayObject; ManagedObjectInfo moi = GetInfo(obj); if (moi.IsValid() && moi.NativeObjectIndex >= 0) { return((long)m_Table.Snapshot.nativeObjects.size[moi.NativeObjectIndex]); } return(-1); }
public override string GetRowValue(long row) { var obj = m_Table.GetObjectData(row).displayObject; switch (obj.dataType) { case ObjectDataType.NativeObject: case ObjectDataType.NativeObjectReference: return(m_Table.Snapshot.nativeObjects.objectName[obj.nativeObjectIndex]); } ManagedObjectInfo moi = GetInfo(obj); if (moi.IsValid() && moi.NativeObjectIndex >= 0) { return(m_Table.Snapshot.nativeObjects.objectName[moi.NativeObjectIndex]); } return(""); }
public override int GetRowValue(long row) { var obj = m_Table.GetObjectData(row).displayObject; switch (obj.dataType) { case ObjectDataType.NativeObject: case ObjectDataType.NativeObjectReference: return(m_Table.Snapshot.nativeObjects.instanceId[obj.nativeObjectIndex]); case ObjectDataType.Object: case ObjectDataType.ReferenceObject: ManagedObjectInfo moi = GetInfo(obj); if (moi.IsValid() && moi.NativeObjectIndex >= 0) { return(m_Table.Snapshot.nativeObjects.instanceId[moi.NativeObjectIndex]); } break; } return(CachedSnapshot.NativeObjectEntriesCache.InstanceID_None); }
public override Database.LinkRequest GetRowLink(long row) { var obj = m_Table.GetObjectData(row).displayObject; if (obj.isManaged) { ManagedObjectInfo moi = GetInfo(obj); if (moi.IsValid() && moi.NativeObjectIndex >= 0) { var instanceId = m_Table.Snapshot.nativeObjects.instanceId[moi.NativeObjectIndex]; if (instanceId == CachedSnapshot.NativeObjectEntriesCache.InstanceID_None) { return(null); } return(MakeLink(ObjectAllNativeTable.TableName, instanceId, row)); } } // we are linking native objects to themselves currently as that allows us // to jump from a native object to the native object's table. (eg: MemoryMap / TreeMap spreadsheets to tables) // TODO: Improve column link API so it supports all 3 cases ( native - native , managed - native, native - managed) else if (obj.isNative) { int index = obj.GetNativeObjectIndex(m_Table.Snapshot); if (index < 0) { return(null); } var instanceId = m_Table.Snapshot.nativeObjects.instanceId[index]; if (instanceId == CachedSnapshot.NativeObjectEntriesCache.InstanceID_None) { return(null); } return(MakeLink(ObjectAllNativeTable.TableName, instanceId, row)); } return(null); }