filtertable.h
Go to the documentation of this file.
1 /*--------------------------------------------------------------------------------------+
2 |
3 | Supplied under applicable software license agreement.
4 |
5 | Copyright (c) 2018 Bentley Systems, Incorporated. All rights reserved.
6 |
7 +---------------------------------------------------------------------------------------*/
8 #pragma once
9 
10 #include "mselems.h"
11 #include <Mstn\MstnDefs.h>
12 #include <Mstn\MicroStation.r.h>
13 
14 /*----------------------------------------------------------------------+
15 | |
16 | Defines |
17 | |
18 +----------------------------------------------------------------------*/
23 {
38 };
39 
43 #define FILTER_NULL_ID 0xffffffff
44 #define FILTER_NULL_ID_STRING L"null"
45 
49 #define FILTER_TYPE_UNKNOWN 0
50 #define FILTER_TYPE_SYSTEM 1
51 #define FILTER_TYPE_USER 2
52 
53 #define FILTER_MEMBER_TYPE_NULL 0
54 #define FILTER_MEMBER_TYPE_SHORT 1
55 #define FILTER_MEMBER_TYPE_INT 2
56 #define FILTER_MEMBER_TYPE_BOOL 3
57 //#define FILTER_MEMBER_TYPE_CHAR 4 // Not Supported
58 #define FILTER_MEMBER_TYPE_WCHAR 5
59 #define FILTER_MEMBER_TYPE_DOUBLE 6
60 #define FILTER_MEMBER_TYPE_TIME 7
61 #define FILTER_MEMBER_TYPE_UINT 8
62 #define FILTER_MEMBER_TYPE_COLOR 9
63 #define FILTER_MEMBER_TYPE_STYLE 10
64 
65 #define FILTER_STRING_EXPRESSION_TYPE_REGULAR 1
66 #define FILTER_STRING_EXPRESSION_TYPE_DOS 2
67 #define FILTER_STRING_EXPRESSION_TYPE_FIND 3
68 
72 #define FILTER_MEMBER_COMPOSE L"filter-compose"
73 #define FILTER_MEMBER_COMPOSE_ID 1
74 
75 #define FILTER_COUNT_TYPE_ALL 1
76 #define FILTER_COUNT_TYPE_ROOT 2
77 
78 #define FILTER_ITERATE_TYPE_ALL_FILTERS 1L<<0
79 #define FILTER_ITERATE_TYPE_ROOT_FILTERS 1L<<1
80 #define FILTER_ITERATE_TYPE_CHILD_FILTERS 1L<<2
81 
82 #define FILTER_ITERATE_TYPE_SYSTEM_FILTERS 1L<<3
83 #define FILTER_ITERATE_TYPE_USER_FILTERS 1L<<4
84 
85 #define FILTER_ITERATE_ORDER_BY_ID 1
86 #define FILTER_ITERATE_ORDER_BY_NAME 2
87 
92  {
95  };
96 
97 /* Filter Expression Error Codes */
98 #define FILTER_EXPRESSION_ERROR_NOT_ENOUGH_OPERATORS 101
99 #define FILTER_EXPRESSION_ERROR_INVALID_OPERATOR 102
100 #define FILTER_EXPRESSION_ERROR_TOO_MANY_OPERANDS 103
101 #define FILTER_EXPRESSION_ERROR_INVALID_CLASS_CHAR 104
102 #define FILTER_EXPRESSION_ERROR_INVALID_CLASS_CHAR_AFTER_BACK_SLASH 105
103 #define FILTER_EXPRESSION_ERROR_CANNOT_FIND_CLOSE_BRACE 106
104 #define FILTER_EXPRESSION_ERROR_NULL_CLASS_STRING 107
105 #define FILTER_EXPRESSION_ERROR_INVALID_REPETITION_CHAR_POSITION 108
106 #define FILTER_EXPRESSION_ERROR_INVALID_MODIFIER 109
107 #define FILTER_EXPRESSION_ERROR_INVALID_MODIFIER_CHAR_POSITION 110
108 #define FILTER_EXPRESSION_ERROR_INVALID_BACK_SLASH_POSITION 111
109 #define FILTER_EXPRESSION_ERROR_OPEN_BRACE_WITHOUT_CLOSE_BRACE 112
110 #define FILTER_EXPRESSION_ERROR_CLOSE_BRACE_WITHOUT_OPEN_BRACE 113
111 #define FILTER_EXPRESSION_ERROR_NO_MATCHING_DOUBLE_QUOTE 114
112 #define FILTER_EXPRESSION_ERROR_INVALID_INDICATOR 115
113 #define FILTER_EXPRESSION_ERROR_INVALID_INTEGER 116
114 #define FILTER_EXPRESSION_ERROR_INVALID_DOUBLE 117
115 #define FILTER_EXPRESSION_ERROR_INVALID_TIME 118
116 
117 /*----------------------------------------------------------------------+
118 | |
119 | Typedefs |
120 | |
121 +----------------------------------------------------------------------*/
122 
123 typedef union filterValue
124  {
126  short shortValue;
130  long longValue;
132  double doubleValue;
135  double timeValue;
136  } FilterValue;
137 
138 typedef struct filterIterator * FilterIteratorP;
139 
140 
wchar_t * WCharP
Definition: Bentley.h:225
unsigned int UInt
Definition: Bentley.r.h:140
UInt uintValue
Definition: filtertable.h:128
long longValue
Definition: filtertable.h:130
Definition: filtertable.h:30
uint16_t UInt16
Definition: Bentley.r.h:118
UInt16 uint16Value
Definition: filtertable.h:125
bool booleanValue
Definition: filtertable.h:134
short shortValue
Definition: filtertable.h:126
Definition: filtertable.h:25
UInt32 uint32Value
Definition: filtertable.h:127
Definition: filtertable.h:123
FilterLibraryFormat
Filter Library Format Defines.
Definition: filtertable.h:91
Definition: filtertable.h:29
uint32_t UInt32
Definition: Bentley.r.h:128
Definition: filtertable.h:26
Definition: filtertable.h:28
Definition: filtertable.h:37
Definition: filtertable.h:34
Definition: filtertable.h:33
Definition: filtertable.h:93
Definition: filtertable.h:36
int integerValue
Definition: filtertable.h:131
Definition: filtertable.h:31
Definition: filtertable.h:94
UInt32 ulongValue
Definition: filtertable.h:129
FilterChangeType
Filter Change Defines.
Definition: filtertable.h:22
Definition: filtertable.h:32
double timeValue
Definition: filtertable.h:135
Definition: filtertable.h:35
Definition: filtertable.h:24
double doubleValue
Definition: filtertable.h:132
union filterValue FilterValue
struct filterIterator * FilterIteratorP
Definition: filtertable.h:138
WCharP pWCharValue
Definition: filtertable.h:133
Definition: filtertable.h:27

Copyright © 2017 Bentley Systems, Incorporated. All rights reserved.