diff --git a/MLEM.Ui/Elements/Button.cs b/MLEM.Ui/Elements/Button.cs
index 92a38e1..2fd17bd 100644
--- a/MLEM.Ui/Elements/Button.cs
+++ b/MLEM.Ui/Elements/Button.cs
@@ -63,9 +63,14 @@ namespace MLEM.Ui.Elements {
this.Text.TruncateIfLong = value;
}
}
+ ///
+ /// Whether this button should be able to be selected even if it .
+ /// If this is true, will be able to return true even if is true.
+ ///
+ public bool CanSelectDisabled;
///
- public override bool CanBeSelected => base.CanBeSelected && !this.IsDisabled;
+ public override bool CanBeSelected => base.CanBeSelected && (this.CanSelectDisabled || !this.IsDisabled);
///
public override bool CanBePressed => base.CanBePressed && !this.IsDisabled;
diff --git a/MLEM.Ui/Elements/Checkbox.cs b/MLEM.Ui/Elements/Checkbox.cs
index 99c0583..b371a26 100644
--- a/MLEM.Ui/Elements/Checkbox.cs
+++ b/MLEM.Ui/Elements/Checkbox.cs
@@ -67,9 +67,14 @@ namespace MLEM.Ui.Elements {
/// An event that is invoked when this checkbox's property changes
///
public CheckStateChange OnCheckStateChange;
+ ///
+ /// Whether this checkbox should be able to be selected even if it .
+ /// If this is true, will be able to return true even if is true.
+ ///
+ public bool CanSelectDisabled;
///
- public override bool CanBeSelected => base.CanBeSelected && !this.IsDisabled;
+ public override bool CanBeSelected => base.CanBeSelected && (this.CanSelectDisabled || !this.IsDisabled);
///
public override bool CanBePressed => base.CanBePressed && !this.IsDisabled;