UI-Filter (Oberflächenfilter)
Mit UI-Filtern kann die Oberfläche der Anwendung eingeschränkt werden.
Oberflächenelemente können ausgeblendet und deaktiviert werden.
Ferner können Validatoren und Marker gefiltert werden.
UI-Filter können über den Extension-Point org.eclipse.rienaui.filter.uiFilters vordefiniert werden:
<extension point="org.eclipse.riena.ui.filter.uiFilters"> <filter filterId="mybuttonfilter"> <nodeId id="/application"/> <ruleMarkerRidget marker="hidden" ridgetId="*clickMeButtonId"/> </filter> </extension>
Das * direkt vor der Button-Id erspart einem übrigens die eigentlich nötige Pfadangabe (natürlich muss die Id dann systemweit eindeutig sein).
In einem View wird unter anderem der Button mit der Id erstellt:
public class MyView extends SubModuleView { @Override protected void basicCreatePartControl(Composite parent) { // ... UIControlsFactory.createButton(parent, "Klick mich", "clickMeButtonId"); //... } }
Ein vordefinierter Filter kann dann in einem Controller verwendet werden:
public class MyController extends SubModuleController { @Override public void configureRidgets() { super.configureRidgets(); // ... // Filter aktivieren: IUIFilterProvider provider = Service.get(Activator.getDefault().getContext(), IUIFilterProvider.class); IUIFilter filter = provider.provideFilter("mybuttonfilter").getFilter(); getNavigationNode().addFilter(filter); } }