public FindAndReplace(EA.Repository rep, EA.Package pkg, string findString,
string replaceString,
bool isCaseSensitive, bool isRegularExpression, bool isIgnoreWhiteSpace,
bool isNameSearch, bool isDescriptionSearch, bool isStereotypeSearch, bool isTagSearch,
string taggedValueNames,
bool isPackageSearch, bool isElementSearch, bool isDiagramSearch,
bool isAttributeSearch, bool isOperationSearch
) {
_rep = rep;
_pkg = pkg;
_findString = findString;
_replaceString = replaceString;
_isRegularExpression = isRegularExpression;
_isCaseSensitive = isCaseSensitive;
_isIgnoreWhiteSpace = isIgnoreWhiteSpace;
if (isNameSearch) _searchFieldTypes = FindAndReplaceItem.FieldType.Name;
if (isDescriptionSearch) _searchFieldTypes = _searchFieldTypes | FindAndReplaceItem.FieldType.Description;
if (isTagSearch) _searchFieldTypes = _searchFieldTypes | FindAndReplaceItem.FieldType.Tag;
if (isStereotypeSearch) _searchFieldTypes = _searchFieldTypes | FindAndReplaceItem.FieldType.Stereotype;
// tagged value names
string s = taggedValueNames.Replace(' ',','); // remove blanks
_taggedValueNames = s.Split(new Char[] { ',', ';',':',' ' }, System.StringSplitOptions.RemoveEmptyEntries);
_isPackageSearch = isPackageSearch;
_isElementSearch = isElementSearch;
_isDiagramSearch = isDiagramSearch;
_isAttributeSearch = isAttributeSearch;
_isOperationSearch = isOperationSearch;
_isTagSearch = isTagSearch;
_regExPattern = PrepareRegexp();
_index = -1;
}
#endregion