/// <summary> /// Sets the Specified Field to Active (Cursor Entered, Highlighted) /// </summary> /// <param name="session"></param> /// <param name="field"></param> private void SetFieldActive(SessionBase session, FsdFieldSpec field) { SetCursorPosition(session, field.X, field.Y); session.SendToClient($"\x1B[0;1;7m"); session.SendToClient(new string(' ', field.FieldLength)); SetCursorPosition(session, field.X, field.Y); session.SendToClient(field.Value ?? string.Empty); //Set Original Value to be reset upon validation failure field.OriginalValue = field.Value; }
/// <summary> /// Clears a Displayed Error Message to the User /// </summary> /// <param name="session"></param> /// <param name="errorField"></param> private void ClearErrorMessage(SessionBase session, FsdFieldSpec errorField) { session.SendToClient($"\x1B[0;1m"); SetCursorPosition(session, errorField.X, errorField.Y); if (errorField.FieldAnsi != null) { session.SendToClient(errorField.FieldAnsi); } session.SendToClient(new string(' ', errorField.FieldLength)); }
/// <summary> /// Displays an Error Message to the User /// </summary> /// <param name="session"></param> /// <param name="errorField"></param> /// <param name="errorMessage"></param> private void DisplayErrorMessage(SessionBase session, FsdFieldSpec errorField, string errorMessage) { //Reset Formatting session.SendToClient($"\x1B[0;1m"); SetCursorPosition(session, errorField.X, errorField.Y); if (errorField.FieldAnsi != null) { session.SendToClient(errorField.FieldAnsi); } session.SendToClient(new string(' ', errorField.FieldLength)); SetCursorPosition(session, errorField.X, errorField.Y); session.SendToClient(errorMessage); }
/// <summary> /// Sets the specified Field to Inactive Default (Default Formatting) /// </summary> /// <param name="session"></param> /// <param name="field"></param> private void SetFieldInactive(SessionBase session, FsdFieldSpec field) { //Reset Formatting session.SendToClient($"\x1B[0;1m"); SetCursorPosition(session, field.X, field.Y); if (field.FieldAnsi != null) { session.SendToClient(field.FieldAnsi); } session.SendToClient(new string(' ', field.FieldLength)); SetCursorPosition(session, field.X, field.Y); if (field.Value != null) { session.SendToClient(field.FsdFieldType == EnumFsdFieldType.Secret ? new string('*', field.FieldLength) : field.Value); } }