tbf/TestBenchFramework/BenchControl/Configs/ConfigCtrlUtils.cs
2018-01-24 13:55:16 +01:00

127 lines
5.8 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Config.Entities;
using TBF.BenchControl;
namespace TBF.BenchControl.Configs
{
public class ConfigCtrlUtils : UserControl
{
protected PageOrientation GetOrientation(string str)
{
if (str.Equals(PageOrientation.Landscape.ToString())) return PageOrientation.Landscape;
if (str.Equals(PageOrientation.Portrait.ToString())) return PageOrientation.Portrait;
return (PageOrientation)(-1);
}
/// <summary>
/// Updates destination variable when its value differes from the source value.
/// Returns appropriate flags
/// </summary>
/// <param name="cfgVar">Reference to destination variable</param>
/// <param name="intVal">Source value</param>
/// <param name="flagsWhenUpdated">Flags returned when an update occurs</param>
/// <returns>Flags or 0</returns>
protected CfgUpdateFlags UpdateDifferent(ref int cfgVar, int intVal, CfgUpdateFlags flagsWhenUpdated)
{
if (cfgVar != intVal) { cfgVar = intVal; return flagsWhenUpdated; } else return 0;
}
/// <summary>
/// Updates destination variable when its value differes from the source value.
/// Returns appropriate flags
/// </summary>
/// <param name="cfgVar">Reference to destination variable</param>
/// <param name="toBeParsedString">Source integer value is obtained by parsing this string</param>
/// <param name="flagsWhenUpdated">Flags returned when an update occurs</param>
/// <returns>Flags or 0</returns>
protected CfgUpdateFlags UpdateDifferent(ref int cfgVar, string toBeParsedString, CfgUpdateFlags flagsWhenUpdated)
{
int itmp = int.Parse(toBeParsedString);
if (cfgVar != itmp) { cfgVar = itmp; return flagsWhenUpdated; } else return 0;
}
/// <summary>
/// Updates destination variable when its value differes from the source value.
/// Returns appropriate flags
/// </summary>
/// <param name="cfgVar">Reference to destination variable</param>
/// <param name="toBeParsedString">Source integer value is obtained by parsing this string</param>
/// <param name="flagsWhenUpdated">Flags returned when an update occurs</param>
/// <returns>Flags or 0</returns>
protected CfgUpdateFlags UpdateDifferent(ref float cfgVar, string toBeParsedString, CfgUpdateFlags flagsWhenUpdated)
{
float ftmp = Utils.ParseSFloat(toBeParsedString);
if (cfgVar != ftmp) { cfgVar = ftmp; return flagsWhenUpdated; } else return 0;
}
/// <summary>
/// Updates destination variable when its value differes from the source value.
/// Returns appropriate flags
/// </summary>
/// <param name="cfgVar">Reference to destination variable</param>
/// <param name="toBeParsedString">Source integer value is obtained by parsing this string</param>
/// <param name="flagsWhenUpdated">Flags returned when an update occurs</param>
/// <returns>Flags or 0</returns>
protected CfgUpdateFlags UpdateDifferent(ref double cfgVar, string toBeParsedString, CfgUpdateFlags flagsWhenUpdated)
{
double dtmp = Utils.ParseSDouble(toBeParsedString);
if (cfgVar != dtmp) { cfgVar = dtmp; return flagsWhenUpdated; } else return 0;
}
/// <summary>
/// Updates destination variable when its value differes from the source value.
/// Returns appropriate flags
/// </summary>
/// <param name="cfgVar">Reference to destination variable</param>
/// <param name="boolVal">Source value</param>
/// <param name="flagsWhenUpdated">Flags returned when an update occurs</param>
/// <returns>Flags or 0</returns>
protected CfgUpdateFlags UpdateDifferent(ref bool cfgVar, bool boolVal, CfgUpdateFlags flagsWhenUpdated)
{
if (cfgVar != boolVal) { cfgVar = boolVal; return flagsWhenUpdated; } else return 0;
}
/// <summary>
/// Updates destination variable when its value differes from the source value.
/// Returns appropriate flags
/// </summary>
/// <param name="cfgVar">Reference to destination variable</param>
/// <param name="stringVal">Source value</param>
/// <param name="flagsWhenUpdated">Flags returned when an update occurs</param>
/// <returns>Flags or 0</returns>
protected CfgUpdateFlags UpdateDifferent(ref string cfgVar, string stringVal, CfgUpdateFlags flagsWhenUpdated)
{
if (cfgVar != stringVal) { cfgVar = stringVal; return flagsWhenUpdated; } else return 0;
}
/// <summary>
/// Updates destination variable when its value differes from the source value.
/// Returns appropriate flags
/// </summary>
/// <param name="cfgVar">Reference to destination array</param>
/// <param name="stringArrVal">Source array of strings</param>
/// <param name="flagsWhenUpdated">Flags returned when an update occurs</param>
/// <returns>Flags or 0</returns>
protected CfgUpdateFlags UpdateDifferent(ref string[] cfgVar, string[] stringArrVal, CfgUpdateFlags flagsWhenUpdated)
{
if (cfgVar == null && stringArrVal == null)
{
return 0;
}
else if (cfgVar == null || stringArrVal == null || !cfgVar.SequenceEqual<string>(stringArrVal))
{
cfgVar = stringArrVal;
return flagsWhenUpdated;
}
else
{
return 0;
}
}
}
}