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