1
This commit is contained in:
@@ -3,7 +3,24 @@ using System.Collections.Generic;
|
||||
|
||||
namespace BITKit
|
||||
{
|
||||
public class ValidHandle
|
||||
public interface IValidHandle
|
||||
{
|
||||
bool Allow { get; }
|
||||
void AddElement(object obj);
|
||||
void RemoveElement(object obj);
|
||||
void AddDisableElements(object obj);
|
||||
void RemoveDisableElements(object obj);
|
||||
void SetElements(object obj, bool add = true);
|
||||
void SetDisableElements(object obj, bool add = true);
|
||||
void Invoke();
|
||||
void Invoke(bool value);
|
||||
void AddListener(Action<bool> action);
|
||||
void RemoveListener(Action<bool> action);
|
||||
void Clear();
|
||||
}
|
||||
|
||||
[CustomType(typeof(IValidHandle))]
|
||||
public sealed class ValidHandle: IValidHandle
|
||||
{
|
||||
public ValidHandle() {}
|
||||
public ValidHandle(Action<bool> boolDelegate)
|
||||
@@ -24,7 +41,7 @@ namespace BITKit
|
||||
private bool tempEnable;
|
||||
private Action<bool> EventOnEnableChanged;
|
||||
|
||||
public virtual void AddElement(object obj)
|
||||
public void AddElement(object obj)
|
||||
{
|
||||
if (objs.Contains(obj))
|
||||
{
|
||||
@@ -36,7 +53,8 @@ namespace BITKit
|
||||
}
|
||||
CheckEnable();
|
||||
}
|
||||
protected void CheckEnable()
|
||||
|
||||
private void CheckEnable()
|
||||
{
|
||||
tempEnable = objs.Count > 0 && disableObjs.Count == 0;
|
||||
if (tempEnable != enableHandle)
|
||||
@@ -46,7 +64,7 @@ namespace BITKit
|
||||
EventOnEnableChanged.Invoke(enableHandle);
|
||||
}
|
||||
}
|
||||
public virtual void RemoveElement(object obj)
|
||||
public void RemoveElement(object obj)
|
||||
{
|
||||
if (objs.Contains(obj))
|
||||
{
|
||||
@@ -58,8 +76,8 @@ namespace BITKit
|
||||
}
|
||||
CheckEnable();
|
||||
}
|
||||
public virtual int lenght => objs.Count;
|
||||
public virtual string[] GetElements()
|
||||
public int lenght => objs.Count;
|
||||
public string[] GetElements()
|
||||
{
|
||||
List<string> elementNames = new List<string>();
|
||||
for (int i = 0; i < objs.Count; i++)
|
||||
@@ -68,8 +86,8 @@ namespace BITKit
|
||||
}
|
||||
return elementNames.ToArray();
|
||||
}
|
||||
public virtual bool Contains(object obj) => objs.Contains(obj);
|
||||
public virtual void AddDisableElements(object obj)
|
||||
public bool Contains(object obj) => objs.Contains(obj);
|
||||
public void AddDisableElements(object obj)
|
||||
{
|
||||
if (disableObjs.Contains(obj))
|
||||
{
|
||||
@@ -103,7 +121,7 @@ namespace BITKit
|
||||
RemoveElement(obj);
|
||||
}
|
||||
}
|
||||
public virtual void SetDisableElements(object obj, bool add = true)
|
||||
public void SetDisableElements(object obj, bool add = true)
|
||||
{
|
||||
if (add)
|
||||
{
|
||||
|
Reference in New Issue
Block a user