From scm@users.nuiton.org Fri Nov 28 12:38:27 2014 From: "nuiton.org scm" To: jaxx-commits@list.nuiton.org Subject: [Jaxx-commits] 01/01: fixes #3580: Introduce a new FilterableDoubleList widget Date: Fri, 28 Nov 2014 12:38:26 +0000 Message-ID: <20141128123827.383AD5C61AB@goh.codelutin.com> In-Reply-To: <20141128123825.10554.80306@bihar.codelutin.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2702757041508285156==" --===============2702757041508285156== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository jaxx. See http://git.nuiton.org/jaxx.git commit 9a8bdfdcee261c2e3ccf340c74fa1b45a6ef7767 Author: Tony CHEMIT Date: Fri Nov 28 13:38:20 2014 +0100 fixes #3580: Introduce a new FilterableDoubleList widget --- .../jaxx/editor/FilterableDoubleListDemo.css | 15 +++-- .../jaxx/editor/FilterableDoubleListDemo.jaxx | 10 +++- .../editor/FilterableDoubleListDemoHandler.java | 65 ++++++++++++++------= -- .../jaxx/editor/FilterableDoubleListDemoModel.java | 30 ++++++++++ .../main/resources/i18n/jaxx-demo_en_GB.properties | 2 + .../main/resources/i18n/jaxx-demo_es_ES.properties | 2 + .../main/resources/i18n/jaxx-demo_fr_FR.properties | 2 + .../editor/bean/FilterableDoubleListModel.java | 2 + 8 files changed, 97 insertions(+), 31 deletions(-) diff --git a/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/Filterab= leDoubleListDemo.css b/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/edito= r/FilterableDoubleListDemo.css index 226397e..558dd9e 100644 --- a/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/FilterableDoubl= eListDemo.css +++ b/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/FilterableDoubl= eListDemo.css @@ -43,15 +43,20 @@ selected: true; } =20 -#filterOnNachoButton { - text: "jaxxdemo.beandoublelistdemo.filterOnNacho"; - selected: false; -} - #doubleList { + property:"selected"; + bean:{model}; i18nPrefix: "jaxxdemo.common."; filterable: {filterableButton.isSelected()}; showReset: {showResetButton.isSelected()}; showDecorator: {showDecoratorButton.isSelected()}; highlightFilterText: {highlightFilterTextButton.isSelected()}; + selected:{model.getSelected()}; } + +#result { + text: {handler.updateResultText(model.getSelected())}; + contentType: "text/html"; + editable: false; +} + diff --git a/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/Filterab= leDoubleListDemo.jaxx b/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/edit= or/FilterableDoubleListDemo.jaxx index f0238d2..3fdb6ea 100644 --- a/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/FilterableDoubl= eListDemo.jaxx +++ b/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/FilterableDoubl= eListDemo.jaxx @@ -26,6 +26,8 @@ org.nuiton.jaxx.widgets.editor.bean.FilterableDoubleList =20 + + @@ -34,15 +36,19 @@ - - + + + + + +
=20 diff --git a/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/Filterab= leDoubleListDemoHandler.java b/jaxx-demo/src/main/java/jaxx/demo/component/ja= xx/editor/FilterableDoubleListDemoHandler.java index 104862f..cbbf467 100644 --- a/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/FilterableDoubl= eListDemoHandler.java +++ b/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/FilterableDoubl= eListDemoHandler.java @@ -1,18 +1,16 @@ package jaxx.demo.component.jaxx.editor; =20 -import com.google.common.base.Predicate; import jaxx.demo.entities.DemoDataProvider; import jaxx.demo.entities.DemoDecoratorProvider; -import jaxx.demo.entities.Movie; import jaxx.demo.entities.People; import jaxx.runtime.spi.UIHandler; import org.nuiton.decorator.JXPathDecorator; import org.nuiton.jaxx.widgets.editor.bean.FilterableDoubleList; =20 -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; import java.util.List; =20 +import static org.nuiton.i18n.I18n.t; + /** * Created on 11/28/14. * @@ -21,40 +19,59 @@ import java.util.List; */ public class FilterableDoubleListDemoHandler implements UIHandler { =20 + private JXPathDecorator decorator; + @Override public void beforeInit(FilterableDoubleListDemo ui) { - // nothing to do + + decorator =3D (JXPathDecorator) new DemoDecoratorProvider().= getDecoratorByType(People.class); + + FilterableDoubleListDemoModel model =3D new FilterableDoubleListDemo= Model(); + ui.setContextValue(model); + } =20 @Override public void afterInit(final FilterableDoubleListDemo ui) { + + FilterableDoubleList doubleList =3D ui.getDoubleList(); + doubleList.setFilterable(true); + DemoDataProvider demoDataProvider =3D new DemoDataProvider(); List data =3D demoDataProvider.getPeoples(); - JXPathDecorator decorator =3D (JXPathDecorator) new = DemoDecoratorProvider().getDecoratorByType(People.class); =20 + doubleList.init(decorator, data, null); =20 - FilterableDoubleList doubleList =3D ui.getDoubleList(); - doubleList.setFilterable(true); - =20 - doubleList.init(decorator, data, data.subList(0, 1)); + ui.getModel().setSelected(data.subList(0, 1)); =20 - final Movie nacho =3D demoDataProvider.getMovie("0"); - final Predicate filter =3D new Predicate() { + } =20 - public boolean apply(People input) { - return nacho.getActors().contains(input); - } - }; - ui.getFilterOnNachoButton().addChangeListener(new ChangeListener() { + public String updateResultText(List selected) { + + StringBuilder builder =3D new StringBuilder(); + if (selected =3D=3D null || selected.isEmpty()) { + + builder.append(t("jaxxdemo.beandoublelistdemo.noselected")); + + } else { + + builder.append(t("jaxxdemo.beandoublelistdemo.selected")); + builder.append("
    "); =20 - public void stateChanged(ChangeEvent e) { - if (ui.getFilterOnNachoButton().isSelected()) { - ui.getDoubleList().getHandler().addFilter(filter); + for (People people : selected) { + + String peopleStr =3D decorator.toString(people); + builder.append("
  • "); + builder.append(peopleStr); + builder.append("
  • "); =20 - } else { - ui.getDoubleList().getHandler().clearFilters(); - } } - }); + + builder.append("
"); + + } + + return builder.toString(); + } } \ No newline at end of file diff --git a/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/Filterab= leDoubleListDemoModel.java b/jaxx-demo/src/main/java/jaxx/demo/component/jaxx= /editor/FilterableDoubleListDemoModel.java new file mode 100644 index 0000000..83ae669 --- /dev/null +++ b/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/FilterableDoubl= eListDemoModel.java @@ -0,0 +1,30 @@ +package jaxx.demo.component.jaxx.editor; + +import jaxx.demo.entities.People; +import org.jdesktop.beans.AbstractSerializableBean; + +import java.util.List; + +/** + * Created on 11/28/14. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 2.18 + */ +public class FilterableDoubleListDemoModel extends AbstractSerializableBean { + + private static final long serialVersionUID =3D 1L; + + public static final String PROPERTY_SELECTED =3D "selected"; + + List selected; + + public List getSelected() { + return selected; + } + + public void setSelected(List selected) { + this.selected =3D selected; + firePropertyChange(PROPERTY_SELECTED, null, selected); + } +} diff --git a/jaxx-demo/src/main/resources/i18n/jaxx-demo_en_GB.properties b/j= axx-demo/src/main/resources/i18n/jaxx-demo_en_GB.properties index 24b70f7..3eed192 100644 --- a/jaxx-demo/src/main/resources/i18n/jaxx-demo_en_GB.properties +++ b/jaxx-demo/src/main/resources/i18n/jaxx-demo_en_GB.properties @@ -188,6 +188,8 @@ jaxxdemo.beandoublelistdemo.configuration=3DConfiguration jaxxdemo.beandoublelistdemo.filterOnNacho=3DShow only the actors playing in = Nacho Libre jaxxdemo.beandoublelistdemo.filterable=3DFilterable jaxxdemo.beandoublelistdemo.highlightFilterText=3DHighlight the filter text +jaxxdemo.beandoublelistdemo.noselected=3D +jaxxdemo.beandoublelistdemo.selected=3D jaxxdemo.beandoublelistdemo.showDecorator=3DShow decorator button jaxxdemo.beandoublelistdemo.showReset=3DShow Reset button jaxxdemo.beanfilterablecomboboxdemo.colorizeInvalidComboEditorText=3DColoriz= e the text if it not valid diff --git a/jaxx-demo/src/main/resources/i18n/jaxx-demo_es_ES.properties b/j= axx-demo/src/main/resources/i18n/jaxx-demo_es_ES.properties index 7d88871..3ff807e 100644 --- a/jaxx-demo/src/main/resources/i18n/jaxx-demo_es_ES.properties +++ b/jaxx-demo/src/main/resources/i18n/jaxx-demo_es_ES.properties @@ -188,6 +188,8 @@ jaxxdemo.beandoublelistdemo.configuration=3D jaxxdemo.beandoublelistdemo.filterOnNacho=3D jaxxdemo.beandoublelistdemo.filterable=3D jaxxdemo.beandoublelistdemo.highlightFilterText=3D +jaxxdemo.beandoublelistdemo.noselected=3D +jaxxdemo.beandoublelistdemo.selected=3D jaxxdemo.beandoublelistdemo.showDecorator=3D jaxxdemo.beandoublelistdemo.showReset=3D jaxxdemo.beanfilterablecomboboxdemo.colorizeInvalidComboEditorText=3D diff --git a/jaxx-demo/src/main/resources/i18n/jaxx-demo_fr_FR.properties b/j= axx-demo/src/main/resources/i18n/jaxx-demo_fr_FR.properties index 7911f68..6da2d4f 100644 --- a/jaxx-demo/src/main/resources/i18n/jaxx-demo_fr_FR.properties +++ b/jaxx-demo/src/main/resources/i18n/jaxx-demo_fr_FR.properties @@ -188,6 +188,8 @@ jaxxdemo.beandoublelistdemo.configuration=3DConfiguration jaxxdemo.beandoublelistdemo.filterOnNacho=3DN'afficher que les acteurs de Na= cho Libre jaxxdemo.beandoublelistdemo.filterable=3DFiltrable jaxxdemo.beandoublelistdemo.highlightFilterText=3DSurligner le texte de filt= re +jaxxdemo.beandoublelistdemo.noselected=3D< Aucune s=C3=A9lection > +jaxxdemo.beandoublelistdemo.selected=3DS=C3=A9lection\: jaxxdemo.beandoublelistdemo.showDecorator=3DChanger la d=C3=A9coration jaxxdemo.beandoublelistdemo.showReset=3DPouvoir r=C3=A9initialiser le filtre jaxxdemo.beanfilterablecomboboxdemo.colorizeInvalidComboEditorText=3DColorer= le texte s'il n'est pas valide diff --git a/jaxx-widgets/src/main/java/org/nuiton/jaxx/widgets/editor/bean/F= ilterableDoubleListModel.java b/jaxx-widgets/src/main/java/org/nuiton/jaxx/wi= dgets/editor/bean/FilterableDoubleListModel.java index 0711b1c..7440ccc 100644 --- a/jaxx-widgets/src/main/java/org/nuiton/jaxx/widgets/editor/bean/Filterab= leDoubleListModel.java +++ b/jaxx-widgets/src/main/java/org/nuiton/jaxx/widgets/editor/bean/Filterab= leDoubleListModel.java @@ -235,9 +235,11 @@ public class FilterableDoubleListModel extends AbstractS * @param item the selected item */ public void moveUpSelected(O item) { + int i =3D selectedModel.indexOf(item); selectedModel.removeElement(item); selectedModel.insertElementAt(item, i - 1); + } =20 /** --=20 To stop receiving notification emails like this one, please contact nuiton.org SCM administrator . --===============2702757041508285156==-- From scm@users.nuiton.org Fri Nov 28 12:38:27 2014 From: "nuiton.org scm" To: jaxx-commits@list.nuiton.org Subject: [Jaxx-commits] branch develop updated (f534abd -> 9a8bdfd) Date: Fri, 28 Nov 2014 12:38:25 +0000 Message-ID: <20141128123825.10554.80306@bihar.codelutin.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6957797061808793270==" --===============6957797061808793270== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable This is an automated email from the git hooks/post-receive script. New change to branch develop in repository jaxx. See http://git.nuiton.org/jaxx.git from f534abd refs-90 #3580: Introduce a new FilterableDoubleList wid= get new 9a8bdfd fixes #3580: Introduce a new FilterableDoubleList widget The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 9a8bdfdcee261c2e3ccf340c74fa1b45a6ef7767 Author: Tony CHEMIT Date: Fri Nov 28 13:38:20 2014 +0100 fixes #3580: Introduce a new FilterableDoubleList widget Summary of changes: .../jaxx/editor/FilterableDoubleListDemo.css | 15 +++-- .../jaxx/editor/FilterableDoubleListDemo.jaxx | 10 +++- .../editor/FilterableDoubleListDemoHandler.java | 65 ++++++++++++++------= -- .../jaxx/editor/FilterableDoubleListDemoModel.java | 30 ++++++++++ .../main/resources/i18n/jaxx-demo_en_GB.properties | 2 + .../main/resources/i18n/jaxx-demo_es_ES.properties | 2 + .../main/resources/i18n/jaxx-demo_fr_FR.properties | 2 + .../editor/bean/FilterableDoubleListModel.java | 2 + 8 files changed, 97 insertions(+), 31 deletions(-) create mode 100644 jaxx-demo/src/main/java/jaxx/demo/component/jaxx/editor/F= ilterableDoubleListDemoModel.java --=20 To stop receiving notification emails like this one, please contact nuiton.org SCM administrator . --===============6957797061808793270==--