UnityEditor.ListViewGUILayout.DoListView C# (CSharp) Méthode

DoListView() private static méthode

private static DoListView ( ListViewState state, int colWidths, string dragTitle ) : ListViewShared.ListViewElementsEnumerator
state ListViewState
colWidths int
dragTitle string
Résultat ListViewShared.ListViewElementsEnumerator
        private static ListViewShared.ListViewElementsEnumerator DoListView(ListViewState state, int[] colWidths, string dragTitle)
        {
            Rect dummyRect = ListViewGUILayout.dummyRect;
            int yFrom = 0;
            int yTo = 0;
            ListViewShared.InternalLayoutedListViewState ilvState = state.ilvState;
            int controlID = GUIUtility.GetControlID(listViewHash, FocusType.Passive);
            state.ID = controlID;
            state.selectionChanged = false;
            ilvState.state = state;
            if (Event.current.type != EventType.Layout)
            {
                dummyRect = new Rect(0f, state.scrollPos.y, GUIClip.visibleRect.width, GUIClip.visibleRect.height);
                if (dummyRect.width <= 0f)
                {
                    dummyRect.width = 1f;
                }
                if (dummyRect.height <= 0f)
                {
                    dummyRect.height = 1f;
                }
                state.ilvState.rect = dummyRect;
                yFrom = ((int) dummyRect.yMin) / state.rowHeight;
                yTo = (yFrom + ((int) Math.Ceiling((double) (((dummyRect.yMin % ((float) state.rowHeight)) + dummyRect.height) / ((float) state.rowHeight))))) - 1;
                ilvState.invisibleRows = yFrom;
                ilvState.endRow = yTo;
                ilvState.rectHeight = (int) dummyRect.height;
                if (yFrom < 0)
                {
                    yFrom = 0;
                }
                if (yTo >= state.totalRows)
                {
                    yTo = state.totalRows - 1;
                }
            }
            if (colWidths == null)
            {
                dummyWidths[0] = (int) dummyRect.width;
                colWidths = dummyWidths;
            }
            return new ListViewShared.ListViewElementsEnumerator(ilvState, colWidths, yFrom, yTo, dragTitle, new Rect(0f, (float) (yFrom * state.rowHeight), dummyRect.width, (float) state.rowHeight));
        }

Usage Example

Exemple #1
0
 public static ListViewShared.ListViewElementsEnumerator ListView(ListViewState state, ListViewOptions lvOptions, string dragTitle, GUIStyle style, params GUILayoutOption[] options)
 {
     ListViewGUILayout.lvState = state;
     GUILayout.BeginHorizontal(style, options);
     state.scrollPos = EditorGUILayout.BeginScrollView(state.scrollPos, options);
     ListViewGUILayout.BeginLayoutedListview(state, GUIStyle.none);
     state.draggedFrom = -1;
     state.draggedTo   = -1;
     state.fileNames   = (string[])null;
     if ((lvOptions & ListViewOptions.wantsReordering) != (ListViewOptions)0)
     {
         state.ilvState.wantsReordering = true;
     }
     if ((lvOptions & ListViewOptions.wantsExternalFiles) != (ListViewOptions)0)
     {
         state.ilvState.wantsExternalFiles = true;
     }
     if ((lvOptions & ListViewOptions.wantsToStartCustomDrag) != (ListViewOptions)0)
     {
         state.ilvState.wantsToStartCustomDrag = true;
     }
     if ((lvOptions & ListViewOptions.wantsToAcceptCustomDrag) != (ListViewOptions)0)
     {
         state.ilvState.wantsToAcceptCustomDrag = true;
     }
     return(ListViewGUILayout.DoListView(state, (int[])null, dragTitle));
 }