mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Add nullable context to SabreTools.DatItems
This change also starts migrating the internals of the DatItem formats to the new internal models. Right now, it's basically just acting like a wrapper around those models.
This commit is contained in:
@@ -785,10 +785,14 @@ namespace SabreTools.Filtering
|
||||
Chip chip => PassesFilters(chip),
|
||||
Condition condition => PassesFilters(condition),
|
||||
Configuration configuration => PassesFilters(configuration),
|
||||
ConfLocation confLocation => PassesFilters(confLocation),
|
||||
ConfSetting confSetting => PassesFilters(confSetting),
|
||||
Control control => PassesFilters(control),
|
||||
DataArea dataArea => PassesFilters(dataArea),
|
||||
Device device => PassesFilters(device),
|
||||
DipLocation dipLocation => PassesFilters(dipLocation),
|
||||
DipSwitch dipSwitch => PassesFilters(dipSwitch),
|
||||
DipValue dipValue => PassesFilters(dipValue),
|
||||
Disk disk => PassesFilters(disk),
|
||||
DiskArea diskArea => PassesFilters(diskArea),
|
||||
Display display => PassesFilters(display),
|
||||
@@ -798,7 +802,6 @@ namespace SabreTools.Filtering
|
||||
Info info => PassesFilters(info),
|
||||
Input input => PassesFilters(input),
|
||||
Instance instance => PassesFilters(instance),
|
||||
Location location => PassesFilters(location),
|
||||
Media media => PassesFilters(media),
|
||||
Part part => PassesFilters(part),
|
||||
PartFeature partFeature => PassesFilters(partFeature),
|
||||
@@ -806,7 +809,6 @@ namespace SabreTools.Filtering
|
||||
RamOption ramOption => PassesFilters(ramOption),
|
||||
Release release => PassesFilters(release),
|
||||
Rom rom => PassesFilters(rom),
|
||||
Setting setting => PassesFilters(setting),
|
||||
SharedFeature sharedFeature => PassesFilters(sharedFeature),
|
||||
Slot slot => PassesFilters(slot),
|
||||
SlotOption slotOption => PassesFilters(slotOption),
|
||||
@@ -1024,7 +1026,7 @@ namespace SabreTools.Filtering
|
||||
// Filter on individual locations
|
||||
if (configuration.LocationsSpecified)
|
||||
{
|
||||
foreach (Location subLocation in configuration.Locations)
|
||||
foreach (ConfLocation subLocation in configuration.Locations)
|
||||
{
|
||||
if (!PassesFilters(subLocation))
|
||||
return false;
|
||||
@@ -1034,7 +1036,7 @@ namespace SabreTools.Filtering
|
||||
// Filter on individual settings
|
||||
if (configuration.SettingsSpecified)
|
||||
{
|
||||
foreach (Setting subSetting in configuration.Settings)
|
||||
foreach (ConfSetting subSetting in configuration.Settings)
|
||||
{
|
||||
if (!PassesFilters(subSetting))
|
||||
return false;
|
||||
@@ -1044,6 +1046,60 @@ namespace SabreTools.Filtering
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check to see if a ConfLocation passes the filters
|
||||
/// </summary>
|
||||
/// <param name="confLocation">ConfLocation to check</param>
|
||||
/// <returns>True if the item passed the filter, false otherwise</returns>
|
||||
private bool PassesFilters(ConfLocation confLocation)
|
||||
{
|
||||
// DatItem_Location_Inverted
|
||||
if (!PassBoolFilter(Location_Inverted, confLocation.Inverted))
|
||||
return false;
|
||||
|
||||
// DatItem_Location_Name
|
||||
if (!PassStringFilter(Location_Name, confLocation.Name))
|
||||
return false;
|
||||
|
||||
// DatItem_Location_Number
|
||||
if (!PassLongFilter(Location_Number, confLocation.Number))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check to see if a ConfSetting passes the filters
|
||||
/// </summary>
|
||||
/// <param name="confSetting">ConfSetting to check</param>
|
||||
/// <returns>True if the item passed the filter, false otherwise</returns>
|
||||
private bool PassesFilters(ConfSetting confSetting)
|
||||
{
|
||||
// DatItem_Setting_Default
|
||||
if (!PassBoolFilter(Setting_Default, confSetting.Default))
|
||||
return false;
|
||||
|
||||
// DatItem_Setting_Name
|
||||
if (!PassStringFilter(Setting_Name, confSetting.Name))
|
||||
return false;
|
||||
|
||||
// DatItem_Setting_Value
|
||||
if (!PassStringFilter(Setting_Value, confSetting.Value))
|
||||
return false;
|
||||
|
||||
// Filter on individual conditions
|
||||
if (confSetting.ConditionsSpecified)
|
||||
{
|
||||
foreach (Condition subCondition in confSetting.Conditions)
|
||||
{
|
||||
if (!PassesFilters(subCondition, true))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check to see if a Control passes the filters
|
||||
/// </summary>
|
||||
@@ -1184,6 +1240,28 @@ namespace SabreTools.Filtering
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check to see if a DipLocation passes the filters
|
||||
/// </summary>
|
||||
/// <param name="dipLocation">DipLocation to check</param>
|
||||
/// <returns>True if the item passed the filter, false otherwise</returns>
|
||||
private bool PassesFilters(DipLocation dipLocation)
|
||||
{
|
||||
// DatItem_Location_Inverted
|
||||
if (!PassBoolFilter(Location_Inverted, dipLocation.Inverted))
|
||||
return false;
|
||||
|
||||
// DatItem_Location_Name
|
||||
if (!PassStringFilter(Location_Name, dipLocation.Name))
|
||||
return false;
|
||||
|
||||
// DatItem_Location_Number
|
||||
if (!PassLongFilter(Location_Number, dipLocation.Number))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check to see if a DipSwitch passes the filters
|
||||
/// </summary>
|
||||
@@ -1212,7 +1290,7 @@ namespace SabreTools.Filtering
|
||||
// Filter on individual locations
|
||||
if (dipSwitch.LocationsSpecified)
|
||||
{
|
||||
foreach (Location subLocation in dipSwitch.Locations)
|
||||
foreach (DipLocation subLocation in dipSwitch.Locations)
|
||||
{
|
||||
if (!PassesFilters(subLocation))
|
||||
return false;
|
||||
@@ -1222,7 +1300,7 @@ namespace SabreTools.Filtering
|
||||
// Filter on individual values
|
||||
if (dipSwitch.ValuesSpecified)
|
||||
{
|
||||
foreach (Setting subValue in dipSwitch.Values)
|
||||
foreach (DipValue subValue in dipSwitch.Values)
|
||||
{
|
||||
if (!PassesFilters(subValue))
|
||||
return false;
|
||||
@@ -1239,6 +1317,38 @@ namespace SabreTools.Filtering
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check to see if a DipValue passes the filters
|
||||
/// </summary>
|
||||
/// <param name="dipValue">DipValue to check</param>
|
||||
/// <returns>True if the item passed the filter, false otherwise</returns>
|
||||
private bool PassesFilters(DipValue dipValue)
|
||||
{
|
||||
// DatItem_Setting_Default
|
||||
if (!PassBoolFilter(Setting_Default, dipValue.Default))
|
||||
return false;
|
||||
|
||||
// DatItem_Setting_Name
|
||||
if (!PassStringFilter(Setting_Name, dipValue.Name))
|
||||
return false;
|
||||
|
||||
// DatItem_Setting_Value
|
||||
if (!PassStringFilter(Setting_Value, dipValue.Value))
|
||||
return false;
|
||||
|
||||
// Filter on individual conditions
|
||||
if (dipValue.ConditionsSpecified)
|
||||
{
|
||||
foreach (Condition subCondition in dipValue.Conditions)
|
||||
{
|
||||
if (!PassesFilters(subCondition, true))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check to see if a Disk passes the filters
|
||||
/// </summary>
|
||||
@@ -1539,28 +1649,6 @@ namespace SabreTools.Filtering
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check to see if a Location passes the filters
|
||||
/// </summary>
|
||||
/// <param name="location">Location to check</param>
|
||||
/// <returns>True if the item passed the filter, false otherwise</returns>
|
||||
private bool PassesFilters(Location location)
|
||||
{
|
||||
// DatItem_Location_Inverted
|
||||
if (!PassBoolFilter(Location_Inverted, location.Inverted))
|
||||
return false;
|
||||
|
||||
// DatItem_Location_Name
|
||||
if (!PassStringFilter(Location_Name, location.Name))
|
||||
return false;
|
||||
|
||||
// DatItem_Location_Number
|
||||
if (!PassLongFilter(Location_Number, location.Number))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check to see if a Media passes the filters
|
||||
/// </summary>
|
||||
@@ -1855,38 +1943,6 @@ namespace SabreTools.Filtering
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check to see if a Setting passes the filters
|
||||
/// </summary>
|
||||
/// <param name="setting">Setting to check</param>
|
||||
/// <returns>True if the item passed the filter, false otherwise</returns>
|
||||
private bool PassesFilters(Setting setting)
|
||||
{
|
||||
// DatItem_Setting_Default
|
||||
if (!PassBoolFilter(Setting_Default, setting.Default))
|
||||
return false;
|
||||
|
||||
// DatItem_Setting_Name
|
||||
if (!PassStringFilter(Setting_Name, setting.Name))
|
||||
return false;
|
||||
|
||||
// DatItem_Setting_Value
|
||||
if (!PassStringFilter(Setting_Value, setting.Value))
|
||||
return false;
|
||||
|
||||
// Filter on individual conditions
|
||||
if (setting.ConditionsSpecified)
|
||||
{
|
||||
foreach (Condition subCondition in setting.Conditions)
|
||||
{
|
||||
if (!PassesFilters(subCondition, true))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check to see if a SharedFeature passes the filters
|
||||
/// </summary>
|
||||
|
||||
@@ -92,10 +92,14 @@ namespace SabreTools.Filtering
|
||||
else if (datItem is Chip) RemoveFields(datItem as Chip);
|
||||
else if (datItem is Condition) RemoveFields(datItem as Condition);
|
||||
else if (datItem is Configuration) RemoveFields(datItem as Configuration);
|
||||
else if (datItem is ConfLocation) RemoveFields(datItem as ConfLocation);
|
||||
else if (datItem is ConfSetting) RemoveFields(datItem as ConfSetting);
|
||||
else if (datItem is Control) RemoveFields(datItem as Control);
|
||||
else if (datItem is DataArea) RemoveFields(datItem as DataArea);
|
||||
else if (datItem is Device) RemoveFields(datItem as Device);
|
||||
else if (datItem is DipLocation) RemoveFields(datItem as DipLocation);
|
||||
else if (datItem is DipSwitch) RemoveFields(datItem as DipSwitch);
|
||||
else if (datItem is DipValue) RemoveFields(datItem as DipValue);
|
||||
else if (datItem is Disk) RemoveFields(datItem as Disk);
|
||||
else if (datItem is DiskArea) RemoveFields(datItem as DiskArea);
|
||||
else if (datItem is Display) RemoveFields(datItem as Display);
|
||||
@@ -105,7 +109,6 @@ namespace SabreTools.Filtering
|
||||
else if (datItem is Info) RemoveFields(datItem as Info);
|
||||
else if (datItem is Input) RemoveFields(datItem as Input);
|
||||
else if (datItem is Instance) RemoveFields(datItem as Instance);
|
||||
else if (datItem is Location) RemoveFields(datItem as Location);
|
||||
else if (datItem is Media) RemoveFields(datItem as Media);
|
||||
else if (datItem is Part) RemoveFields(datItem as Part);
|
||||
else if (datItem is PartFeature) RemoveFields(datItem as PartFeature);
|
||||
@@ -113,7 +116,6 @@ namespace SabreTools.Filtering
|
||||
else if (datItem is RamOption) RemoveFields(datItem as RamOption);
|
||||
else if (datItem is Release) RemoveFields(datItem as Release);
|
||||
else if (datItem is Rom) RemoveFields(datItem as Rom);
|
||||
else if (datItem is Setting) RemoveFields(datItem as Setting);
|
||||
else if (datItem is SharedFeature) RemoveFields(datItem as SharedFeature);
|
||||
else if (datItem is Slot) RemoveFields(datItem as Slot);
|
||||
else if (datItem is SlotOption) RemoveFields(datItem as SlotOption);
|
||||
@@ -394,7 +396,7 @@ namespace SabreTools.Filtering
|
||||
|
||||
if (configuration.LocationsSpecified)
|
||||
{
|
||||
foreach (Location subLocation in configuration.Locations)
|
||||
foreach (ConfLocation subLocation in configuration.Locations)
|
||||
{
|
||||
RemoveFields(subLocation);
|
||||
}
|
||||
@@ -402,13 +404,53 @@ namespace SabreTools.Filtering
|
||||
|
||||
if (configuration.SettingsSpecified)
|
||||
{
|
||||
foreach (Setting subSetting in configuration.Settings)
|
||||
foreach (ConfSetting subSetting in configuration.Settings)
|
||||
{
|
||||
RemoveFields(subSetting);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove fields with given values
|
||||
/// </summary>
|
||||
/// <param name="confLocation">ConfLocation to remove fields from</param>
|
||||
private void RemoveFields(ConfLocation confLocation)
|
||||
{
|
||||
if (DatItemFields.Contains(DatItemField.Location_Inverted))
|
||||
confLocation.Inverted = null;
|
||||
|
||||
if (DatItemFields.Contains(DatItemField.Location_Name))
|
||||
confLocation.Name = null;
|
||||
|
||||
if (DatItemFields.Contains(DatItemField.Location_Number))
|
||||
confLocation.Number = null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove fields with given values
|
||||
/// </summary>
|
||||
/// <param name="confsetting">ConfSetting to remove fields from</param>
|
||||
private void RemoveFields(ConfSetting confsetting)
|
||||
{
|
||||
if (DatItemFields.Contains(DatItemField.Setting_Default))
|
||||
confsetting.Default = null;
|
||||
|
||||
if (DatItemFields.Contains(DatItemField.Setting_Name))
|
||||
confsetting.Name = null;
|
||||
|
||||
if (DatItemFields.Contains(DatItemField.Setting_Value))
|
||||
confsetting.Value = null;
|
||||
|
||||
if (confsetting.ConditionsSpecified)
|
||||
{
|
||||
foreach (Condition subCondition in confsetting.Conditions)
|
||||
{
|
||||
RemoveFields(subCondition, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove fields with given values
|
||||
/// </summary>
|
||||
@@ -509,6 +551,22 @@ namespace SabreTools.Filtering
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove fields with given values
|
||||
/// </summary>
|
||||
/// <param name="dipLocation">DipLocation to remove fields from</param>
|
||||
private void RemoveFields(DipLocation dipLocation)
|
||||
{
|
||||
if (DatItemFields.Contains(DatItemField.Location_Inverted))
|
||||
dipLocation.Inverted = null;
|
||||
|
||||
if (DatItemFields.Contains(DatItemField.Location_Name))
|
||||
dipLocation.Name = null;
|
||||
|
||||
if (DatItemFields.Contains(DatItemField.Location_Number))
|
||||
dipLocation.Number = null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove fields with given values
|
||||
/// </summary>
|
||||
@@ -531,7 +589,7 @@ namespace SabreTools.Filtering
|
||||
|
||||
if (dipSwitch.LocationsSpecified)
|
||||
{
|
||||
foreach (Location subLocation in dipSwitch.Locations)
|
||||
foreach (DipLocation subLocation in dipSwitch.Locations)
|
||||
{
|
||||
RemoveFields(subLocation);
|
||||
}
|
||||
@@ -539,7 +597,7 @@ namespace SabreTools.Filtering
|
||||
|
||||
if (dipSwitch.ValuesSpecified)
|
||||
{
|
||||
foreach (Setting subValue in dipSwitch.Values)
|
||||
foreach (DipValue subValue in dipSwitch.Values)
|
||||
{
|
||||
RemoveFields(subValue);
|
||||
}
|
||||
@@ -549,6 +607,30 @@ namespace SabreTools.Filtering
|
||||
RemoveFields(dipSwitch.Part);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove fields with given values
|
||||
/// </summary>
|
||||
/// <param name="dipValue">DipValue to remove fields from</param>
|
||||
private void RemoveFields(DipValue dipValue)
|
||||
{
|
||||
if (DatItemFields.Contains(DatItemField.Setting_Default))
|
||||
dipValue.Default = null;
|
||||
|
||||
if (DatItemFields.Contains(DatItemField.Setting_Name))
|
||||
dipValue.Name = null;
|
||||
|
||||
if (DatItemFields.Contains(DatItemField.Setting_Value))
|
||||
dipValue.Value = null;
|
||||
|
||||
if (dipValue.ConditionsSpecified)
|
||||
{
|
||||
foreach (Condition subCondition in dipValue.Conditions)
|
||||
{
|
||||
RemoveFields(subCondition, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove fields with given values
|
||||
/// </summary>
|
||||
@@ -752,22 +834,6 @@ namespace SabreTools.Filtering
|
||||
instance.Name = null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove fields with given values
|
||||
/// </summary>
|
||||
/// <param name="location">Location to remove fields from</param>
|
||||
private void RemoveFields(Location location)
|
||||
{
|
||||
if (DatItemFields.Contains(DatItemField.Location_Inverted))
|
||||
location.Inverted = null;
|
||||
|
||||
if (DatItemFields.Contains(DatItemField.Location_Name))
|
||||
location.Name = null;
|
||||
|
||||
if (DatItemFields.Contains(DatItemField.Location_Number))
|
||||
location.Number = null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove fields with given values
|
||||
/// </summary>
|
||||
@@ -977,30 +1043,6 @@ namespace SabreTools.Filtering
|
||||
RemoveFields(rom.Part);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove fields with given values
|
||||
/// </summary>
|
||||
/// <param name="setting">Setting to remove fields from</param>
|
||||
private void RemoveFields(Setting setting)
|
||||
{
|
||||
if (DatItemFields.Contains(DatItemField.Setting_Default))
|
||||
setting.Default = null;
|
||||
|
||||
if (DatItemFields.Contains(DatItemField.Setting_Name))
|
||||
setting.Name = null;
|
||||
|
||||
if (DatItemFields.Contains(DatItemField.Setting_Value))
|
||||
setting.Value = null;
|
||||
|
||||
if (setting.ConditionsSpecified)
|
||||
{
|
||||
foreach (Condition subCondition in setting.Conditions)
|
||||
{
|
||||
RemoveFields(subCondition, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove fields with given values
|
||||
/// </summary>
|
||||
|
||||
@@ -40,10 +40,14 @@ namespace SabreTools.Filtering
|
||||
else if (datItem is Chip) ReplaceFields(datItem as Chip, repDatItem as Chip, datItemFields);
|
||||
else if (datItem is Condition) ReplaceFields(datItem as Condition, repDatItem as Condition, datItemFields);
|
||||
else if (datItem is Configuration) ReplaceFields(datItem as Configuration, repDatItem as Configuration, datItemFields);
|
||||
else if (datItem is ConfLocation) ReplaceFields(datItem as ConfLocation, repDatItem as ConfLocation, datItemFields);
|
||||
else if (datItem is ConfSetting) ReplaceFields(datItem as ConfSetting, repDatItem as ConfSetting, datItemFields);
|
||||
else if (datItem is Control) ReplaceFields(datItem as Control, repDatItem as Control, datItemFields);
|
||||
else if (datItem is DataArea) ReplaceFields(datItem as DataArea, repDatItem as DataArea, datItemFields);
|
||||
else if (datItem is Device) ReplaceFields(datItem as Device, repDatItem as Device, datItemFields);
|
||||
else if (datItem is DipLocation) ReplaceFields(datItem as DipLocation, repDatItem as DipLocation, datItemFields);
|
||||
else if (datItem is DipSwitch) ReplaceFields(datItem as DipSwitch, repDatItem as DipSwitch, datItemFields);
|
||||
else if (datItem is DipValue) ReplaceFields(datItem as DipValue, repDatItem as DipValue, datItemFields);
|
||||
else if (datItem is Disk) ReplaceFields(datItem as Disk, repDatItem as Disk, datItemFields);
|
||||
else if (datItem is DiskArea) ReplaceFields(datItem as DiskArea, repDatItem as DiskArea, datItemFields);
|
||||
else if (datItem is Display) ReplaceFields(datItem as Display, repDatItem as Display, datItemFields);
|
||||
@@ -53,7 +57,6 @@ namespace SabreTools.Filtering
|
||||
else if (datItem is Info) ReplaceFields(datItem as Info, repDatItem as Info, datItemFields);
|
||||
else if (datItem is Input) ReplaceFields(datItem as Input, repDatItem as Input, datItemFields);
|
||||
else if (datItem is Instance) ReplaceFields(datItem as Instance, repDatItem as Instance, datItemFields);
|
||||
else if (datItem is Location) ReplaceFields(datItem as Location, repDatItem as Location, datItemFields);
|
||||
else if (datItem is Media) ReplaceFields(datItem as Media, repDatItem as Media, datItemFields);
|
||||
else if (datItem is Part) ReplaceFields(datItem as Part, repDatItem as Part, datItemFields);
|
||||
else if (datItem is PartFeature) ReplaceFields(datItem as PartFeature, repDatItem as PartFeature, datItemFields);
|
||||
@@ -61,7 +64,6 @@ namespace SabreTools.Filtering
|
||||
else if (datItem is RamOption) ReplaceFields(datItem as RamOption, repDatItem as RamOption, datItemFields);
|
||||
else if (datItem is Release) ReplaceFields(datItem as Release, repDatItem as Release, datItemFields);
|
||||
else if (datItem is Rom) ReplaceFields(datItem as Rom, repDatItem as Rom, datItemFields);
|
||||
else if (datItem is Setting) ReplaceFields(datItem as Setting, repDatItem as Setting, datItemFields);
|
||||
else if (datItem is SharedFeature) ReplaceFields(datItem as SharedFeature, repDatItem as SharedFeature, datItemFields);
|
||||
else if (datItem is Slot) ReplaceFields(datItem as Slot, repDatItem as Slot, datItemFields);
|
||||
else if (datItem is SlotOption) ReplaceFields(datItem as SlotOption, repDatItem as SlotOption, datItemFields);
|
||||
@@ -351,6 +353,46 @@ namespace SabreTools.Filtering
|
||||
// can replace every setting under this item
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Replace fields with given values
|
||||
/// </summary>
|
||||
/// <param name="location">ConfLocation to remove replace fields in</param>
|
||||
/// <param name="newItem">ConfLocation to pull new information from</param>
|
||||
/// <param name="datItemFields">List of fields representing what should be updated</param>
|
||||
private static void ReplaceFields(ConfLocation location, ConfLocation newItem, List<DatItemField> datItemFields)
|
||||
{
|
||||
if (datItemFields.Contains(DatItemField.Location_Inverted))
|
||||
location.Inverted = newItem.Inverted;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Location_Name))
|
||||
location.Name = newItem.Name;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Location_Number))
|
||||
location.Number = newItem.Number;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Replace fields with given values
|
||||
/// </summary>
|
||||
/// <param name="confSetting">ConfSetting to remove replace fields in</param>
|
||||
/// <param name="newItem">ConfSetting to pull new information from</param>
|
||||
/// <param name="datItemFields">List of fields representing what should be updated</param>
|
||||
private static void ReplaceFields(ConfSetting confSetting, ConfSetting newItem, List<DatItemField> datItemFields)
|
||||
{
|
||||
if (datItemFields.Contains(DatItemField.Setting_Default))
|
||||
confSetting.Default = newItem.Default;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Setting_Name))
|
||||
confSetting.Name = newItem.Name;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Setting_Value))
|
||||
confSetting.Value = newItem.Value;
|
||||
|
||||
// Condition_* doesn't make sense here
|
||||
// since not every condition under the other item
|
||||
// can replace every condition under this item
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Replace fields with given values
|
||||
/// </summary>
|
||||
@@ -449,6 +491,24 @@ namespace SabreTools.Filtering
|
||||
// can replace every extension under this item
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Replace fields with given values
|
||||
/// </summary>
|
||||
/// <param name="location">DipLocation to remove replace fields in</param>
|
||||
/// <param name="newItem">DipLocation to pull new information from</param>
|
||||
/// <param name="datItemFields">List of fields representing what should be updated</param>
|
||||
private static void ReplaceFields(DipLocation location, DipLocation newItem, List<DatItemField> datItemFields)
|
||||
{
|
||||
if (datItemFields.Contains(DatItemField.Location_Inverted))
|
||||
location.Inverted = newItem.Inverted;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Location_Name))
|
||||
location.Name = newItem.Name;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Location_Number))
|
||||
location.Number = newItem.Number;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Replace fields with given values
|
||||
/// </summary>
|
||||
@@ -479,6 +539,28 @@ namespace SabreTools.Filtering
|
||||
ReplaceFields(dipSwitch.Part, newItem.Part, datItemFields);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Replace fields with given values
|
||||
/// </summary>
|
||||
/// <param name="dipValue">DipValue to remove replace fields in</param>
|
||||
/// <param name="newItem">DipValue to pull new information from</param>
|
||||
/// <param name="datItemFields">List of fields representing what should be updated</param>
|
||||
private static void ReplaceFields(DipValue dipValue, DipValue newItem, List<DatItemField> datItemFields)
|
||||
{
|
||||
if (datItemFields.Contains(DatItemField.Setting_Default))
|
||||
dipValue.Default = newItem.Default;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Setting_Name))
|
||||
dipValue.Name = newItem.Name;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Setting_Value))
|
||||
dipValue.Value = newItem.Value;
|
||||
|
||||
// Condition_* doesn't make sense here
|
||||
// since not every condition under the other item
|
||||
// can replace every condition under this item
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Replace fields with given values
|
||||
/// </summary>
|
||||
@@ -702,24 +784,6 @@ namespace SabreTools.Filtering
|
||||
instance.Name = newItem.Name;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Replace fields with given values
|
||||
/// </summary>
|
||||
/// <param name="location">Location to remove replace fields in</param>
|
||||
/// <param name="newItem">Location to pull new information from</param>
|
||||
/// <param name="datItemFields">List of fields representing what should be updated</param>
|
||||
private static void ReplaceFields(Location location, Location newItem, List<DatItemField> datItemFields)
|
||||
{
|
||||
if (datItemFields.Contains(DatItemField.Location_Inverted))
|
||||
location.Inverted = newItem.Inverted;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Location_Name))
|
||||
location.Name = newItem.Name;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Location_Number))
|
||||
location.Number = newItem.Number;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Replace fields with given values
|
||||
/// </summary>
|
||||
@@ -968,28 +1032,6 @@ namespace SabreTools.Filtering
|
||||
ReplaceFields(rom.Part, newItem.Part, datItemFields);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Replace fields with given values
|
||||
/// </summary>
|
||||
/// <param name="setting">Setting to remove replace fields in</param>
|
||||
/// <param name="newItem">Setting to pull new information from</param>
|
||||
/// <param name="datItemFields">List of fields representing what should be updated</param>
|
||||
private static void ReplaceFields(Setting setting, Setting newItem, List<DatItemField> datItemFields)
|
||||
{
|
||||
if (datItemFields.Contains(DatItemField.Setting_Default))
|
||||
setting.Default = newItem.Default;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Setting_Name))
|
||||
setting.Name = newItem.Name;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Setting_Value))
|
||||
setting.Value = newItem.Value;
|
||||
|
||||
// Condition_* doesn't make sense here
|
||||
// since not every condition under the other item
|
||||
// can replace every condition under this item
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Replace fields with given values
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user