void OpenTable(Database.TableReference tableRef, Database.Table table, Database.CellPosition pos, bool focus) { m_Spreadsheet = new UI.DatabaseSpreadsheet(m_UIState.FormattingOptions, table, this); m_Spreadsheet.onClickLink += OnSpreadsheetClick; m_Spreadsheet.Goto(pos); m_EventListener.OnRepaint(); }
public bool OpenLinkRequest(Database.LinkRequestTable link, Database.TableReference tableLink, Database.Table table) { using (ScopeDebugContext.String("OpenLinkRequest")) { if (link.LinkToOpen.RowWhere != null && link.LinkToOpen.RowWhere.Count > 0) { Database.Table filteredTable = table; if (table.GetMetaData().defaultFilter != null) { filteredTable = table.GetMetaData().defaultFilter.CreateFilter(table); } var whereUnion = new Database.View.WhereUnion(link.LinkToOpen.RowWhere, null, null, null, null, m_UIState.CurrentMode.GetSchema(), filteredTable, link.SourceView == null ? null : link.SourceView.ExpressionParsingContext); long rowToSelect = whereUnion.GetIndexFirstMatch(link.SourceRow); if (rowToSelect < 0) { DebugUtility.LogWarning("Could not find entry in target table '" + link.LinkToOpen.TableName + "'"); return(false); } DebugUtility.DebugLog("Opening table '" + link.LinkToOpen.TableName + "' at row " + rowToSelect); OpenTable(tableLink, table, new Database.CellPosition(rowToSelect, 0)); } else { OpenTable(tableLink, table, new Database.CellPosition(0, 0)); } return(true); } }
void OpenLinkRequest(Database.LinkRequestTable link, bool focus) { //TODO this code is the same as the one inSpreadsheetPane, should be put together UIElementsHelper.SetVisibility(VisualElements[2], m_ActiveMode.snapshot.nativeAllocationSites.Count > 0 && m_CurrentTableView == TableDisplayMode.Allocations); var tableRef = new Database.TableReference(link.LinkToOpen.TableName, link.Parameters); var table = m_ActiveMode.SchemaToDisplay.GetTableByReference(tableRef); if (table == null) { UnityEngine.Debug.LogError("No table named '" + link.LinkToOpen.TableName + "' found."); return; } if (link.LinkToOpen.RowWhere != null && link.LinkToOpen.RowWhere.Count > 0) { Database.Table filteredTable = table; if (table.GetMetaData().defaultFilter != null) { filteredTable = table.GetMetaData().defaultFilter.CreateFilter(table); } Database.Operation.ExpressionParsingContext expressionParsingContext = null; if (link.SourceView != null) { expressionParsingContext = link.SourceView.ExpressionParsingContext; } var whereUnion = new Database.View.WhereUnion(link.LinkToOpen.RowWhere, null, null, null, null, m_ActiveMode.SchemaToDisplay, filteredTable, expressionParsingContext); var indices = whereUnion.GetMatchingIndices(link.SourceRow); var newTab = new Database.Operation.IndexedTable(table, new ArrayRange(indices)); OpenTable(tableRef, newTab, focus); } else { OpenTable(tableRef, table, new Database.CellPosition(0, 0), focus); } }
public void OpenTable(Database.TableReference tableRef, Database.Table table) { CloseCurrentTable(); m_CurrentTableLink = tableRef; CurrentTableIndex = m_UIState.CurrentMode.GetTableIndex(table); m_Spreadsheet = new UI.DatabaseSpreadsheet(m_UIState.FormattingOptions, table, this); m_Spreadsheet.onClickLink += OnSpreadsheetClick; m_EventListener.OnRepaint(); }
public void OpenTable(Database.TableReference tableRef, Database.Table table, Database.CellPosition pos) { CloseCurrentTable(); m_CurrentTableLink = tableRef; CurrentTableIndex = m_UIState.CurrentMode.GetTableIndex(table); m_Spreadsheet = new UI.DatabaseSpreadsheet(m_UIState.DataRenderer, table, this); m_Spreadsheet.onClickLink += OnSpreadsheetClick; m_Spreadsheet.Goto(pos); m_EventListener.OnRepaint(); }
public void OpenTable(Database.TableReference tableRef, Database.Table table) { Profiling.StartProfiling("Profile_OpenTable_" + table.GetName()); CloseCurrentTable(); m_CurrentTableLink = tableRef; CurrentTableIndex = m_UIState.CurrentMode.GetTableIndex(table); m_Spreadsheet = new UI.DatabaseSpreadsheet(m_UIState.DataRenderer, table, this); m_Spreadsheet.onClickLink += OnSpreadsheetClick; m_EventListener.OnRepaint(); }
void OpenLinkRequest(Database.LinkRequestTable link, bool focus, string tableTypeFilter = null, bool select = true) { List <Where.Builder> tableFilterWhere = null; m_CurrentTableTypeFilter = tableTypeFilter; if (tableTypeFilter != null) { tableFilterWhere = new List <Where.Builder>(); tableFilterWhere.Add(new Where.Builder("Type", Database.Operation.Operator.Equal, new Database.Operation.Expression.MetaExpression(tableTypeFilter, true))); } //TODO this code is the same as the one inSpreadsheetPane, should be put together using (ScopeDebugContext.String("OpenLinkRequest")) { var tableRef = new Database.TableReference(link.LinkToOpen.TableName, link.Parameters); var table = m_UIState.snapshotMode.SchemaToDisplay.GetTableByReference(tableRef); if (table == null) { UnityEngine.Debug.LogError("No table named '" + link.LinkToOpen.TableName + "' found."); return; } if (link.LinkToOpen.RowWhere != null && link.LinkToOpen.RowWhere.Count > 0) { if (table.GetMetaData().defaultFilter != null) { table = table.GetMetaData().defaultFilter.CreateFilter(table); } Database.Operation.ExpressionParsingContext expressionParsingContext = null; if (link.SourceView != null) { expressionParsingContext = link.SourceView.ExpressionParsingContext; } if (tableFilterWhere != null && tableFilterWhere.Count > 0) { table = FilterTable(table, link.SourceRow, tableFilterWhere); } var whereUnion = new WhereUnion(link.LinkToOpen.RowWhere, null, null, null, null, m_UIState.snapshotMode.SchemaToDisplay, table, expressionParsingContext); long rowToSelect = whereUnion.GetIndexFirstMatch(link.SourceRow); if (rowToSelect < 0) { UnityEngine.Debug.LogError("Could not find entry in target table '" + link.LinkToOpen.TableName + "'"); return; } OpenTable(tableRef, table, new Database.CellPosition(rowToSelect, 0), focus, select); } else if (tableFilterWhere != null && tableFilterWhere.Count > 0) { table = FilterTable(table, link.SourceRow, tableFilterWhere); OpenTable(tableRef, table, new Database.CellPosition(0, 0), focus, select); } else { OpenTable(tableRef, table, new Database.CellPosition(0, 0), focus, select); } } }
public void OpenLinkRequest(Database.LinkRequestTable link) { var tableRef = new Database.TableReference(link.LinkToOpen.TableName, link.Parameters); var table = m_UIState.CurrentMode.GetSchema().GetTableByReference(tableRef); if (table == null) { UnityEngine.Debug.LogError("No table named '" + link.LinkToOpen.TableName + "' found."); return; } OpenLinkRequest(link, tableRef, table); }
public void OpenTable(Database.TableReference tableRef, Database.Table table, bool focus, bool select) { if (select) { var objectUID = GetTableObjectUID(table, 0); if (objectUID >= 0) { SelectObjectByUID(objectUID, focus); } } //m_CurrentTableIndex = m_UIState.GetTableIndex(table); m_Spreadsheet = new UI.DatabaseSpreadsheet(m_UIState.FormattingOptions, table, this); m_Spreadsheet.onClickLink += OnSpreadsheetClick; m_EventListener.OnRepaint(); }
public void OpenTable(Database.TableReference tableRef, Database.Table table, Database.CellPosition pos, bool focus, bool select) { if (select) { var objectUID = GetTableObjectUID(table, pos.row); if (objectUID >= 0) { SelectObjectByUID(objectUID, focus); } } //m_CurrentTableIndex = m_UIState.GetTableIndex(table); m_Spreadsheet = new UI.DatabaseSpreadsheet(m_UIState.DataRenderer, table, this); m_Spreadsheet.onClickLink += OnSpreadsheetClick; m_Spreadsheet.Goto(pos); m_EventListener.OnRepaint(); }
void OpenTable(Database.TableReference tableRef, Database.Table table, bool focus) { m_Spreadsheet = new UI.DatabaseSpreadsheet(m_UIState.DataRenderer, table, this); m_Spreadsheet.onClickLink += OnSpreadsheetClick; m_EventListener.OnRepaint(); }
public History(SpreadsheetPane spreadsheetPane, UIState.BaseMode mode, Database.CellLink cell) { Mode = mode; m_Table = spreadsheetPane.m_CurrentTableLink; m_SpreadsheetState = spreadsheetPane.m_Spreadsheet.CurrentState; }