private bool TryFindCellName(LinkedListNode <Token> initNode, out CellNameToken nameToken, out LinkedListNode <Token> nxtNode) { nxtNode = initNode; nameToken = null; if (!IsBigLetter(initNode.Value)) { return(false); } if (initNode.Previous != null && IsDigit(initNode.Previous.Value)) { return(false); } bool numPart = false; string actualValue = ""; var curNode = initNode; while (curNode != null && (!numPart && IsBigLetter(curNode.Value) || numPart && IsDigit(curNode.Value))) { actualValue += curNode.Value.ActualValue; curNode = curNode.Next; numPart = numPart || (curNode != null && IsDigit(curNode.Value)); } if (!GridCoordinates.TryParse(actualValue, out GridCoordinates value) || !numPart) { return(false); } nxtNode = curNode; nameToken = new CellNameToken() { ActualValue = actualValue, Position = initNode.Value.Position, Value = value }; return(true); }
private string ConfirmSelectedCellValue(string nwValue) { if (nwValue == null) { return(SelectedCell); } if (!GridCoordinates.TryParse(nwValue, out GridCoordinates nwCoords)) { return(SelectedCell); } var stringCoords = nwCoords.GetStringCoords(); if (selectManager.SelectedCell.CellPosition.Equals(nwCoords) || selectManager.TrySelect(nwCoords)) { return($"{stringCoords.Item1}{stringCoords.Item2}"); } var realSelectedCellPosition = selectManager.SelectedCell.CellPosition.GetStringCoords(); return($"{realSelectedCellPosition.Item1}{realSelectedCellPosition.Item2}"); }
private static Boolean ValidateSelectedCellCallback(Object value) { var targetString = value as string; return(targetString != null && GridCoordinates.TryParse(targetString, out GridCoordinates gridCoordinates)); }