Custom Filter Enhancement Final Phase
This commit is contained in:
@@ -406,4 +406,12 @@ Public Class clsGame
|
||||
Return sProcessName
|
||||
End Function
|
||||
|
||||
Public Shared Function SetSyncField(ByVal eSyncFields As eOptionalSyncFields, ByVal eSyncField As eOptionalSyncFields) As eOptionalSyncFields
|
||||
Return eSyncFields Or eSyncField
|
||||
End Function
|
||||
|
||||
Public Shared Function RemoveSyncField(ByVal eSyncFields As eOptionalSyncFields, ByVal eSyncField As eOptionalSyncFields) As eOptionalSyncFields
|
||||
Return eSyncFields And (Not eSyncField)
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
Public Class clsGameFilter
|
||||
|
||||
Private sID As String
|
||||
Private oField As clsGameFilterField
|
||||
Private oData As Object
|
||||
Private eNumericOperator As eNumericOperators = eNumericOperators.Equals
|
||||
Private bNextBoolOperator As Boolean
|
||||
|
||||
Public Enum eNumericOperators
|
||||
Equals = 1
|
||||
Greater = 2
|
||||
Lesser = 3
|
||||
GreaterEquals = 4
|
||||
LesserEquals = 5
|
||||
End Enum
|
||||
|
||||
Public Property ID As String
|
||||
Get
|
||||
Return sID
|
||||
End Get
|
||||
Set(value As String)
|
||||
sID = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property Field As clsGameFilterField
|
||||
Get
|
||||
Return oField
|
||||
End Get
|
||||
Set(value As clsGameFilterField)
|
||||
oField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property Data As Object
|
||||
Get
|
||||
Return oData
|
||||
End Get
|
||||
Set(value As Object)
|
||||
oData = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property NextBoolOperator As Boolean
|
||||
Get
|
||||
Return bNextBoolOperator
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
bNextBoolOperator = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property NumericOperator As eNumericOperators
|
||||
Get
|
||||
Return eNumericOperator
|
||||
End Get
|
||||
Set(value As eNumericOperators)
|
||||
eNumericOperator = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property NumericOperatorAsString As String
|
||||
Get
|
||||
Select Case eNumericOperator
|
||||
Case eNumericOperators.Equals
|
||||
Return "="
|
||||
Case eNumericOperators.Greater
|
||||
Return ">"
|
||||
Case eNumericOperators.GreaterEquals
|
||||
Return ">="
|
||||
Case eNumericOperators.Lesser
|
||||
Return "<"
|
||||
Case eNumericOperators.LesserEquals
|
||||
Return "<="
|
||||
Case Else
|
||||
Return String.Empty
|
||||
End Select
|
||||
End Get
|
||||
End Property
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,77 @@
|
||||
Public Class clsGameFilterField
|
||||
|
||||
Public Enum eDataType As Integer
|
||||
fString = 1
|
||||
fNumeric = 2
|
||||
fBool = 3
|
||||
End Enum
|
||||
|
||||
<Flags()> Public Enum eFieldStatus
|
||||
None = 0
|
||||
ValidFilter = 1
|
||||
ValidSort = 2
|
||||
End Enum
|
||||
|
||||
Private sFieldName As String
|
||||
Private sFriendlyFieldName As String
|
||||
Private eType As eDataType
|
||||
Private eStatus As eFieldStatus
|
||||
|
||||
Public Property FieldName As String
|
||||
Get
|
||||
Return sFieldName
|
||||
End Get
|
||||
Set(value As String)
|
||||
sFieldName = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property FriendlyFieldName As String
|
||||
Get
|
||||
Return sFriendlyFieldName
|
||||
End Get
|
||||
Set(value As String)
|
||||
sFriendlyFieldName = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property Type As eDataType
|
||||
Get
|
||||
Return eType
|
||||
End Get
|
||||
Set(value As eDataType)
|
||||
eType = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'This is a flag property - Setting a value will toggle that flag on and off.
|
||||
Public Property Status As eFieldStatus
|
||||
Get
|
||||
Return eStatus
|
||||
End Get
|
||||
Set(value As eFieldStatus)
|
||||
If (eStatus And value) = value Then
|
||||
eStatus = RemoveFieldStatus(value)
|
||||
Else
|
||||
eStatus = SetFieldStatus(value)
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Function SetFieldStatus(ByVal eFlag As eFieldStatus) As eFieldStatus
|
||||
Return eStatus Or eFlag
|
||||
End Function
|
||||
|
||||
Private Function RemoveFieldStatus(ByVal eFlag As eFieldStatus) As eFieldStatus
|
||||
Return eStatus And (Not eFlag)
|
||||
End Function
|
||||
|
||||
Public Function CheckStatus(ByVal eFlag As eFieldStatus) As Boolean
|
||||
If (eStatus And eFlag) = eFlag Then
|
||||
Return True
|
||||
Else
|
||||
Return False
|
||||
End If
|
||||
End Function
|
||||
|
||||
End Class
|
||||
Reference in New Issue
Block a user