public void DoDeletedItemsGUI(ASHistoryWindow parentWin, Rect theRect, GUIStyle s, float offset, float endOffset, bool focused) { Event current = Event.current; Texture2D textured = EditorGUIUtility.FindTexture(EditorResourcesUtility.folderIconName); offset += 3f; Rect position = new Rect(this.m_Indent, offset, theRect.width - this.m_Indent, m_RowHeight); if ((current.type == EventType.MouseDown) && position.Contains(current.mousePosition)) { GUIUtility.keyboardControl = this.m_FileViewControlID; this.SelType = SelectionType.DeletedItemsRoot; this.ScrollToDeletedItem(-1); parentWin.DoLocalSelectionChange(); } position.width -= position.x; position.x = 0f; GUIContent content = new GUIContent("Deleted Assets") { image = textured }; int baseIndent = (int)this.m_BaseIndent; s.padding.left = baseIndent; if (current.type == EventType.Repaint) { s.Draw(position, content, false, false, this.SelType == SelectionType.DeletedItemsRoot, focused); } Rect rect2 = new Rect(this.m_BaseIndent - this.m_FoldoutSize, offset, this.m_FoldoutSize, m_RowHeight); if (!this.m_DeletedItemsInitialized || (this.m_DelPVstate.lv.totalRows != 0)) { this.DeletedItemsToggle = GUI.Toggle(rect2, this.DeletedItemsToggle, GUIContent.none, ms_Styles.foldout); } offset += m_RowHeight; if (this.DeletedItemsToggle) { int row = this.m_DelPVstate.lv.row; int index = 0; int num4 = -1; int file = -1; int num6 = 0; while ((offset <= endOffset) && (num6 < this.m_DelPVstate.lv.totalRows)) { if ((offset + m_RowHeight) >= 0f) { if (num4 == -1) { this.m_DelPVstate.IndexToFolderAndFile(num6, ref num4, ref file); } position = new Rect(0f, offset, (float)Screen.width, m_RowHeight); ParentViewFolder folder = this.m_DelPVstate.folders[num4]; if ((current.type == EventType.MouseDown) && position.Contains(current.mousePosition)) { if (!(((current.button == 1) && (this.SelType == SelectionType.DeletedItems)) && this.m_DelPVstate.selectedItems[index])) { GUIUtility.keyboardControl = this.m_FileViewControlID; this.SelType = SelectionType.DeletedItems; this.m_DelPVstate.lv.row = index; ListViewShared.MultiSelection(null, row, this.m_DelPVstate.lv.row, ref this.m_DelPVstate.initialSelectedItem, ref this.m_DelPVstate.selectedItems); this.ScrollToDeletedItem(index); parentWin.DoLocalSelectionChange(); } if ((current.button == 1) && (this.SelType == SelectionType.DeletedItems)) { GUIUtility.hotControl = 0; Rect rect3 = new Rect(current.mousePosition.x, current.mousePosition.y, 1f, 1f); EditorUtility.DisplayCustomMenu(rect3, this.dropDownMenuItems, -1, new EditorUtility.SelectMenuItemFunction(this.ContextMenuClick), null); } Event.current.Use(); } if (file != -1) { content.text = folder.files[file].name; content.image = InternalEditorUtility.GetIconForFile(folder.files[file].name); baseIndent = (int)(this.m_BaseIndent + (this.m_Indent * 2f)); } else { content.text = folder.name; content.image = textured; baseIndent = (int)(this.m_BaseIndent + this.m_Indent); } s.padding.left = baseIndent; if (Event.current.type == EventType.Repaint) { s.Draw(position, content, false, false, this.m_DelPVstate.selectedItems[index], focused); } this.m_DelPVstate.NextFileFolder(ref num4, ref file); index++; } num6++; offset += m_RowHeight; } } }
static public bool MultiSelection(int prevSelected, int currSelected, ref int initialSelected, ref bool[] selectedItems) { return(ListViewShared.MultiSelection(lvState.ilvState, prevSelected, currSelected, ref initialSelected, ref selectedItems)); }
public static bool MultiSelection(int prevSelected, int currSelected, ref int initialSelected, ref bool[] selectedItems) { return(ListViewShared.MultiSelection((ListViewShared.InternalListViewState)ListViewGUILayout.lvState.ilvState, prevSelected, currSelected, ref initialSelected, ref selectedItems)); }
private void DeletedItemsKeyboard(ASHistoryWindow parentWin) { int row = this.m_DelPVstate.lv.row; int currSelected = row; if (this.DeletedItemsToggle) { switch (Event.current.keyCode) { case KeyCode.UpArrow: if (currSelected <= 0) { this.SelType = SelectionType.DeletedItemsRoot; this.ScrollToDeletedItem(-1); parentWin.DoLocalSelectionChange(); } else { currSelected--; } goto Label_01AE; case KeyCode.DownArrow: if (currSelected < (this.m_DelPVstate.lv.totalRows - 1)) { currSelected++; } goto Label_01AE; case KeyCode.Home: currSelected = 0; goto Label_01AE; case KeyCode.End: currSelected = this.m_DelPVstate.lv.totalRows - 1; goto Label_01AE; case KeyCode.PageUp: if (!OSX) { currSelected -= (int)(this.m_ScreenRect.height / m_RowHeight); if (currSelected < 0) { currSelected = 0; } } else { this.m_ScrollPosition.y -= this.m_ScreenRect.height; if (this.m_ScrollPosition.y < 0f) { this.m_ScrollPosition.y = 0f; } } goto Label_01AE; case KeyCode.PageDown: if (!OSX) { currSelected += (int)(this.m_ScreenRect.height / m_RowHeight); if (currSelected > (this.m_DelPVstate.lv.totalRows - 1)) { currSelected = this.m_DelPVstate.lv.totalRows - 1; } } else { this.m_ScrollPosition.y += this.m_ScreenRect.height; } goto Label_01AE; } } return; Label_01AE: Event.current.Use(); if (currSelected != row) { this.m_DelPVstate.lv.row = currSelected; ListViewShared.MultiSelection(null, row, currSelected, ref this.m_DelPVstate.initialSelectedItem, ref this.m_DelPVstate.selectedItems); this.ScrollToDeletedItem(currSelected); parentWin.DoLocalSelectionChange(); } }
public void DoDeletedItemsGUI(ASHistoryWindow parentWin, Rect theRect, GUIStyle s, float offset, float endOffset, bool focused) { Event current = Event.current; Texture2D texture = EditorGUIUtility.FindTexture(EditorResourcesUtility.folderIconName); offset += 3f; Rect position1 = new Rect(this.m_Indent, offset, theRect.width - this.m_Indent, ASHistoryFileView.m_RowHeight); if (current.type == EventType.MouseDown && position1.Contains(current.mousePosition)) { GUIUtility.keyboardControl = this.m_FileViewControlID; this.SelType = ASHistoryFileView.SelectionType.DeletedItemsRoot; this.ScrollToDeletedItem(-1); parentWin.DoLocalSelectionChange(); } position1.width -= position1.x; position1.x = 0.0f; GUIContent content = new GUIContent("Deleted Assets"); content.image = (Texture)texture; int baseIndent = (int)this.m_BaseIndent; s.padding.left = baseIndent; if (current.type == EventType.Repaint) { s.Draw(position1, content, false, false, this.SelType == ASHistoryFileView.SelectionType.DeletedItemsRoot, focused); } Rect position2 = new Rect(this.m_BaseIndent - this.m_FoldoutSize, offset, this.m_FoldoutSize, ASHistoryFileView.m_RowHeight); if (!this.m_DeletedItemsInitialized || this.m_DelPVstate.lv.totalRows != 0) { this.DeletedItemsToggle = GUI.Toggle(position2, this.DeletedItemsToggle, GUIContent.none, ASHistoryFileView.ms_Styles.foldout); } offset += ASHistoryFileView.m_RowHeight; if (!this.DeletedItemsToggle) { return; } int row = this.m_DelPVstate.lv.row; int index1 = 0; int folder1 = -1; int file = -1; int index2 = 0; while ((double)offset <= (double)endOffset && index2 < this.m_DelPVstate.lv.totalRows) { if ((double)offset + (double)ASHistoryFileView.m_RowHeight >= 0.0) { if (folder1 == -1) { this.m_DelPVstate.IndexToFolderAndFile(index2, ref folder1, ref file); } position1 = new Rect(0.0f, offset, (float)Screen.width, ASHistoryFileView.m_RowHeight); ParentViewFolder folder2 = this.m_DelPVstate.folders[folder1]; if (current.type == EventType.MouseDown && position1.Contains(current.mousePosition)) { if (current.button != 1 || this.SelType != ASHistoryFileView.SelectionType.DeletedItems || !this.m_DelPVstate.selectedItems[index1]) { GUIUtility.keyboardControl = this.m_FileViewControlID; this.SelType = ASHistoryFileView.SelectionType.DeletedItems; this.m_DelPVstate.lv.row = index1; ListViewShared.MultiSelection((ListViewShared.InternalListViewState)null, row, this.m_DelPVstate.lv.row, ref this.m_DelPVstate.initialSelectedItem, ref this.m_DelPVstate.selectedItems); this.ScrollToDeletedItem(index1); parentWin.DoLocalSelectionChange(); } if (current.button == 1 && this.SelType == ASHistoryFileView.SelectionType.DeletedItems) { GUIUtility.hotControl = 0; EditorUtility.DisplayCustomMenu(new Rect(current.mousePosition.x, current.mousePosition.y, 1f, 1f), this.dropDownMenuItems, -1, new EditorUtility.SelectMenuItemFunction(this.ContextMenuClick), (object)null); } Event.current.Use(); } int num; if (file != -1) { content.text = folder2.files[file].name; content.image = (Texture)InternalEditorUtility.GetIconForFile(folder2.files[file].name); num = (int)((double)this.m_BaseIndent + (double)this.m_Indent * 2.0); } else { content.text = folder2.name; content.image = (Texture)texture; num = (int)((double)this.m_BaseIndent + (double)this.m_Indent); } s.padding.left = num; if (Event.current.type == EventType.Repaint) { s.Draw(position1, content, false, false, this.m_DelPVstate.selectedItems[index1], focused); } this.m_DelPVstate.NextFileFolder(ref folder1, ref file); ++index1; } ++index2; offset += ASHistoryFileView.m_RowHeight; } }
private void DeletedItemsKeyboard(ASHistoryWindow parentWin) { int row = this.m_DelPVstate.lv.row; int num = row; if (!this.DeletedItemsToggle) { return; } switch (Event.current.keyCode) { case KeyCode.UpArrow: if (num > 0) { --num; break; } this.SelType = ASHistoryFileView.SelectionType.DeletedItemsRoot; this.ScrollToDeletedItem(-1); parentWin.DoLocalSelectionChange(); break; case KeyCode.DownArrow: if (num < this.m_DelPVstate.lv.totalRows - 1) { ++num; break; } break; case KeyCode.RightArrow: return; case KeyCode.LeftArrow: return; case KeyCode.Insert: return; case KeyCode.Home: num = 0; break; case KeyCode.End: num = this.m_DelPVstate.lv.totalRows - 1; break; case KeyCode.PageUp: if (ASHistoryFileView.OSX) { this.m_ScrollPosition.y -= this.m_ScreenRect.height; if ((double)this.m_ScrollPosition.y < 0.0) { this.m_ScrollPosition.y = 0.0f; break; } break; } num -= (int)((double)this.m_ScreenRect.height / (double)ASHistoryFileView.m_RowHeight); if (num < 0) { num = 0; break; } break; case KeyCode.PageDown: if (ASHistoryFileView.OSX) { this.m_ScrollPosition.y += this.m_ScreenRect.height; break; } num += (int)((double)this.m_ScreenRect.height / (double)ASHistoryFileView.m_RowHeight); if (num > this.m_DelPVstate.lv.totalRows - 1) { num = this.m_DelPVstate.lv.totalRows - 1; break; } break; default: return; } Event.current.Use(); if (num == row) { return; } this.m_DelPVstate.lv.row = num; ListViewShared.MultiSelection((ListViewShared.InternalListViewState)null, row, num, ref this.m_DelPVstate.initialSelectedItem, ref this.m_DelPVstate.selectedItems); this.ScrollToDeletedItem(num); parentWin.DoLocalSelectionChange(); }
public static bool MultiSelection(int prevSelected, int currSelected, ref int initialSelected, ref bool[] selectedItems) => ListViewShared.MultiSelection(ilvState, prevSelected, currSelected, ref initialSelected, ref selectedItems);
public void DoDeletedItemsGUI(ASHistoryWindow parentWin, Rect theRect, GUIStyle s, float offset, float endOffset, bool focused) { Event current = Event.current; Texture2D image = EditorGUIUtility.FindTexture(EditorResourcesUtility.folderIconName); offset += 3f; Rect position = new Rect(this.m_Indent, offset, theRect.width - this.m_Indent, ASHistoryFileView.m_RowHeight); if (current.type == EventType.MouseDown && position.Contains(current.mousePosition)) { GUIUtility.keyboardControl = this.m_FileViewControlID; this.SelType = ASHistoryFileView.SelectionType.DeletedItemsRoot; this.ScrollToDeletedItem(-1); parentWin.DoLocalSelectionChange(); } position.width -= position.x; position.x = 0f; GUIContent gUIContent = new GUIContent("Deleted Assets"); gUIContent.image = image; int left = (int)this.m_BaseIndent; s.padding.left = left; if (current.type == EventType.Repaint) { s.Draw(position, gUIContent, false, false, this.SelType == ASHistoryFileView.SelectionType.DeletedItemsRoot, focused); } Rect position2 = new Rect(this.m_BaseIndent - this.m_FoldoutSize, offset, this.m_FoldoutSize, ASHistoryFileView.m_RowHeight); if (!this.m_DeletedItemsInitialized || this.m_DelPVstate.lv.totalRows != 0) { this.DeletedItemsToggle = GUI.Toggle(position2, this.DeletedItemsToggle, GUIContent.none, ASHistoryFileView.ms_Styles.foldout); } offset += ASHistoryFileView.m_RowHeight; if (this.DeletedItemsToggle) { int row = this.m_DelPVstate.lv.row; int num = 0; int num2 = -1; int num3 = -1; int num4 = 0; while (offset <= endOffset && num4 < this.m_DelPVstate.lv.totalRows) { if (offset + ASHistoryFileView.m_RowHeight >= 0f) { if (num2 == -1) { this.m_DelPVstate.IndexToFolderAndFile(num4, ref num2, ref num3); } position = new Rect(0f, offset, (float)Screen.width, ASHistoryFileView.m_RowHeight); ParentViewFolder parentViewFolder = this.m_DelPVstate.folders[num2]; if (current.type == EventType.MouseDown && position.Contains(current.mousePosition)) { if (current.button != 1 || this.SelType != ASHistoryFileView.SelectionType.DeletedItems || !this.m_DelPVstate.selectedItems[num]) { GUIUtility.keyboardControl = this.m_FileViewControlID; this.SelType = ASHistoryFileView.SelectionType.DeletedItems; this.m_DelPVstate.lv.row = num; ListViewShared.MultiSelection(null, row, this.m_DelPVstate.lv.row, ref this.m_DelPVstate.initialSelectedItem, ref this.m_DelPVstate.selectedItems); this.ScrollToDeletedItem(num); parentWin.DoLocalSelectionChange(); } if (current.button == 1 && this.SelType == ASHistoryFileView.SelectionType.DeletedItems) { GUIUtility.hotControl = 0; Rect position3 = new Rect(current.mousePosition.x, current.mousePosition.y, 1f, 1f); EditorUtility.DisplayCustomMenu(position3, this.dropDownMenuItems, -1, new EditorUtility.SelectMenuItemFunction(this.ContextMenuClick), null); } Event.current.Use(); } if (num3 != -1) { gUIContent.text = parentViewFolder.files[num3].name; gUIContent.image = InternalEditorUtility.GetIconForFile(parentViewFolder.files[num3].name); left = (int)(this.m_BaseIndent + this.m_Indent * 2f); } else { gUIContent.text = parentViewFolder.name; gUIContent.image = image; left = (int)(this.m_BaseIndent + this.m_Indent); } s.padding.left = left; if (Event.current.type == EventType.Repaint) { s.Draw(position, gUIContent, false, false, this.m_DelPVstate.selectedItems[num], focused); } this.m_DelPVstate.NextFileFolder(ref num2, ref num3); num++; } num4++; offset += ASHistoryFileView.m_RowHeight; } } }
private void DeletedItemsKeyboard(ASHistoryWindow parentWin) { int row = this.m_DelPVstate.lv.row; int num = row; if (this.DeletedItemsToggle) { switch (Event.current.keyCode) { case KeyCode.UpArrow: if (num > 0) { num--; } else { this.SelType = ASHistoryFileView.SelectionType.DeletedItemsRoot; this.ScrollToDeletedItem(-1); parentWin.DoLocalSelectionChange(); } goto IL_1C9; case KeyCode.DownArrow: if (num < this.m_DelPVstate.lv.totalRows - 1) { num++; } goto IL_1C9; case KeyCode.Home: num = 0; goto IL_1C9; case KeyCode.End: num = this.m_DelPVstate.lv.totalRows - 1; goto IL_1C9; case KeyCode.PageUp: if (ASHistoryFileView.OSX) { this.m_ScrollPosition.y = this.m_ScrollPosition.y - this.m_ScreenRect.height; if (this.m_ScrollPosition.y < 0f) { this.m_ScrollPosition.y = 0f; } } else { num -= (int)(this.m_ScreenRect.height / ASHistoryFileView.m_RowHeight); if (num < 0) { num = 0; } } goto IL_1C9; case KeyCode.PageDown: if (ASHistoryFileView.OSX) { this.m_ScrollPosition.y = this.m_ScrollPosition.y + this.m_ScreenRect.height; } else { num += (int)(this.m_ScreenRect.height / ASHistoryFileView.m_RowHeight); if (num > this.m_DelPVstate.lv.totalRows - 1) { num = this.m_DelPVstate.lv.totalRows - 1; } } goto IL_1C9; } return; IL_1C9: Event.current.Use(); if (num != row) { this.m_DelPVstate.lv.row = num; ListViewShared.MultiSelection(null, row, num, ref this.m_DelPVstate.initialSelectedItem, ref this.m_DelPVstate.selectedItems); this.ScrollToDeletedItem(num); parentWin.DoLocalSelectionChange(); } } }