static void RegenerateRows( UpdateReportListView listView, IList reportLines, TreeViewItem rootItem, List <TreeViewItem> rows) { ClearRows(rootItem, rows); if (reportLines.Count == 0) { return; } for (int i = 0; i < reportLines.Count; i++) { UpdateReportLineListViewItem errorListViewItem = new UpdateReportLineListViewItem(i + 1, (ReportLine)reportLines[i]); rootItem.AddChild(errorListViewItem); rows.Add(errorListViewItem); } listView.SetSelection(new List <int> { 1 }); }
static void DoErrorsListViewArea( UpdateReportListView errorsListView) { Rect treeRect = GUILayoutUtility.GetRect(0, 100000, 0, 100000); errorsListView.OnGUI(treeRect); }
void DoListArea( UpdateReportListView errorsListView, object splitterState) { EditorGUILayout.BeginVertical(); SplitterGUILayout.BeginHorizontalSplit(splitterState); DoErrorsListViewArea(errorsListView); DoErrorDetailsTextArea(errorsListView.GetSelectedError()); SplitterGUILayout.EndHorizontalSplit(); EditorGUILayout.EndVertical(); }
static List <ReportLine> GetSelectedErrors( UpdateReportListView listView) { List <ReportLine> result = new List <ReportLine>(); IList <int> selectedIds = listView.GetSelection(); if (selectedIds.Count == 0) { return(result); } foreach (UpdateReportLineListViewItem treeViewItem in listView.FindRows(selectedIds)) { result.Add(treeViewItem.ReportLine); } return(result); }
void BuildComponenets(WorkspaceInfo wkInfo) { mErrorDetailsSplitterState = SplitterGUILayout.InitSplitterState( new float[] { 0.50f, 0.50f }, new int[] { 100, 100 }, new int[] { 100000, 100000 } ); UpdateReportListHeaderState errorsListHeaderState = UpdateReportListHeaderState.Default; TreeHeaderSettings.Load(errorsListHeaderState, UnityConstants.DEVELOPER_UPDATE_REPORT_TABLE_SETTINGS_NAME, UnityConstants.UNSORT_COLUMN_ID); mPathsListView = new UpdateReportListView( wkInfo, errorsListHeaderState, OnCheckedReportLineChanged); mPathsListView.Reload(); }