Author: kmorin Date: 2013-02-26 16:05:16 +0100 (Tue, 26 Feb 2013) New Revision: 2574 Url: http://nuiton.org/projects/jaxx/repository/revisions/2574 Log: fixes #2535 Add filter and sorted on the BeanDoubleList widget Added: trunk/jaxx-demo/src/main/resources/icons/action-filter.png Modified: trunk/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/BeanDoubleListDemo.css trunk/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/BeanDoubleListDemo.jaxx trunk/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/BeanDoubleListDemoHandler.java trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_en_GB.properties trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_es_ES.properties trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_fr_FR.properties Modified: trunk/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/BeanDoubleListDemo.css =================================================================== --- trunk/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/BeanDoubleListDemo.css 2013-02-26 15:04:47 UTC (rev 2573) +++ trunk/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/BeanDoubleListDemo.css 2013-02-26 15:05:16 UTC (rev 2574) @@ -40,6 +40,11 @@ selected: true; } +#filterOnNachoButton { + text: "jaxxdemo.beandoublelistdemo.filterOnNacho"; + selected: false; +} + #doubleList { i18nPrefix: "jaxxdemo.common."; filterable: {filterableButton.isSelected()}; Modified: trunk/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/BeanDoubleListDemo.jaxx =================================================================== --- trunk/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/BeanDoubleListDemo.jaxx 2013-02-26 15:04:47 UTC (rev 2573) +++ trunk/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/BeanDoubleListDemo.jaxx 2013-02-26 15:05:16 UTC (rev 2574) @@ -37,6 +37,7 @@ <JCheckBox id='filterableButton'/> <JCheckBox id='showResetButton'/> <JCheckBox id='showDecoratorButton'/> + <JCheckBox id='filterOnNachoButton'/> </JPanel> </cell> </row> Modified: trunk/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/BeanDoubleListDemoHandler.java =================================================================== --- trunk/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/BeanDoubleListDemoHandler.java 2013-02-26 15:04:47 UTC (rev 2573) +++ trunk/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/BeanDoubleListDemoHandler.java 2013-02-26 15:05:16 UTC (rev 2574) @@ -28,13 +28,16 @@ * #L% */ +import com.google.common.base.Predicate; +import java.util.List; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; import jaxx.demo.entities.DemoDataProvider; import jaxx.demo.entities.DemoDecoratorProvider; +import jaxx.demo.entities.Movie; import jaxx.demo.entities.People; import org.nuiton.util.decorator.JXPathDecorator; -import java.util.List; - /** @author kmorin */ public class BeanDoubleListDemoHandler { @@ -45,9 +48,30 @@ } public void init() { - List<People> data = new DemoDataProvider().getPeoples(); + DemoDataProvider demoDataProvider = new DemoDataProvider(); + List<People> data = demoDataProvider.getPeoples(); JXPathDecorator<People> decorator = (JXPathDecorator<People>) new DemoDecoratorProvider().getDecoratorByType(People.class); - this.ui.getDoubleList().init(decorator, data, data.subList(0, 1)); + ui.getDoubleList().init(decorator, data, data.subList(0, 1)); + + final Movie nacho = demoDataProvider.getMovie("0"); + final Predicate<People> filter = new Predicate<People>() { + + public boolean apply(People input) { + return nacho.getActors().contains(input); + } + }; + ui.getFilterOnNachoButton().addChangeListener(new ChangeListener() { + + public void stateChanged(ChangeEvent e) { + if (ui.getFilterOnNachoButton().isSelected()) { + ui.getDoubleList().getHandler().addFilter(filter); + + } else { + ui.getDoubleList().getHandler().clearFilters(); + } + } + }); + } } Modified: trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_en_GB.properties =================================================================== --- trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_en_GB.properties 2013-02-26 15:04:47 UTC (rev 2573) +++ trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_en_GB.properties 2013-02-26 15:05:16 UTC (rev 2574) @@ -176,6 +176,7 @@ jaxxdemo.beancomboboxdemo.showDecorator=Show decorator button jaxxdemo.beancomboboxdemo.showReset=Show Reset button jaxxdemo.beandoublelistdemo.configuration=Configuration +jaxxdemo.beandoublelistdemo.filterOnNacho=Show only the actors playing in Nacho Libre jaxxdemo.beandoublelistdemo.filterable=Filterable jaxxdemo.beandoublelistdemo.showDecorator=Show decorator button jaxxdemo.beandoublelistdemo.showReset=Show Reset button Modified: trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_es_ES.properties =================================================================== --- trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_es_ES.properties 2013-02-26 15:04:47 UTC (rev 2573) +++ trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_es_ES.properties 2013-02-26 15:05:16 UTC (rev 2574) @@ -176,6 +176,7 @@ jaxxdemo.beancomboboxdemo.showDecorator= jaxxdemo.beancomboboxdemo.showReset= jaxxdemo.beandoublelistdemo.configuration= +jaxxdemo.beandoublelistdemo.filterOnNacho= jaxxdemo.beandoublelistdemo.filterable= jaxxdemo.beandoublelistdemo.showDecorator= jaxxdemo.beandoublelistdemo.showReset= Modified: trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_fr_FR.properties =================================================================== --- trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_fr_FR.properties 2013-02-26 15:04:47 UTC (rev 2573) +++ trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo_fr_FR.properties 2013-02-26 15:05:16 UTC (rev 2574) @@ -176,6 +176,7 @@ jaxxdemo.beancomboboxdemo.showDecorator=Changer la décoration jaxxdemo.beancomboboxdemo.showReset=Pouvoir réinitialiser jaxxdemo.beandoublelistdemo.configuration=Configuration +jaxxdemo.beandoublelistdemo.filterOnNacho=N'afficher que les acteurs de Nacho Libre jaxxdemo.beandoublelistdemo.filterable=Filtrable jaxxdemo.beandoublelistdemo.showDecorator=Changer la décoration jaxxdemo.beandoublelistdemo.showReset=Pouvoir réinitialiser le filtre Added: trunk/jaxx-demo/src/main/resources/icons/action-filter.png =================================================================== (Binary files differ) Property changes on: trunk/jaxx-demo/src/main/resources/icons/action-filter.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream