~~NOTRANS~~ ~~Title: User Profiles and Filters~~ === Introduction === The User Profile AddOn saves your screen layout if you close a screen and restores everything if you open the same screen again. This works per user and global. It's possible to create default screen layouts for every user, and a specific user will use its own layout based on the global one. The AddOn also adds a new functionality to your tables: {{:visionx:profile_infodialog_web.png?nolink|}} A new button (? icon) will be added to the table. The dialog will show the table name, the number of records/rows, and all available columns. It's possible to hide or show specific columns with this dialog. The filter is a module and is bundled with user profiles. It allows the user to create custom filter conditions directly in the screen. Here's how this might look: {{:visionx:userfilter_web.png?nolink|}} The following conditions are available: * contains * not contains * starts with * not starts with * equals * not equals * between * not between * greater * less * greater or equals * less or equals It's possible to add as many conditions as you want and single conditions can be enabled or disabled. The customized filter can also be saved and loaded: {{:visionx:save_load_filter.png?nolink|}} Another feature is and/or grouping. Decide which option is combined with "and" or "or". === Customizing === The AddOn is designed to be customizable. The default settings and implementations can be modified.The AddOn contains the class ProfileUtil which offers a lot of useful methods, such as: setDefaultTableInformationDialogClass(IApplication app, Class clazz) This method set the class which should be used to show the table information dialog. It's possible to extend the existing class **TableInformationDialog**. It's also possible to change the table information dialog per Navigation table: setTableInformationDialogClass(NavigationTable table, Class clazz) It's also possible to hide the table information button: setDefaultShowTableInformationButton(IApplication app, boolean show) Check the available methods of **ProfileUtil** to find out more. Another feature is the definition of available column names in the table information dialog: databook.getRowDefinition().setColumnView(ITableInformationControl.class, new ColumnView(new String[] {...})); This statement defines a list of column names which will be shown in the table information dialog. === Full API documentation === [[https://doc.sibvisions.com/javadoc/userfilter/index.html|User Filter]] \\ [[https://doc.sibvisions.com/javadoc/profiles/index.html|Profiles]]