diff --git a/SabreTools.Library/DatItems/Adjuster.cs b/SabreTools.Library/DatItems/Adjuster.cs index 764176fc..81193924 100644 --- a/SabreTools.Library/DatItems/Adjuster.cs +++ b/SabreTools.Library/DatItems/Adjuster.cs @@ -182,11 +182,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; // Filter on item name diff --git a/SabreTools.Library/DatItems/Analog.cs b/SabreTools.Library/DatItems/Analog.cs index fcc9571e..00030424 100644 --- a/SabreTools.Library/DatItems/Analog.cs +++ b/SabreTools.Library/DatItems/Analog.cs @@ -92,31 +92,17 @@ namespace SabreTools.Library.DatItems #region Filtering - /// - /// Check to see if a DatItem passes the filter - /// - /// Filter to check against - /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) - { - return PassesFilter(filter, false); - } - /// /// Check to see if a DatItem passes the filter /// /// Filter to check against /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public bool PassesFilter(Filter filter, bool sub) + public override bool PassesFilter(Filter filter, bool sub = false) { - // If we're a top-level item, check common fields - if (!sub) - { - // Check common fields first - if (!base.PassesFilter(filter)) - return false; - } + // Check common fields first + if (!base.PassesFilter(filter, sub)) + return false; // Filter on mask if (!filter.PassStringFilter(filter.DatItem_Analog_Mask, Mask)) diff --git a/SabreTools.Library/DatItems/Archive.cs b/SabreTools.Library/DatItems/Archive.cs index 1d07e709..064e71b4 100644 --- a/SabreTools.Library/DatItems/Archive.cs +++ b/SabreTools.Library/DatItems/Archive.cs @@ -135,11 +135,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; // Filter on item name diff --git a/SabreTools.Library/DatItems/BiosSet.cs b/SabreTools.Library/DatItems/BiosSet.cs index 613eaee3..2034ef00 100644 --- a/SabreTools.Library/DatItems/BiosSet.cs +++ b/SabreTools.Library/DatItems/BiosSet.cs @@ -162,11 +162,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; // Filter on item name diff --git a/SabreTools.Library/DatItems/Chip.cs b/SabreTools.Library/DatItems/Chip.cs index 8f921355..7fd474b1 100644 --- a/SabreTools.Library/DatItems/Chip.cs +++ b/SabreTools.Library/DatItems/Chip.cs @@ -180,11 +180,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; // Filter on item name diff --git a/SabreTools.Library/DatItems/Condition.cs b/SabreTools.Library/DatItems/Condition.cs index 0b4c825e..6e38ddb7 100644 --- a/SabreTools.Library/DatItems/Condition.cs +++ b/SabreTools.Library/DatItems/Condition.cs @@ -161,24 +161,18 @@ namespace SabreTools.Library.DatItems #region Filtering - /// - /// Check to see if a DatItem passes the filter - /// - /// Filter to check against - /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) - { - return PassesFilter(filter, false); - } - /// /// Check to see if a DatItem passes the filter /// /// Filter to check against /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public bool PassesFilter(Filter filter, bool sub) + public override bool PassesFilter(Filter filter, bool sub = false) { + // Check common fields first + if (!base.PassesFilter(filter, sub)) + return false; + if (sub) { // Filter on tag @@ -201,10 +195,6 @@ namespace SabreTools.Library.DatItems } else { - // Check common fields first - if (!base.PassesFilter(filter)) - return false; - // Filter on tag if (!filter.PassStringFilter(filter.DatItem_Tag, Tag)) return false; diff --git a/SabreTools.Library/DatItems/Configuration.cs b/SabreTools.Library/DatItems/Configuration.cs index 5e2d51c3..1288f27f 100644 --- a/SabreTools.Library/DatItems/Configuration.cs +++ b/SabreTools.Library/DatItems/Configuration.cs @@ -247,11 +247,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; // Filter on item name diff --git a/SabreTools.Library/DatItems/Control.cs b/SabreTools.Library/DatItems/Control.cs index 6e264732..43c54f41 100644 --- a/SabreTools.Library/DatItems/Control.cs +++ b/SabreTools.Library/DatItems/Control.cs @@ -255,31 +255,17 @@ namespace SabreTools.Library.DatItems #region Filtering - /// - /// Check to see if a DatItem passes the filter - /// - /// Filter to check against - /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) - { - return PassesFilter(filter, false); - } - /// /// Check to see if a DatItem passes the filter /// /// Filter to check against /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public bool PassesFilter(Filter filter, bool sub) + public override bool PassesFilter(Filter filter, bool sub = false) { - // If we're a top-level item, check common fields - if (!sub) - { - // Check common fields first - if (!base.PassesFilter(filter)) - return false; - } + // Check common fields first + if (!base.PassesFilter(filter, sub)) + return false; // Filter on control type if (filter.DatItem_Control_Type.MatchesPositive(ControlType.NULL, ControlType) == false) diff --git a/SabreTools.Library/DatItems/DatItem.cs b/SabreTools.Library/DatItems/DatItem.cs index 50508050..eff0b372 100644 --- a/SabreTools.Library/DatItems/DatItem.cs +++ b/SabreTools.Library/DatItems/DatItem.cs @@ -721,16 +721,21 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public virtual bool PassesFilter(Filter filter) + public virtual bool PassesFilter(Filter filter, bool sub = false) { // Filter on machine fields if (!Machine.PassesFilter(filter)) return false; - // Filter on item type - if (!filter.PassStringFilter(filter.DatItem_Type, ItemType.ToString())) - return false; + // Filters for if we're a top-level item + if (!sub) + { + // Filter on item type + if (!filter.PassStringFilter(filter.DatItem_Type, ItemType.ToString())) + return false; + } return true; } diff --git a/SabreTools.Library/DatItems/DataArea.cs b/SabreTools.Library/DatItems/DataArea.cs index a7e7c484..338a8aee 100644 --- a/SabreTools.Library/DatItems/DataArea.cs +++ b/SabreTools.Library/DatItems/DataArea.cs @@ -178,31 +178,17 @@ namespace SabreTools.Library.DatItems } } - /// - /// Check to see if a DatItem passes the filter - /// - /// Filter to check against - /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) - { - return PassesFilter(filter, false); - } - /// /// Check to see if a DatItem passes the filter /// /// Filter to check against /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public bool PassesFilter(Filter filter, bool sub) + public override bool PassesFilter(Filter filter, bool sub = false) { - // If we're a top-level item, check common fields - if (!sub) - { - // Check common fields first - if (!base.PassesFilter(filter)) - return false; - } + // Check common fields first + if (!base.PassesFilter(filter, sub)) + return false; // Filter on area name if (!filter.PassStringFilter(filter.DatItem_AreaName, Name)) diff --git a/SabreTools.Library/DatItems/Device.cs b/SabreTools.Library/DatItems/Device.cs index c95f7b54..e1406c1c 100644 --- a/SabreTools.Library/DatItems/Device.cs +++ b/SabreTools.Library/DatItems/Device.cs @@ -214,11 +214,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; // Filter on device type diff --git a/SabreTools.Library/DatItems/DeviceReference.cs b/SabreTools.Library/DatItems/DeviceReference.cs index 0c2e61ed..b68ef830 100644 --- a/SabreTools.Library/DatItems/DeviceReference.cs +++ b/SabreTools.Library/DatItems/DeviceReference.cs @@ -135,11 +135,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; // Filter on item name diff --git a/SabreTools.Library/DatItems/DipSwitch.cs b/SabreTools.Library/DatItems/DipSwitch.cs index d1f08552..61cbb690 100644 --- a/SabreTools.Library/DatItems/DipSwitch.cs +++ b/SabreTools.Library/DatItems/DipSwitch.cs @@ -294,11 +294,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; #region Common diff --git a/SabreTools.Library/DatItems/Disk.cs b/SabreTools.Library/DatItems/Disk.cs index 24298748..d5907940 100644 --- a/SabreTools.Library/DatItems/Disk.cs +++ b/SabreTools.Library/DatItems/Disk.cs @@ -439,11 +439,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; #region Common diff --git a/SabreTools.Library/DatItems/DiskArea.cs b/SabreTools.Library/DatItems/DiskArea.cs index 88425f02..74758759 100644 --- a/SabreTools.Library/DatItems/DiskArea.cs +++ b/SabreTools.Library/DatItems/DiskArea.cs @@ -133,31 +133,17 @@ namespace SabreTools.Library.DatItems } } - /// - /// Check to see if a DatItem passes the filter - /// - /// Filter to check against - /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) - { - return PassesFilter(filter, false); - } - /// /// Check to see if a DatItem passes the filter /// /// Filter to check against /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public bool PassesFilter(Filter filter, bool sub) + public override bool PassesFilter(Filter filter, bool sub = false) { - // If we're a top-level item, check common fields - if (!sub) - { - // Check common fields first - if (!base.PassesFilter(filter)) - return false; - } + // Check common fields first + if (!base.PassesFilter(filter, sub)) + return false; // Filter on area name if (!filter.PassStringFilter(filter.DatItem_AreaName, Name)) diff --git a/SabreTools.Library/DatItems/Display.cs b/SabreTools.Library/DatItems/Display.cs index 96b09488..ea9f5d99 100644 --- a/SabreTools.Library/DatItems/Display.cs +++ b/SabreTools.Library/DatItems/Display.cs @@ -298,11 +298,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; // Filter on tag diff --git a/SabreTools.Library/DatItems/Driver.cs b/SabreTools.Library/DatItems/Driver.cs index f43c9786..163a9dc8 100644 --- a/SabreTools.Library/DatItems/Driver.cs +++ b/SabreTools.Library/DatItems/Driver.cs @@ -150,11 +150,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; // Filter on status diff --git a/SabreTools.Library/DatItems/Extension.cs b/SabreTools.Library/DatItems/Extension.cs index e3585593..919e7695 100644 --- a/SabreTools.Library/DatItems/Extension.cs +++ b/SabreTools.Library/DatItems/Extension.cs @@ -131,31 +131,17 @@ namespace SabreTools.Library.DatItems } } - /// - /// Check to see if a DatItem passes the filter - /// - /// Filter to check against - /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) - { - return PassesFilter(filter, false); - } - /// /// Check to see if a DatItem passes the filter /// /// Filter to check against /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public bool PassesFilter(Filter filter, bool sub) + public override bool PassesFilter(Filter filter, bool sub = false) { - // If we're a top-level item, check common fields - if (!sub) - { - // Check common fields first - if (!base.PassesFilter(filter)) - return false; - } + // Check common fields first + if (!base.PassesFilter(filter, sub)) + return false; // Filter on item name if (!filter.PassStringFilter(filter.DatItem_Extension_Name, Name)) diff --git a/SabreTools.Library/DatItems/Feature.cs b/SabreTools.Library/DatItems/Feature.cs index 493f3cff..4b6b2dee 100644 --- a/SabreTools.Library/DatItems/Feature.cs +++ b/SabreTools.Library/DatItems/Feature.cs @@ -132,11 +132,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; // Filter on type diff --git a/SabreTools.Library/DatItems/Info.cs b/SabreTools.Library/DatItems/Info.cs index fbb3ea37..4d5a83c9 100644 --- a/SabreTools.Library/DatItems/Info.cs +++ b/SabreTools.Library/DatItems/Info.cs @@ -146,11 +146,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; // Filter on item name diff --git a/SabreTools.Library/DatItems/Input.cs b/SabreTools.Library/DatItems/Input.cs index 5b28c30e..e4243599 100644 --- a/SabreTools.Library/DatItems/Input.cs +++ b/SabreTools.Library/DatItems/Input.cs @@ -178,11 +178,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; // Filter on service diff --git a/SabreTools.Library/DatItems/Instance.cs b/SabreTools.Library/DatItems/Instance.cs index abe14c03..163e64a5 100644 --- a/SabreTools.Library/DatItems/Instance.cs +++ b/SabreTools.Library/DatItems/Instance.cs @@ -142,31 +142,17 @@ namespace SabreTools.Library.DatItems } } - /// - /// Check to see if a DatItem passes the filter - /// - /// Filter to check against - /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) - { - return PassesFilter(filter, false); - } - /// /// Check to see if a DatItem passes the filter /// /// Filter to check against /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public bool PassesFilter(Filter filter, bool sub) + public override bool PassesFilter(Filter filter, bool sub = false) { - // If we're a top-level item, check common fields - if (!sub) - { - // Check common fields first - if (!base.PassesFilter(filter)) - return false; - } + // Check common fields first + if (!base.PassesFilter(filter, sub)) + return false; // Filter on item name if (!filter.PassStringFilter(filter.DatItem_Instance_Name, Name)) diff --git a/SabreTools.Library/DatItems/Location.cs b/SabreTools.Library/DatItems/Location.cs index 4d6eefb1..7cd14f54 100644 --- a/SabreTools.Library/DatItems/Location.cs +++ b/SabreTools.Library/DatItems/Location.cs @@ -161,31 +161,17 @@ namespace SabreTools.Library.DatItems } } - /// - /// Check to see if a DatItem passes the filter - /// - /// Filter to check against - /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) - { - return PassesFilter(filter, false); - } - /// /// Check to see if a DatItem passes the filter /// /// Filter to check against /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public bool PassesFilter(Filter filter, bool sub) + public override bool PassesFilter(Filter filter, bool sub = false) { - // If we're a top-level item, check common fields - if (!sub) - { - // Check common fields first - if (!base.PassesFilter(filter)) - return false; - } + // Check common fields first + if (!base.PassesFilter(filter, sub)) + return false; // Filter on item name if (!filter.PassStringFilter(filter.DatItem_Location_Name, Name)) diff --git a/SabreTools.Library/DatItems/Media.cs b/SabreTools.Library/DatItems/Media.cs index e21dc491..0f73eb69 100644 --- a/SabreTools.Library/DatItems/Media.cs +++ b/SabreTools.Library/DatItems/Media.cs @@ -336,11 +336,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; // Filter on item name diff --git a/SabreTools.Library/DatItems/Part.cs b/SabreTools.Library/DatItems/Part.cs index 396e40c9..d80b2311 100644 --- a/SabreTools.Library/DatItems/Part.cs +++ b/SabreTools.Library/DatItems/Part.cs @@ -169,31 +169,17 @@ namespace SabreTools.Library.DatItems } } - /// - /// Check to see if a DatItem passes the filter - /// - /// Filter to check against - /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) - { - return PassesFilter(filter, false); - } - /// /// Check to see if a DatItem passes the filter /// /// Filter to check against /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public bool PassesFilter(Filter filter, bool sub) + public override bool PassesFilter(Filter filter, bool sub = false) { - // If we're a top-level item, check common fields - if (!sub) - { - // Check common fields first - if (!base.PassesFilter(filter)) - return false; - } + // Check common fields first + if (!base.PassesFilter(filter, sub)) + return false; // Filter on part name if (!filter.PassStringFilter(filter.DatItem_Part_Name, Name)) diff --git a/SabreTools.Library/DatItems/PartFeature.cs b/SabreTools.Library/DatItems/PartFeature.cs index 68424179..eadc8fb7 100644 --- a/SabreTools.Library/DatItems/PartFeature.cs +++ b/SabreTools.Library/DatItems/PartFeature.cs @@ -142,31 +142,17 @@ namespace SabreTools.Library.DatItems } } - /// - /// Check to see if a DatItem passes the filter - /// - /// Filter to check against - /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) - { - return PassesFilter(filter, false); - } - /// /// Check to see if a DatItem passes the filter /// /// Filter to check against /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public bool PassesFilter(Filter filter, bool sub) + public override bool PassesFilter(Filter filter, bool sub = false) { - // If we're a top-level item, check common fields - if (!sub) - { - // Check common fields first - if (!base.PassesFilter(filter)) - return false; - } + // Check common fields first + if (!base.PassesFilter(filter, sub)) + return false; // Filter on name if (!filter.PassStringFilter(filter.DatItem_Part_Feature_Name, Name)) diff --git a/SabreTools.Library/DatItems/Port.cs b/SabreTools.Library/DatItems/Port.cs index f51daaf3..954dc51d 100644 --- a/SabreTools.Library/DatItems/Port.cs +++ b/SabreTools.Library/DatItems/Port.cs @@ -128,11 +128,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; // Filter on tag diff --git a/SabreTools.Library/DatItems/RamOption.cs b/SabreTools.Library/DatItems/RamOption.cs index bc57b4f4..52601c5d 100644 --- a/SabreTools.Library/DatItems/RamOption.cs +++ b/SabreTools.Library/DatItems/RamOption.cs @@ -160,11 +160,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; // Filter on item name diff --git a/SabreTools.Library/DatItems/Release.cs b/SabreTools.Library/DatItems/Release.cs index 88a914c1..d707adb6 100644 --- a/SabreTools.Library/DatItems/Release.cs +++ b/SabreTools.Library/DatItems/Release.cs @@ -190,11 +190,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; // Filter on item name diff --git a/SabreTools.Library/DatItems/Rom.cs b/SabreTools.Library/DatItems/Rom.cs index 9ac85e36..ea1b21aa 100644 --- a/SabreTools.Library/DatItems/Rom.cs +++ b/SabreTools.Library/DatItems/Rom.cs @@ -803,11 +803,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; #region Common diff --git a/SabreTools.Library/DatItems/Sample.cs b/SabreTools.Library/DatItems/Sample.cs index 8858145e..3ecab9ed 100644 --- a/SabreTools.Library/DatItems/Sample.cs +++ b/SabreTools.Library/DatItems/Sample.cs @@ -135,11 +135,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; // Filter on item name diff --git a/SabreTools.Library/DatItems/Setting.cs b/SabreTools.Library/DatItems/Setting.cs index 8b440ecf..4646dbc2 100644 --- a/SabreTools.Library/DatItems/Setting.cs +++ b/SabreTools.Library/DatItems/Setting.cs @@ -190,31 +190,17 @@ namespace SabreTools.Library.DatItems } } - /// - /// Check to see if a DatItem passes the filter - /// - /// Filter to check against - /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) - { - return PassesFilter(filter, false); - } - /// /// Check to see if a DatItem passes the filter /// /// Filter to check against /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public bool PassesFilter(Filter filter, bool sub) + public override bool PassesFilter(Filter filter, bool sub = false) { - // If we're a top-level item, check common fields - if (!sub) - { - // Check common fields first - if (!base.PassesFilter(filter)) - return false; - } + // Check common fields first + if (!base.PassesFilter(filter, sub)) + return false; // Filter on item name if (!filter.PassStringFilter(filter.DatItem_Setting_Name, Name)) diff --git a/SabreTools.Library/DatItems/SharedFeature.cs b/SabreTools.Library/DatItems/SharedFeature.cs index e0e79721..9faf07c0 100644 --- a/SabreTools.Library/DatItems/SharedFeature.cs +++ b/SabreTools.Library/DatItems/SharedFeature.cs @@ -146,11 +146,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; // Filter on item name diff --git a/SabreTools.Library/DatItems/Slot.cs b/SabreTools.Library/DatItems/Slot.cs index 4a9a9c17..59e3823b 100644 --- a/SabreTools.Library/DatItems/Slot.cs +++ b/SabreTools.Library/DatItems/Slot.cs @@ -167,11 +167,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; // Filter on item name diff --git a/SabreTools.Library/DatItems/SlotOption.cs b/SabreTools.Library/DatItems/SlotOption.cs index ffc19c3d..fec66cfc 100644 --- a/SabreTools.Library/DatItems/SlotOption.cs +++ b/SabreTools.Library/DatItems/SlotOption.cs @@ -158,31 +158,17 @@ namespace SabreTools.Library.DatItems } } - /// - /// Check to see if a DatItem passes the filter - /// - /// Filter to check against - /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) - { - return PassesFilter(filter, false); - } - /// /// Check to see if a DatItem passes the filter /// /// Filter to check against /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public bool PassesFilter(Filter filter, bool sub) + public override bool PassesFilter(Filter filter, bool sub = false) { - // If we're a top-level item, check common fields - if (!sub) - { - // Check common fields first - if (!base.PassesFilter(filter)) - return false; - } + // Check common fields first + if (!base.PassesFilter(filter, sub)) + return false; // Filter on item name if (!filter.PassStringFilter(filter.DatItem_SlotOption_Name, Name)) diff --git a/SabreTools.Library/DatItems/SoftwareList.cs b/SabreTools.Library/DatItems/SoftwareList.cs index 8acbef0b..992829a2 100644 --- a/SabreTools.Library/DatItems/SoftwareList.cs +++ b/SabreTools.Library/DatItems/SoftwareList.cs @@ -164,11 +164,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; // Filter on item name diff --git a/SabreTools.Library/DatItems/Sound.cs b/SabreTools.Library/DatItems/Sound.cs index fd79768c..ea4d5e95 100644 --- a/SabreTools.Library/DatItems/Sound.cs +++ b/SabreTools.Library/DatItems/Sound.cs @@ -101,11 +101,12 @@ namespace SabreTools.Library.DatItems /// Check to see if a DatItem passes the filter /// /// Filter to check against + /// True if this is a subitem, false otherwise /// True if the item passed the filter, false otherwise - public override bool PassesFilter(Filter filter) + public override bool PassesFilter(Filter filter, bool sub = false) { // Check common fields first - if (!base.PassesFilter(filter)) + if (!base.PassesFilter(filter, sub)) return false; // Filter on channels