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

In This Topic
    FunctionsFilter Class
    In This Topic
    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 
    public ref class FunctionsFilter : public 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 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 the filter's category  
    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 StorableObjects 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