public override void AllocResources() { _totalWidth = Width; SelectedGridItem = null; _scrollPositionX = 0; _scrollPositionY = 0; LayoutRows(); SetInitialSelectedItem(); }
public GUIGridCell GetColumnAt(GUIGridRow row, int x) { for (int column = 0; column < row.Count; column++) { GUIGridCell cell = row.Columns[column]; if (x >= cell._positionX && x < cell._positionX + cell.RenderWidth) { return(cell); } } return(null); }
private void OnDown() { if (SelectedGridItem == null) { return; } SelectedGridItem.Focus = false; SelectedGridItem = SelectedGridItem.OnDown(_cursorPositionX); if (SelectedGridItem != null) { SelectedGridItem.Focus = true; } }
private void OnRight() { if (SelectedGridItem == null) { return; } SelectedGridItem.Focus = false; SelectedGridItem = SelectedGridItem.OnRight(); if (SelectedGridItem != null) { SelectedGridItem.Focus = true; } _cursorPositionX = SelectedGridItem.Control.XPosition + (SelectedGridItem.RenderWidth / 2); }
private void SetInitialSelectedItem() { if (SelectedGridItem != null) { return; } if (Count > 0) { GUIGridRow row = _rows[0]; if (row.Count > 0) { SelectedGridItem = row.Columns[0]; _cursorPositionX = SelectedGridItem.Control.XPosition + (SelectedGridItem.RenderWidth / 2); } } }
public override bool HitTest(int x, int y, out int controlID, out bool focused) { bool focus = base.HitTest(x, y, out controlID, out focused); if (!focus) { return(focus); } if (Count == 0) { return(focus); } if (SelectedGridItem != null) { SelectedGridItem.Focus = false; } SelectedGridItem = GetItemAt(x, y); if (SelectedGridItem != null) { SelectedGridItem.Focus = true; } return(focus); }
public override bool HitTest(int x, int y, out int controlID, out bool focused) { bool focus = base.HitTest(x, y, out controlID, out focused); if (!focus) { return focus; } if (Count == 0) { return focus; } if (SelectedGridItem != null) { SelectedGridItem.Focus = false; } SelectedGridItem = GetItemAt(x, y); if (SelectedGridItem != null) { SelectedGridItem.Focus = true; } return focus; }