private static DoListView ( |
||
state | ||
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));
}
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)); }