DotNet 4.8.1 build of DotNetBar

This commit is contained in:
2025-02-07 10:35:23 -05:00
parent 33439b63a0
commit 6b0a5d60f4
2609 changed files with 989814 additions and 7 deletions

View File

@@ -0,0 +1,77 @@
#if FRAMEWORK20
using System;
using System.Collections.Generic;
using System.Text;
namespace DevComponents.Editors.Primitives
{
internal class StartsWithPredicate
{
private string _Prefix;
private int _MaxMatches = 0;
private int _MatchCount = 0;
// Initializes with prefix we want to match.
public StartsWithPredicate(string prefix)
{
_Prefix = prefix;
}
// Initializes with prefix we want to match.
public StartsWithPredicate(string prefix, int maxMatches)
{
_Prefix = prefix;
_MaxMatches = maxMatches;
}
// Sets a different prefix to match.
public string Prefix
{
get { return _Prefix; }
set { _Prefix = value; }
}
public void ResetMatchCount()
{
_MatchCount = 0;
}
public int MaxMatches
{
get { return _MaxMatches; }
set
{
_MaxMatches = value;
}
}
// Gets the predicate.
public Predicate<string> Match
{
get { return IsMatch; }
}
private bool IsMatch(string s)
{
return s.ToLower().StartsWith(_Prefix);
}
public Predicate<string> MatchTop
{
get
{
return IsMatchTop;
}
}
private bool IsMatchTop(string s)
{
if (_MatchCount > _MaxMatches) return false;
bool b = s.ToLower().StartsWith(_Prefix);
if (b && _MaxMatches > 0) _MatchCount++;
return b;
}
}
}
#endif