public static DoListView ( |
||
pos | ||
state | ||
colWidths | int | |
dragTitle | string | |
return | ListViewShared.ListViewElementsEnumerator |
public static ListViewShared.ListViewElementsEnumerator DoListView(Rect pos, ListViewState state, int[] colWidths, string dragTitle)
{
Rect rect;
int controlID = GUIUtility.GetControlID(listViewHash, FocusType.Passive);
state.ID = controlID;
state.selectionChanged = false;
if ((GUIClip.visibleRect.x < 0f) || (GUIClip.visibleRect.y < 0f))
{
rect = pos;
}
else
{
rect = (pos.y >= 0f) ? new Rect(0f, state.scrollPos.y, GUIClip.visibleRect.width, GUIClip.visibleRect.height) : new Rect(0f, 0f, GUIClip.visibleRect.width, GUIClip.visibleRect.height);
}
if (rect.width <= 0f)
{
rect.width = 1f;
}
if (rect.height <= 0f)
{
rect.height = 1f;
}
ilvState.rect = rect;
int yFrom = (int) ((-pos.y + rect.yMin) / ((float) state.rowHeight));
int yTo = (yFrom + ((int) Math.Ceiling((double) ((((rect.yMin - pos.y) % ((float) state.rowHeight)) + rect.height) / ((float) state.rowHeight))))) - 1;
if (colWidths == null)
{
dummyWidths[0] = (int) rect.width;
colWidths = dummyWidths;
}
ilvState.invisibleRows = yFrom;
ilvState.endRow = yTo;
ilvState.rectHeight = (int) rect.height;
ilvState.state = state;
if (yFrom < 0)
{
yFrom = 0;
}
if (yTo >= state.totalRows)
{
yTo = state.totalRows - 1;
}
return new ListViewShared.ListViewElementsEnumerator(ilvState, colWidths, yFrom, yTo, dragTitle, new Rect(0f, (float) (yFrom * state.rowHeight), pos.width, (float) state.rowHeight));
}
public static ListViewShared.ListViewElementsEnumerator ListView(ListViewState state, ListViewOptions lvOptions, int[] colWidths, string dragTitle, GUIStyle style, params GUILayoutOption[] options) { GUILayout.BeginHorizontal(style, new GUILayoutOption[0]); state.scrollPos = EditorGUILayout.BeginScrollView(state.scrollPos, options); ListViewGUI.ilvState.beganHorizontal = true; state.draggedFrom = -1; state.draggedTo = -1; state.fileNames = null; if ((lvOptions & ListViewOptions.wantsReordering) != (ListViewOptions)0) { ListViewGUI.ilvState.wantsReordering = true; } if ((lvOptions & ListViewOptions.wantsExternalFiles) != (ListViewOptions)0) { ListViewGUI.ilvState.wantsExternalFiles = true; } if ((lvOptions & ListViewOptions.wantsToStartCustomDrag) != (ListViewOptions)0) { ListViewGUI.ilvState.wantsToStartCustomDrag = true; } if ((lvOptions & ListViewOptions.wantsToAcceptCustomDrag) != (ListViewOptions)0) { ListViewGUI.ilvState.wantsToAcceptCustomDrag = true; } return(ListViewGUI.DoListView(GUILayoutUtility.GetRect(1f, (float)(state.totalRows * state.rowHeight + 3)), state, colWidths, string.Empty)); }