API Help
Eplan.EplApi.DataModel Namespace / FunctionsFilter Class
Members Example

FunctionsFilter Class
This class represents filter of Function and derived from it classes. The FunctionsFilter can be accessed as a property of a Page object or can be used as a parameter for DMObjectsFinder. Setting more than one criterion of matching the filter (for \example Page that the matching function must be placed on, and the matching functions category, causes that returned functions must match both conditions.
Inheritance Hierarchy

System.Object
   Eplan.EplApi.DataModel.AbstractDMObjectFilter
      Eplan.EplApi.DataModel.StorableObjectsFilter
         Eplan.EplApi.DataModel.PlacementsFilter
            Eplan.EplApi.DataModel.FunctionsFilter

Syntax
public class FunctionsFilter : PlacementsFilter 
Example
Project proj;//a valid project
Page p;//a valid page object

p.Filter.Category = Function.Enums.Category.MOTOR;

//now we have all functions having category 'MOTOR' placed on page p
Function[] functions = p.Functions;

//other way to do the same:
FunctionFilter ff = new FunctionFilter();
ff.Category = Function.Enums.Category.MOTOR;
ff.Page = p;
DMObjectsFinder objFinder = DMObjectsFinder(proj);

//now we have all functions having category 'MOTOR' placed on page p
functions = objFinder.GetFunctions(ff);
The following example shows how to filter by user-defined properties
MultiLangString mlsTestValue = new MultiLangString();
mlsTestValue.AddString(ISOCode.Language.L_de_DE, "Test043c");
string strPropertyIdentyfingName = "Page.Test043c";
UserDefinedPropertyDefinition oUDPD = UserDefinedPropertyDefinition.Create(m_oProject, strPropertyIdentyfingName, UserDefinedPropertyDefinition.Enums.ClientType.Page);

//set test property
Page oPage = m_oProject.Pages[0];
oPage.Properties[strPropertyIdentyfingName] = mlsTestValue;

//search page with property value
DMObjectsFinder oFinder = new DMObjectsFinder(m_oProject);
PagesFilter oPagesFilter = new PagesFilter();
PagePropertyList oPagePropertyList = new PagePropertyList();
AnyPropertyId oAnyPropertyId = new AnyPropertyId(m_oProject, strPropertyIdentyfingName);
oPagePropertyList[oAnyPropertyId] = mlsTestValue;
oPagesFilter.SetFilteredPropertyList(oPagePropertyList);
Page[] arrPages1 = oFinder.GetPages(oPagesFilter);

Public Constructors
 NameDescription
Public ConstructorOverloaded.   
Top
Public Properties
 NameDescription
Public PropertyGets/Sets the Category that was set to this filter.  
Public PropertyGets/Sets if the filtered function, when is filtered by name, should be matched exactly, it means that if searched name is only its name' prefix, it is not matching to the filter. Dafault this property is false.  
Public PropertyGets/Sets if the filtered function should be placed (i.e. should be located on a valid page).  
Public PropertyGets/Sets the name that was set to this filter.  
Public PropertyOverridden. Sets the Page that StorableObjects matching the filter must be placed on.  
Top
Public Methods
 NameDescription
Public MethodDestructor for deterministic finalization of FunctionFilter object. (Inherited from Eplan.EplApi.DataModel.AbstractDMObjectFilter)
Public MethodOverridden. Resets the filter. Filter matches all Functions then.  
Public MethodOverloaded. Sets the FunctionBasePropertyList that Functions matching the filter must have.  
Public MethodOverloaded. Sets the FunctionBasePropertyList that identifies the matching Functions.  
Top
See Also